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/