Move GPLv2 vs v3 fun... Rob Landley rob at landley.net Fri Sep 8 17:52:54 UTC 2006 So I'm looking at the patch attached to bug 999, and guess what I notice? The current license on our grep.c is GPLv2 only. Now this one appears to have been a mistake on Bernhard's part back in http://busybox.net/downloads/patches/svn-11594.patch (the previous version was "or later" and I don't think he meant to drop the dual license) but it got me looking for other similar instances in the code: find . -name "*.?" | xargs egrep -i "GPLv2|GPL v2" | grep -v "or later" [chopped scripts/config/*] ./archival/libunarchive/get_header_tar_lzma.c: * Licensed under GPL v2, see file LICENSE in this tarball for details. ./archival/unlzma.c: * Licensed under GPL v2, see file LICENSE in this tarball for details. ./modutils/insmod.c: "GPL v2", ./debianutils/which.c: * Licensed under the GPL v2, see the file LICENSE in this tarball. ./debianutils/readlink.c: * Licensed under GPL v2, see file LICENSE in this tarball for details. ./debianutils/run_parts.c: * Licensed under GPL v2, see file LICENSE in this tarball for details. ./coreutils/seq.c: * Licensed under the GPL v2, see the file LICENSE in this tarball. ./coreutils/sum.c: * Licensed under the GPL v2, see the file LICENSE in this tarball. ./libbb/bb_do_delay.c: * Licensed under the GPL v2, see the file LICENSE in this tarball. ./libbb/llist.c: * Licensed under the GPL v2, see the file LICENSE in this tarball. ./libbb/find_pid_by_name.c: * Licensed under the GPL v2, see the file LICENSE in this tarball. ./libbb/bb_pwd.c: * Licensed under the GPL v2, see the file LICENSE in this tarball. ./loginutils/su.c: * Licensed under the GPL v2, see the file LICENSE in this tarball. ./findutils/grep.c: * Licensed under the GPL v2, see the file LICENSE in this tarball. ./procps/pidof.c: * Licensed under the GPL v2, see the file LICENSE in this tarball. ./procps/ps.c: * Licensed under the GPL v2, see the file LICENSE in this tarball. ./util-linux/swaponoff.c: * Licensed under the GPL v2, see the file LICENSE in this tarball. Anybody feel like auditing all those to make sure it was unintentional and check to make sure that nobody that's contributed to any of those files since is unwilling to also have their code under v3, or should we just admit that the BusyBox license is GPLv2 only? (In which case we can take the hotplug patch...) Thoughts? Rob -- Never bet against the cheap plastic solution.
Move GPLv2 vs v3 fun... Aurelien Jacobs aurel at gnuage.org Fri Sep 8 23:04:42 UTC 2006 On Fri, 8 Sep 2006 13:52:54 -0400 Rob Landley <rob at landley.net> wrote: > So I'm looking at the patch attached to bug 999, and guess what I notice? The > current license on our grep.c is GPLv2 only. > > Now this one appears to have been a mistake on Bernhard's part back in > http://busybox.net/downloads/patches/svn-11594.patch (the previous version > was "or later" and I don't think he meant to drop the dual license) but it > got me looking for other similar instances in the code: > > find . -name "*.?" | xargs egrep -i "GPLv2|GPL v2" | grep -v "or later" > [chopped scripts/config/*] > ./archival/libunarchive/get_header_tar_lzma.c: * Licensed under GPL v2, see > file LICENSE in this tarball for details. > ./archival/unlzma.c: * Licensed under GPL v2, see file LICENSE in this tarball > for details. I wrote this code and IIRC the license notice there was simply copy/pasted from another bb file to fit your small boiler plate format (vs. the longer classical notice I put there initially). My intent was really GPLv2 or latter. Since then there was small fix in unlzma.c from landley and vda. If they don't mind, I would prefer seeing a "or latter" added to those files. > or should we just admit that the BusyBox license is GPLv2 only? I don't understand very well your reflexion about GPL. - You dislike GPLv3 because it reduce some liberties - You propose to remove the "or latter", IOW to remove a liberty Isn't there a contradiction ? Or did I misunderstood your position ? Aurel
Move GPLv2 vs v3 fun... Rob Landley rob at landley.net Sat Sep 9 23:49:58 UTC 2006 On Friday 08 September 2006 7:04 pm, Aurelien Jacobs wrote: > > or should we just admit that the BusyBox license is GPLv2 only? > > I don't understand very well your reflexion about GPL. > - You dislike GPLv3 because it reduce some liberties > - You propose to remove the "or latter", IOW to remove a liberty > Isn't there a contradiction ? Or did I misunderstood your position ? Don't invent a straw man argument please. I consider licensing BusyBox under GPLv3 to be useless, unnecessary, overcomplicated, and confusing, and in addition to that it has actual downsides. 1) Useless: We're never dropping GPLv2. Therefore, nobody can enforce any of the new clauses of the GPLv3 on busybox code because people can continue to use it under the terms of GPLv2 which don't require them. So the new license is unenforceable on BusyBox code anyway, all it could possibly do to BusyBox is relax the terms, not tighten them. 2) Unnecessary: There's nothing wrong with GPLv2 that I'm aware of, and if something did crop up the Linux kernel would be screwed and that's big enough business for some large corporate entities to lobby to change the law to unscrew it. GPLv2 is 15 years old and it's been scrutinized by everybody from Microsoft to SCO. What reason is there for replacing it other than a cry for attention on the part of Richard Stallman? What exactly was wrong with GPLv2? 3) Overcomplicated: I'm not talking about the text of GPLv3, I'm talking about why would BusyBox need two licenses? We've been under GPLv2 all this time, that's the ONLY license we've ever had, and I'd like it to _stay_ the only license. I dowanna add unnecessary complexity to the project's licensing any more than I want to add unnecessary complexity to the project's code. 4) Unmotivated: Our current dual license was at first an afterthought, and is now an inconvenience. The GPLv3 did not _exist_ when BusyBox first shipped (and technically still doesn't), we just used the standard GPLv2 boilerplate which had the "or later" in it. This is not something we ever put any effort into, or placed any value on. It was a purely theoretical issue up until the FSF decided it had to do something to regain relevance. The "or later" clause is something I am now having to put effort into preserving and policing, and I really don't see any benefit from doing so. 5) Confusing: I hate having to point out the need for an "or later" clause to people when it's absent. Right now they can license code GPLv2 or "GPLv2 or later", and it's a subtle enough distinction that I keep having to point it out and ask "can we get an 'or later'" and it annoys me. GPLv2 and GPLv3 are clearly two different licenses, GPLv2 or later is a vague implicit dual license that's way too easily overlooked, and probably has been in the past. We didn't track this closely back when it was a purely theoretical issue, it's quite possible we sucked code from GPLv2-only projects, since at the time we just checked that it _was_ GPLv2. (We know we took some code from the Linux kernel, for example. The question is how much and where. You wanna do the audit?) I really like having the same license as the Linux kernel, and being able to take code from the Linux kernel without asking questions. I hate having to ask questions BEYOND "Is this code licensed under GPLv2?", and I really hate having to explain to people why GPLv2 isn't good enough to merge a patch. 6) Costly: To preserve the "or later" we can't use GPLv2 only code, which exists today. We had to pass on the diethotplug patch already. We're bending things a bit to continue to use the kernel's menuconfig. (Is it, or is it not part of the BusyBox source code? It's GPLv2 only.) Or how about the section of the kernel header files we sucked into libbb/loop.c? (That might or might not be scenes a' faire.) This is not going to improve with time. 7) Divisive: GPLv2 and GPLv3 aren't compatible, and BusyBox's current dual license is quite compatible with either of them. Although we can' donate code to projects under either license, we can't TAKE code from projects under any of those licenses. This means that the only people who might possibly benefit from our code being dual licensed those who want to suck BusyBox code into other GPLv3-only projects. (Not use us as a package, but use code snippets, or bolt our applets onto other things.) Except that if they do that, we can't take patches back from them. If they glue a GPLv3-only applet onto BusyBox, they can only distribute that modified version of BusyBox under GPLv3 only. We can't take that applet back into the the main BusyBox distro any more than we can currently take Greg's diethotplug code. I.E. the dual license encourages people to fork the project, in such a way that even if we get their code back, we can't integrate it. The only possible "benefit" of the dual license is making such a fork possible. Today there's 15 years worth of code under GPLv2, and not a line of code under GPLv3. I see absolutely no benefit from BusyBox being dual licensed under a license that doesn't even exist yet, a number of real and potential downsides, and I expect that the situation will only get worse as time goes on, because their are two possible scenarios: A) GPLv3 is successful. We get more GPLv3 only code submissions, greater amount of code we can't use because it isn't dual licensed under GPLv2. B) GPLv3 fails. We get more GPLv2 only submissions, which again we can't use. Everybody complained about the CDDL being pointless and divisive, but somehow they think the "or later" clause was universally adopted and thus this doesn't apply to GPLv3. Apparently they weren't paying attention when Linus Torvalds made it clear SIX YEARS ago that the "or later" clause had never applied to the Linux kernel in the first place: http://www.uwsg.iu.edu/hypermail/linux/kernel/0009.1/0096.html. And this is a very clear explicit statement which predates the current GPLv3 effort by a number of years. They were hoping to browbeat him into changing his mind (despite the fact he's not the only copyright holder to the kernel, as he himself made clear when the browbeating started: http://lwn.net/Articles/169825/ ). The FSF has also been trying to browbeat other projects that haven't got an "or later" clause into adding one: http://lwn.net/Articles/176582/ And so far, the response has been a resounding "meh", with wait and see being as positive as it gets. GPLv2 is not going away. There's no reason for it to. So what exactly is the purpose of GPLv3? Rob -- Never bet against the cheap plastic solution.
Please tone down the GPL3 paranoia Bruce Perens bruce at perens.com Wed Sep 13 22:29:20 UTC 2006 Folks, I think it would be supportive of the rest of the free software community to tone down the GPL3 paranoia until there is a GPL3. When I created Busybox, the policy was that it could be distributed under the GPL. There was no restriction to prevent future versions of the GPL. Over time, my work has been submerged in that of other authors. But IMO it would be respectful of the original author to continue to use those license terms. Later on, when there is a GPL3, you may decide not to accept GPL3-/only/ submissions to this project's source code repository so that the GPL2 can continue to be applied to the entire project. But I hope that when that time comes, you will remember that much of the success of this package can be attributed to the use of a strong share-and-share-alike license rather than a license that would have allowed improvements to the package to be locked down in some way. Thanks Bruce
Please tone down the GPL3 paranoia Rob Landley rob at landley.net Thu Sep 14 02:48:15 UTC 2006 On Wednesday 13 September 2006 6:29 pm, Bruce Perens wrote: > Folks, > > I think it would be supportive of the rest of the free software > community to tone down the GPL3 paranoia until there is a GPL3. Would you prefer I just make an executive decision without so much public discussion? I've always identified with the open source community myself: http://news.com.com/Open-source+board+eyes+fewer+licenses/2100-7344_3-5578799.html http://www.infoworld.com/article/05/03/04/10OPopenent_1.html http://linux.about.com/b/a/256777.htm > When I created Busybox, the policy was that it could be distributed > under the GPL. I have neither the inclination nor the ability to change that policy. > There was no restriction to prevent future versions of > the GPL. No future versions of the GPL existed yet. Why is chosing a specific license for the project a "restriction"? If I'm writing new code and licensing it GPLv2, merging it with existing code that can also be licensed under GPLv2, packaging it, and releasing tarballs... Where's the downside? Is it a "restriction" to _not_ release code under other licenses? Is it a restriction if I've not chosen to license my contributions under BSD/MIT, or place it in the public domain? I'm not making old versions go away. The existing versions of BusyBox still remain, licensed "or later" up through (and including) 1.2.x. Those licenses can't be revoked, the code has already been published under them without a revocation clause. If somebody wants to start a GPLv3-only fork based off of that, more power to 'em. I'm not taking that ability away from anybody. I can't. And it doesn't take any special privileges to drop all but one license of a multi-licensed project. It happens all the time: http://www.openoffice.org/FAQs/license-change.html As an individual developer, I could fork the project and create new versions, and as with all dual licenses I could choose only one for the new version. I could create a GPLv2-only or GPLv3-only version, without being maintainer of the existing one. If my patches were only under one of the dual licenses, then that's the only license the resulting tarball could be distributed under. The existing versions will remain under the licenses they were released under. That's a fact. However, I'm the guy putting out new versions. I only maintain the new versions that I put out. (And there's nothing special about that, anybody who wants to put in the shoveling can do so. That's the nice thing about the GPL.) I'm talking about the license on those new versions. I don't have the authority to add licenses, but anyone who packages a tarball can drop one. You only need one to be able to distribute the result. > Over time, my work has been submerged in that of other authors. > But IMO it would be respectful of the original author to continue to use > those license terms. I am taking that into consideration, and it's definitely a factor in why I've been mulling the decision over for so long. That said, you're asking me to license new code I'm writing under a license that didn't exist either under your tenure as maintainer, or under the tenure of the maintainer after you. I hope you can also respect the desires of the current maintainer of a project you haven't touched in six years. Since you left the project sucked in "advertising clause" BSD code, code with no attribution, and code from the Linux kernel (a project that is already GPLv2 only). One of my first acts as maintainer was to track down and engage legal representation to actually enforce the license. The subject of whether or not to keep the dual licensing clause came up while policing our licensing and attribution. There's real work happening here. > Later on, when there is a GPL3, you may decide not to accept GPL3-/only/ > submissions to this project's source code repository so that the GPL2 > can continue to be applied to the entire project. We will never accept GPLv3-only patches into the project. That was never even considered. We are never abandoning GPLv2 (no matter what GPLv3 turns out to be) because we can't and shouldn't, but mostly because there is no reason to. There's nothing wrong with GPLv2, and if there was it would be wrong with the Linux kernel, a project at the center of a multi-billion dollar industry with the resources to lobby for changes in the law to protect itself. You seem to be suggesting it would be acceptable to simplify the project's license to GPLv3 only, but not to GPLv2 only. When the project has practically speaking been GPLv2 only for its entire history because GPLv3 didn't exist yet, with no guarantee it ever would. I disagree. Abandoning GPLv2 would be morally wrong, and betray our users' trust. The only license terms under which anyone has ever been able to copy and distribute any version of BusyBox ever released is GPL version 2. The "or later" has been purely theoretical up to this point, because no such license exists. Moving to an only slightly more restrictive license for an established project is what XFree86 did, and look where that got them. Abandoning GPLv2 would also cause practical problems for BusyBox, because we'd be under a different license than the Linux kernel, and probably couldn't continue to use the Linux kernel's build infrastructure. I strongly suspect we have used kernel source without properly tracking it. (I actually know of an instance off the top of my head, loop.c, but might be able to legally defend that one as fair use if necessary.) Not a line of code has ever shipped under GPLv3. Infrastructure was put in place way back to potentially support it some day, but this was purely theoretical because this new license did not exist. Now that the license is under development, the question has been raised as to whether or not it's worth the effort to maintain a real dual license on the project. This dual license has costs (we first noticed it blocking diethotplug), and has no benefits that I am aware of. > But I hope that when > that time comes, you will remember that much of the success of this > package can be attributed to the use of a strong share-and-share-alike > license Yes, the GPLv2. The same one that's on the Linux kernel. I'd like to stay with that license. I like it. What's wrong with GPLv2? It strikes an excellent balance that's lasted 15 years already. It's been a stable social contract the entire time I've been using Linux. Everything up to this point has had NOTHING to do with the contents of GPLv3. > rather than a license that would have allowed improvements to > the package to be locked down in some way. You're implying GPLv2 would allow this? "Locked down in some way" could simply mean that I don't give you root access to a server running BusyBox just because I give you an account on that server. (If my account is to play World of Warcraft on Blizzard's servers, I'm ok with not having root access, even if they use BusyBox. I want their source code back. That's all GPLv2 ever asked for.) I realize that Richard Stallman resisted putting a password on his internet account for years, but that's not the world I live in. Nobody's ever told me what's actually wrong with GPLv2. It's not forbidding device manufacturers from burning BusyBox into ROM, and for BusyBox it's GOOD that it doesn't forbid this. (Hello, what do you think goes _in_ romfs?) Yes, it is not upgradeable if you do that, yes doing that prevents you from running arbitrary new code on the box, but in the embedded world it's an important option to have. In such a case, I cannot run arbitrary code on that device without a soldering iron, and I'm ok with this. GPLv3 is (at least in its goals) not ok with this. (Or if it is, then what's wrong with the Xbox DRM? If people want to manufacture a STUPID device, fine. I just want to get back changes to the source code. That's all I ever asked for, under GPLv2.) I don't personally care that an unmodified Xbox doesn't let me run arbitrary code on it. GPLv2 never asked for access to hardware, what it asked for was the source code to modified versions. If they're doing something I didn't ask about, I'm fine with this. I'm somewhat unhappy that the FSF quoting Darth Vader to my project's users: "I am altering the bargain, pray I don't alter it any further." The FSF may think it has excellent reasons for doing so, but you thought Sun was being divisive with CDDL: http://developers.slashdot.org/comments.pl?sid=137327&cid=11480318 And I think the FSF is being divisive with GPLv3, whether it means to or not. And again, we're back to an argument that have nothing to do with the contents of GPLv3. You wonder why waiting for the final text is losing its appeal for me? It could cure cancer; it still wouldn't be compatible with the license the Linux kernel is under. As both an ethical and a practical matter, the versions of BusyBox I put out cannot leave GPLv2 behind, and if I don't drop that then the extra restrictions of GPLv3 are a moot point anyway. They're unenforceable. So why spend effort maintaining them? Any project that requires GPLv3 only in order to use our code is one that we can't accept code back from. That's just silly. > Thanks Thanks for expressing your viewpoint. I disagree with it. > Bruce Rob -- Never bet against the cheap plastic solution.
Please tone down the GPL3 paranoia Bruce Perens bruce at perens.com Thu Sep 14 20:53:02 UTC 2006 Rob Landley wrote: > Would you prefer I just make an executive decision without so much public > discussion? > No. I would prefer that everyone refrain from closing out avenues regarding GPL3 while GPL3 does not yet exist, due to some possibly-incorrect perception of what GPL3 will include. >> There was no restriction to prevent future versions of the GPL. >> > > No future versions of the GPL existed yet. > A long time ago, FSF changed its physical mail address and that caused a revision of the GPL. The language "or any later version" has been a standard part of GPL license grants since at least that long ago. Also, FSF and other folks in our community have always been aware that changes in the law could cause a sudden and unexpected need for a change in the GPL in order for software covered under the GPL to continue to offer the expected freedoms. > Why is chosing a specific license for the project a "restriction"? I think the most important reason is that by doing so, you are making it much more difficult to repair the license if at some future date the law and the license become incompatible with each other. For example, a number of significant contributors to free software have died. Their estates probably have no idea how to handle requests to relicense their copyrighted property. You can publish a license change for objection and hope that's enough, but you can't get an unambiguous answer. > And it doesn't take any special privileges to drop all but one license of a > multi-licensed project. It happens all the time: > http://www.openoffice.org/FAQs/license-change.html > This is a bad example. Unlike the busybox project, Sun demands copyright assignment before it accepts contributions to their own source tree. So, they have a right to make unilateral license changes without asking anyone. > As an individual developer, I could fork the project and create new versions Uh-huh. As you know, there's a big difference between individual developers and project leaders. > We will never accept GPLv3-only patches into the project. I can think of some cases where you might have to positively abandon GPL2 in response to some legislative or court action. > There's nothing wrong with GPLv2, and if there was it would be wrong with the > Linux kernel, a project at the center of a multi-billion dollar industry with > the resources to lobby for changes in the law to protect itself. > This is an entirely different argument, but if you are talking about OSDL's patent project, you should be aware that their membership would not allow them to lobby for fundamental changes in patent law, and limited them to patent "quality" initiatives that have so far seen no fruit. I've been part of the meetings. > You seem to be suggesting it would be acceptable to simplify the project's > license to GPLv3 only, but not to GPLv2 only.\ I think you need to leave the option to progress to GPL3 only for a future in which GPL2 may no longer be viable because major license circumventions are found acceptable by some court and thus gain the strength of law. I am saying that you should not close out your options in case that happens. > What's wrong with GPLv2? It strikes an excellent balance that's lasted 15 > years already. It's been a stable social contract the entire time I've been > using Linux. > When the GPL was drafted, dynamic linking was not in common use. There were no ASPs. Both of these represent oft-used loopholes. There had been no cases like Nintendo v. Goloob or Specht v. Netscape, either of which might be used as precedent to weaken the GPL in a later case. >> rather than a license that would have allowed improvements to >> the package to be locked down in some way. >> > > You're implying GPLv2 would allow this? > Well, there is the DRM issue. Do you really want unmodifiable signed busybox binaries that circumvent your GPL-granted right to modify the software within hardware that you own? Linus says yes. I'm not sure you should agree. > you thought Sun was being divisive with CDDL: > http://developers.slashdot.org/comments.pl?sid=137327&cid=11480318 > CDDL was written for deliberate GPL incompatibility, indeed I still believe that to be its primary aim. A major goal in the drafting of GPL3 is compatibility with legacy GPL2 code. Thanks Bruce
Please tone down the GPL3 paranoia Rob Landley rob at landley.net Thu Sep 14 22:41:44 UTC 2006 On Thursday 14 September 2006 4:53 pm, Bruce Perens wrote: > > We will never accept GPLv3-only patches into the project. > I can think of some cases where you might have to positively abandon > GPL2 in response to some legislative or court action. In which case the Linux kernel would have to abandon GPLv2. Now which is more likely to be able to legally defend itself: a multi-billion dollar industry, or a boston foundation? > > There's nothing wrong with GPLv2, and if there was it would be wrong with the > > Linux kernel, a project at the center of a multi-billion dollar industry with > > the resources to lobby for changes in the law to protect itself. > > > This is an entirely different argument, but if you are talking about > OSDL's patent project, No, I was talking about IBM, HP, SGI, Sony, Toshiba, Samsung... > > You seem to be suggesting it would be acceptable to simplify the project's > > license to GPLv3 only, but not to GPLv2 only.\ > I think you need to leave the option to progress to GPL3 It is. For versions 1.2.2 and earlier. I'm under no obligation to write new code under GPLv3, and I don't plan on it. Several GPLv2 only applets have been proposed for inclusion in busybox (and a quick check found that some of the ones already in the tree are only usable under GPLv2 only). If you merge GPLv2 only code with GPLv2 or later code, you get GPLv2 only code. The "or later" is in the suggested permission grant, which is not required. The license says "end of terms and conditions", and that's where the actual license ends. > only for a > future in which GPL2 may no longer be viable because major license > circumventions are found acceptable by some court and thus gain the > strength of law. And you're calling _me_ paranoid? (Yes you did, check the title.) Entities like SCO and Microsoft have spent a lot of time, effort and money trying to make exactly that happen, and have had 15 years to do it in. But if it did happen, it would affect the Linux kernel, which is the foundation of a multi-billion dollar industry that is quite capable of lobbying for changes in the law to actually _fix_ whatever went wrong. If the question is "Who do I trust the judgement of more, the Linux kernel developers or the FSF", it's not even a close call. > I am saying that you should not close out your options > in case that happens. Requiring "or later" on incoming patches, and rewriting ones that haven't got it, has a maintenance burden. Since the Linux kernel developers tend to write code we're interested in (and write it under GPlv2 only), this is not a theoretical problem but a real, existing problem. This real maintenance burden is balanced against a hedge for a purely theoretical problem which has had almost half my life to manifest. > > What's wrong with GPLv2? It strikes an excellent balance that's lasted 15 > > years already. It's been a stable social contract the entire time I've been > > using Linux. > > > When the GPL was drafted, dynamic linking was not in common use. And hence the LGPL was created. It's a good thing. The FSF tried to deprecate the LGPL, calling it the "Lesser" license. I didn't like that. > There > were no ASPs. Both of these represent oft-used loopholes. There had been > no cases like Nintendo v. Goloob or Specht v. Netscape, either of which > might be used as precedent to weaken the GPL in a later case. Global warming is risk. Oil production peaking is risk. The possibility of a meteor strike is risk. The upcoming inversion of the planet's magnetic field occurring within our lifetimes and sending out repeated planetwide EMP is risk. Despite the universe being a dangerous place, I'm willing to live without a tinfoil hat. > >> rather than a license that would have allowed improvements to > >> the package to be locked down in some way. > >> > > > > You're implying GPLv2 would allow this? > > > Well, there is the DRM issue. Do you really want unmodifiable signed > busybox binaries that circumvent your GPL-granted right to modify the > software within hardware that you own? Want, no. Willing to live with? Yes. I want access to the source code. I never asked for the ability to install it on any given piece of hardware. If the hardware is not general purpose, then the hardware is not general purpose. I don't see how this is any different from burning busybox into ROM, which I have no problem with. If they burn it into ROM, I still want the changes they made to the source code. If I can't install unsigned binaries I still want the changes they made to the source code. That's all I ever asked for. > Linus says yes. I'm not sure you should agree. Whether or not I "should" agree, I've generally come to trust Linus's judgement. He's got an excellent track record. > > you thought Sun was being divisive with CDDL: > > http://developers.slashdot.org/comments.pl?sid=137327&cid=11480318 > > > CDDL was written for deliberate GPL incompatibility, indeed I still > believe that to be its primary aim. A major goal in the drafting of GPL3 > is compatibility with legacy GPL2 code. How? The new DRM provisions are a restriction that GPLv2 didn't require (no matter how you phrase them), so GPLv3 can't relicense GPLv2 code in the absence of the purely optional wording in the permission grant, which is not actually part of the license and was clearly not universally adopted or we wouldn't even be having this discussion. I did think about this a lot. I've been thinking (and talking) about it for months now. The timing of your message sucked: the _only_ thing I had left to do on this topic was ask Erik Andersen if he minded. I'd already asked the Software Freedom Law Center (what the license _is_ is irrelevant if we can't enforce it, they're the guys doing that for us) and they were still willing to represent us. I'd brought it up repeatedly on the list in case anyone could come up with a compelling counter-argument. I'd asked Greg Kroah-Hartmann to give us an "or later" on the diethotplug code (he explicitly declined). I'd done a quick audit of the BusyBox code to look for GPLv2-only code and I found a dozen files (many of them oversights over the years, but not all. And even the oversights have been accepted patches after shipping with a GPLv2 only permission grant.) I spent months on this, and a few hours before you posted your message I posted this (check the PS at the end): http://busybox.net/lists/busybox/2006-September/024397.html I.E. I'd already made the decision about what I wanted to do, the one thing I hadn't done was taken my arguments to the previous maintainer (Erik Andersen) to see whether or not he objected to this course of action. Erik Andersen made BusyBox what it is today. I spent almost three years contributing patches to the project he maintained, and I never actually tried to become maintainer (I was simply trying to handle some of the grunt work to give him more time to work on other parts of the project). I'd still give it back to him if he asked. If Erik had said "please do not do this", I would not have done it. I wasn't even comfortable not explicitly asking him "Do you mind?" The last time you touched this project, I'd never even heard of it. Before Erik took over, it wasn't even an independent project but a niche utility for the Debian boot disk. Erik took what you had lost interest in and turned it into a real project (presumably with your blessing since Erik was a debian developer, certainly with a lack of objection up until now). And then Erik handed it off to me. Have you ever even posted to this list before? Despite having already made my decision, and simply awaiting confirmation of it, I did stop to reconsider when I got your message. I stopped what I was doing, read your arguments, and thought through what you had to say. You seemed to believe it would be ok if I dropped GPLv2 and went to GPLv3 only. But you don't seem to think it's ok to drop GPLv3 and go with GPLv2 only. I do not consider that position internally consistent. This is aside from the fact that GPLv3 doesn't even exist yet and GPLv2 is the only actual license the project has ever been under. That doesn't matter: if it's morally ok to drop GPLv2 and go to GPLv3 at some point in the future, then it must be ok to drop GPLv3 and stick with GPLv2 now. And thus I stuck by my original decision. Thank you for expressing your opinion. I did take it into consideration. I disagree. > Thanks > > Bruce Rob -- Never bet against the cheap plastic solution.
Please tone down the GPL3 paranoia Bruce Perens bruce at perens.com Fri Sep 15 00:13:41 UTC 2006 Rob Landley wrote: > In which case the Linux kernel would have to abandon GPLv2. Now which is more > likely to be able to legally defend itself: a multi-billion dollar industry, > or a boston foundation? > An "industry" doesn't defend itself so much as individual companies do. This is evident with SCO - there is an SCO v. IBM lawsuit, there was an SCO v. Autozone lawsuit, and there is a Redhat v. SCO lawsuit that is on hold until the resolution of IBM v. SCO. In general any public stock company will make its highest priority their ability to continue to do business profitably, that's their fiduciary duty to their stockholders under securities law. To make this a more concrete statement, I do not trust HP, IBM, and OSDL's board to refrain from entering a settlement that would preserve their business and avoid further legal cost but would be to the disadvantage of Open Source / Free Software in general. That they have not done so yet in existing cases is not from altruism, but is driven by a strategy to deter further suits. In contrast, I trust FSF to fight to the death for your GPL rights and never compromise. And I am sure that they can find funding and pro-bono legal resources to do so. Aren't you taking advantage of those resources right now? > No, I was talking about IBM, HP, SGI, Sony, Toshiba, Samsung... > Rob, I spent a time in Europe fighting those very companies while they were lobbying for globaly-enforcible software patents that would likely have been used against us. W3C rules do not allow to tell you who I was fighnting when W3C had a draft policy that would have put software patents in web standards. Don't assume that those folks are willing to stand behind you. >> I think you need to leave the option to progress to GPL3 >> > > It is. For versions 1.2.2 and earlier. In other words, your GPL strategy is that you will discard all work that the project does from next week until whenever, if it is necessary to go to GPL3. This seems hollow. > The license says "end of terms and conditions", and that's where the actual license ends. > If you look at my own copyright grant in the file "LICENSE" of older busybox releases, it has my copyright statement at the top, and on the bottom of the file says "This program suite may be distributed under the GNU General Public License." You are changing those terms. This is regardless of the text of the GPL, which is a separate document from my copyright grant and was indeed not included in the tarball at that time. Now, you may attempt to prove that everything I've written has been filtered out over 6 years. But that would be your only excuse for changing the terms of my copyright grant without my permission. > >> only for a >> future in which GPL2 may no longer be viable because major license >> circumventions are found acceptable by some court and thus gain the >> strength of law. >> > > And you're calling _me_ paranoid? (Yes you did, check the title.) > We would not be developing GPL3 if there wasn't a problem with changes in the law and in software that potentially weaken GPL2. I've certainly seen people cite Nintendo v. Goloob as an excuse for their GPL violations on Busybox. > How? The new DRM provisions are a restriction that GPLv2 didn't require But surely would have, if DRM existed back then. The world is changing, the license has to keep up. > I did think about this a lot. I've been thinking (and talking) about it for > months now. The timing of your message sucked Well, it sucked that you never asked me. You have to know that I've spent a lot of time thinking about Open Source licensing policy. Bringing me in at the start of the discussion would have been a good idea. > The last time you touched this project, I'd never even heard of it. Before > Erik took over, it wasn't even an independent project but a niche utility for > the Debian boot disk. Busybox had an independent release on the system where most Linux utilities were distributed from when I created it: sunsite.unc.edu (now called iBiblio) and had Debian-independent users before Erik came along. Busybox it was released before the formation of Lineo and Monte Vista, before there was any commercial interest in embedded Linux. Lineo was an early embedded linux commercializer and Erik's employer. > Erik took what you had lost interest in Rather than lose interest, I finished the project and went on to other stuff, of which there has been more than enough. I was glad to see that Lineo was investing in the further development of Busybox. > Have you ever even posted to this list before? > There has been no need until now. Erik was doing fine and he and I corresponded directly when necessary. > But you don't seem to think it's ok to drop GPLv3 and go with GPLv2 only. I don't think it's necessary, and I think it's bad strategy. > I do not consider that position internally consistent. It seems that you are requiring my decision to be idempotent before you will consider it to be logically consistent. That's bad logic in that it rejects any possible reason for progress. > This is aside > from the fact that GPLv3 doesn't even exist yet and GPLv2 is the only actual > license the project has ever been under. That doesn't matter: if it's > morally ok to drop GPLv2 and go to GPLv3 at some point in the future, then it > must be ok to drop GPLv3 and stick with GPLv2 now. > > And thus I stuck by my original decision. > > Thank you for expressing your opinion. I did take it into consideration. I > disagree. > So, you're forcing my hand. You're forcing me to fork the project for software that I created. I'd rather this hadn't happened. Bruce
Please tone down the GPL3 paranoia Rob Landley rob at landley.net Fri Sep 15 07:58:34 UTC 2006 On Thursday 14 September 2006 8:13 pm, Bruce Perens wrote: > To make this a more concrete statement, I do not trust HP, IBM, and OSDL's > board to refrain from entering a settlement that would preserve their > business and avoid further legal cost but would be to the disadvantage of > Open Source / Free Software in general. Because when SCO tried to shake IBM down and IBM could have made SCO go away for less money than they spend on catering, IBM immediately caved rather than spending tens of millions of dollars making an example out of them. > That they have not done so yet in existing > cases is not from altruism, but is driven by a strategy to deter further > suits. I'm not expecting altruism. I'm expecting enlightened self-interest. I've been getting it from IBM. I haven't been getting it from the FSF. I've worked for IBM back on OS/2 and despite that I _still_ trust them more than I trust the FSF. > In contrast, I trust FSF to fight to the death for your GPL rights and > never compromise. Cool! By staying GPLv2, I hope to take advantage of this. Of course I wouldn't mind if the FSF stopped caring about GPLv2 projects after GPLv3 projects ship. It's only fair; the BusyBox list doesn't provide as much support for older releases once we've shipped new ones (after all, it's quite likely we already fixed whatever bug you're encountering if your version is old enough). Still, we don't pester people into upgrading from older versions. We still provide the old source tarballs in the downloads/legacy directory. If somebody wants to use 0.60 in a new project, that's their perogative. (We may disagree, but once we've expressed that disagreement we're happy to go our separate ways.) > And I am sure that they can find funding and pro-bono > legal resources to do so. Aren't you taking advantage of those resources > right now? Not that I'm aware of, no. (I asked the Software Freedom Law Center if they were willing to represent a GPLv2 only project. They said yes. I can ask them for permission to quote their response publicly, if you'd like.) > > No, I was talking about IBM, HP, SGI, Sony, Toshiba, Samsung... > > > Rob, I spent a time in Europe fighting those very companies while they > were lobbying for globaly-enforcible software patents that would likely > have been used against us. W3C rules do not allow to tell you who I was > fighnting when W3C had a draft policy that would have put software > patents in web standards. Don't assume that those folks are willing to > stand behind you. I'm not. I assume the Linux kernel developers have enough political capital stored up with them to convince them it's in their best interests to side with the kernel developers on matters of immediate and pressing concern. And I trust them to know what immediate and pressing concern really IS more than I trust the FSF. > >> I think you need to leave the option to progress to GPL3 > >> > > > > It is. For versions 1.2.2 and earlier. > In other words, your GPL strategy is that you will discard all work that > the project does from next week until whenever, if it is necessary to go > to GPL3. This seems hollow. My strategy is that if the Linux kernel goes GPLv3, I'll ask them how they managed it. And as long as the Linux kernel is under GPLv2, it is a viable license pretty much by definition. > > The license says "end of terms and conditions", and that's where the actual license ends. > > > If you look at my own copyright grant in the file "LICENSE" of older > busybox releases, it has my copyright statement at the top, and on the > bottom of the file says "This program suite may be distributed under the > GNU General Public License." You are changing those terms. This is > regardless of the text of the GPL, which is a separate document from my > copyright grant and was indeed not included in the tarball at that time. I have not removed any copyright statements from the code that I am aware of. (If I even trim in-file changelogs, I put them in the SVN commit comment for that change.) And I try to name each contributor of a patch in the changelog. I am _way_ more rigorous about licensing than anybody else on the list, which is how this whole topic started. Are you saying the GPLv2 is not a compatible license to "The GNU General Public License"? (A grant issued in 1999 when GPLv2 was the most recent version of the GNU General Public License?) Let's see, download the oldest version in the legacy directory (0.25)... mkswap Copyright 1991 Linus Torvalds That was GPLv2 only. Linus made clear in 2000 that he's never licensed any code under an "or later" permission grant to license code under GPLv3. So you're pointing out that three was tained back under your tenure. Wheee... And in fact none of this explictly says "or later". You didn't use the recommended boilerplate, your permission grant is vague and the _default_ reading would be the version of the license that was then current (I.E. GPLv2, only). At least we _bothered_ to say "or later". > Now, you may attempt to prove that everything I've written has been > filtered out over 6 years. But that would be your only excuse for > changing the terms of my copyright grant without my permission. Do you even understand the difference between copyright and licensing? In order to transfer a copyright you need a written instrument of conveyance. (That's why the FSF has that file folder full of papers with signatures on them.) A License is totally different, it's a permission statement giving _access_ to a copyright. One copyright can have multiple licenses, and you only NEED one valid license containing a compatible subset of the terms of the two licenses. Please, go talk to a lawyer before you embarass yourself further. Over the years I've worked with lawyers, worked for lawyers (they pay quite well), known lawyers socially, lived with a laywer for several months, and studied the law myself. I don't claim to be an expert but intellectual property is an area of special interest for me and I bothered to at least learn the basics. And I repeat, nobody's changing the license terms on old code. I'm saying that the new code I write, and the new code I merge, is GPLv2, and that GPLv2 is a license that has a compatible subset with "GPLv2 or later", and that compatible subset is the GPLv2. If I combine GPLv2 only code with GPLv2 or later code, the result can be distributed under the terms of GPLv2. Ask a lawyer. I did. > >> only for a > >> future in which GPL2 may no longer be viable because major license > >> circumventions are found acceptable by some court and thus gain the > >> strength of law. > >> > > > > And you're calling _me_ paranoid? (Yes you did, check the title.) > > > We would not be developing GPL3 if there wasn't a problem with changes > in the law and in software that potentially weaken GPL2. Potentially. > I've certainly > seen people cite Nintendo v. Goloob as an excuse for their GPL > violations on Busybox. And how many cases did you lose trying to enforce the license against them? > > How? The new DRM provisions are a restriction that GPLv2 didn't require > But surely would have, if DRM existed back then. The world is changing, > the license has to keep up. The old code can still be used under the terms of the GPLv2. If people found a legal way to use GPLv2 as if it were BSD, then they would still be able to use the old code that way. That includes every line of code you ever wrote back when you were a programmer. You're attempting to dictate to me how I should write _new_ code. I refuse. Go fork the project. I would REALLY have preferred to have this flamewar off-list, but you're the one who chose to turn a list you'd never posted on before into your soapbox, so... > Busybox had an independent release on the system where most Linux > utilities were distributed from when I created it: sunsite.unc.edu (now > called iBiblio) and had Debian-independent users before Erik came along. > Busybox it was released before the formation of Lineo and Monte Vista, > before there was any commercial interest in embedded Linux. Lineo was an > early embedded linux commercializer and Erik's employer. > > Erik took what you had lost interest in > Rather than lose interest, I finished the project and went on to other > stuff And you are welcome do dig up your old "finished" version and re-license it as GPLv3 any time you feel like it. > > Have you ever even posted to this list before? > > > There has been no need until now. Erik was doing fine and he and I > corresponded directly when necessary. Why didn't you email me off list to express your concerns? > > But you don't seem to think it's ok to drop GPLv3 and go with GPLv2 only. > I don't think it's necessary, and I think it's bad strategy. I disagree. > > I do not consider that position internally consistent. > It seems that you are requiring my decision to be idempotent before you > will consider it to be logically consistent. That's bad logic in that it > rejects any possible reason for progress. No, I'm talking about what's legally allowed, and what's morally allowed. (Things you seem to be combining here.) You're insisting that I'm allowed to drop GPLv2, but not allowed to drop GPLv3. This is different from whether or not I _should_. > > This is aside > > from the fact that GPLv3 doesn't even exist yet and GPLv2 is the only actual > > license the project has ever been under. That doesn't matter: if it's > > morally ok to drop GPLv2 and go to GPLv3 at some point in the future, then it > > must be ok to drop GPLv3 and stick with GPLv2 now. > > > > And thus I stuck by my original decision. > > > > Thank you for expressing your opinion. I did take it into consideration. I > > disagree. > > > So, you're forcing my hand. You're forcing me to fork the project for > software that I created. I'd rather this hadn't happened. Go for it. Rob -- Never bet against the cheap plastic solution.
Please tone down the GPL3 paranoia Bruce Perens bruce at perens.com Fri Sep 15 16:07:48 UTC 2006 Rob Landley wrote: > The old code can still be used under the terms of the GPLv2. Yes, you may still use my old contributions under the GPL2 or indeed any GPL license whatsoever. But I want to be extremely clear about this. I do not wish you to redesignate my old contributions to be licensable under GPL2 only, and am quite sure that you would be violating my rights to do so, even if you differ. Thus, I request and require that you add a notice to the license statement for busybox that portions of the program are copyrighted by me, and may be licensed under the GNU General Public License without regard to the particular version of that license. You must preserve that notice in all further releases. To the extent that you have made use of legal counsel, IMO you haven't asked them the right questions. Bruce
Please tone down the GPL3 paranoia Jason Schoon floydpink at gmail.com Fri Sep 15 16:30:24 UTC 2006 On 9/15/06, Bruce Perens <bruce at perens.com> wrote: > > Rob Landley wrote: > > The old code can still be used under the terms of the GPLv2. > Yes, you may still use my old contributions under the GPL2 or indeed any > GPL license whatsoever. But I want to be extremely clear about this. I > do not wish you to redesignate my old contributions to be licensable > under GPL2 only, and am quite sure that you would be violating my rights > to do so, even if you differ. I had to think about this a bit, but I believe Rob to be correct here (obligatory IANAL, but like Rob, have studied law a great deal over the years). The license itself (correct me if I am wrong, but I just visited http://www.fsf.org/licensing/licenses/info/GPLv2.html) does not state anything about later licenses. The "or later" clause is added by individuals who select that license. I think the key here is that it is "or later", not "and later". If it were the second, all users of the licensed code would be required to reuse it under v2 and all subsequent license versions. However, since it is an "or" instead, they can select any of those, and reuse and license it under any, include V2 only. Thus, I request and require that you add a notice to the license > statement for busybox that portions of the program are copyrighted by > me, and may be licensed under the GNU General Public License without > regard to the particular version of that license. You must preserve that > notice in all further releases. It seems to me here, that you are attempting to add additional restrictions to the license, that were not there to begin with. To the extent that you have made use of legal counsel, IMO you haven't > asked them the right questions. Perhaps. What questions should be asked instead, and to whom should they be presented? Bruce > _______________________________________________ > busybox mailing list > busybox at busybox.net > http://busybox.net/cgi-bin/mailman/listinfo/busybox >
Please tone down the GPL3 paranoia Bruce Perens bruce at perens.com Fri Sep 15 16:43:53 UTC 2006 Jason Schoon wrote: > The license itself (correct me if I am wrong, but I just visited > http://www.fsf.org/licensing/licenses/info/GPLv2.html) does not state > anything about later licenses. The "or later" clause is added by > individuals who select that license. I really don't want to clog up this list with a legal discussion. If you wish to follow up on this it might be best to call me at 510-526-1165. I have one call scheduled this morning, so if I don't answer, try later. To state it in short: the copyright holder's designation of the applicable license must have all of the legal force of the license text itself. Otherwise, there'd be no legal means to apply the license to the copyrighted material. Thanks Bruce
Copyright 2006 http://lists.busybox.net/pipermail/busybox/