|
|
Subscribe / Log in / New account

Relicensing: what's legal and what's right

This article brought to you by LWN subscribers

Subscribers to LWN.net made this article — and everything that surrounds it — possible. If you appreciate our content, please buy a subscription and make the next set of articles possible.

By Jonathan Corbet
September 4, 2007

The ath5k driver has been through more than the usual amount of legal trouble. This driver, for Atheros wireless chipsets, was originally reverse engineered and developed in the BSD community. It was reputed by some to have been improperly copied from proprietary Atheros code, requiring two different studies by the Software Freedom Legal Center before Linux developers were willing to believe that it was safe to use. This driver should be the cause of great joy - it will make it possible for vast numbers of laptop owners to run Linux with free drivers for the first time. But, first, there would appear to be one more set of legal hassles to overcome.

The latest trouble started when wireless developer Jiri Slaby posted a patch which stripped the ISC and BSD license notices from the source, replacing them with GPLv2 license text. It should be noted that this patch was not accepted into any repository anywhere and never became part of any exported Linux kernel tree. Nonetheless the BSD community exploded in a very public way. It is interesting to compare their public response to this posting with the sort of response they very loudly insisted was their due when they were found to have carried improperly relicensed GPL code in their repository for some time. That notwithstanding, it is worth taking the time to look at what has happened here.

The situation this time around is an interesting one. Much of the affected code was written by Reyk Floeter for OpenBSD and explicitly placed by him under a BSD-style license. The patch posted by Jiri Slaby stripped his license text; it was thus a clear violation of Reyk's license (which requires that the license text be preserved) and the wrong thing to do. This patch was never applied, and it will not be. There is no interest in the kernel community in violating anybody's license.

Much of the code, however, had been written earlier by Sam Leffler. He had used the BSD license, but had also included this text:

Alternatively, this software may be distributed under the terms of the GNU General Public License ("GPL") version 2 as published by the Free Software Foundation.

So, when this code was relicensed under GPLv2, that act was clearly carried out with the permission of the copyright holder. Mr. Leffler has since confirmed that this act was, by his intent, explicitly allowed. Nobody can complain about the legality of this particular change.

This did not stop OpenBSD leader Theo de Raadt from condemning the relicensing and calling it illegal:

It may seem that the licenses let one _distribute_ it under either license, but this interpretation of the license is false -- it is still illegal to break up, cut up, or modify someone else's legal document, and, it cannot be replaced by another license because it may not be removed. Hence, a dual licensed file always remains dual licensed, every time it is distributed.

How to square this statement with the clear notice saying that the code may be distributed under either license is left as an exercise for the reader. By this interpretation the BSD license becomes rather more viral than the GPL; it cannot be removed even when the copyright notice says otherwise. The BSD people are fine with their code being locked up and made completely proprietary, but it would seem that a GPLv2 relicensing, even when explicitly allowed by the copyright owner, is a different matter entirely.

The situation has since been resolved with this patch, which was prepared with the help of the Software Freedom Law Center. It is, perhaps, the only kernel patch ever to have been signed off by Bradley Kuhn. All of the required copyright attributions are now in place, and BSD-licensed code retains that license. Some of the additions made by Linux developers, however, remain under GPLv2, making the ath5k module, as a whole, a GPLv2-only product.

This solution should keep the lawyers happy, but certain members of the BSD community remain unimpressed. Quoting Theo de Raadt again:

When companies have taken our wireless device drivers, many many of them have given changes and fixes back. Some maybe didn't, but that is OK.

When Linux took our changes back, they immediately locked the door against changes moving back, by putting a GPL license on guard.

Why does our brother Linux take a file that is 90% BSD licensed, and refuse to let us see the 10% he adds?

It is a rare day in which Theo declares brotherhood with the Linux community. It may be tempting to dismiss this statement entirely, but, still, there is a point here. This code was obtained from developers who placed it under the BSD license; it was not written in the Linux community. There is something to be said for keeping it under a permissive license so that ongoing development can be shared between the Linux and BSD communities. Maintaining the license would be a neighborly (or even brotherly) thing to do, but it could also have immediate benefits in the form of shared maintenance and good will going forward.

In the end, distributing versions of the ath5k driver under GPLv2 (with the requisite copyright attributions maintained) is something which the Linux community is entitled to do. Anybody who does not like more restrictive conditions being applied to BSD-licensed code is well advised to avoid using the BSD license to begin with. But the legal ability to do something does not make that something the right course of action. Only the developers who have worked on the ath5k driver have the right to decide which license they will use, but it's worth saying that allowing the BSD community to make use of work done on the ath5k driver would be a friendly gesture and an acknowledgment of the value of the code we got from them. The benefits from such an act would likely outweigh any cost associated with allowing unwanted proprietary use of the code which has been added to this driver.


(Log in to post comments)

This is one of the rare occasions where I think Theo is right

Posted Sep 4, 2007 16:01 UTC (Tue) by JoeBuck (subscriber, #2330) [Link]

Now, in general I'm not impressed with the BSD folks' argument that, when a proprietary software company builds on BSD code and makes the result proprietary, everything is cool, but when GPL folks take BSD code and make it GPL, this is somehow a moral violation.

But this case is different. Regardless of which license you prefer, forking the driver so that fixes cannot be shared serves no one. It would best for all if the common core of the driver can be shared by the BSDs and by Linux, especially since it originated in BSD-land in the first place. The OS-specific portions (needed since the interface to a driver is different in BSD and Linux kernels) can go into separate files and headers, and each side can use the license they prefer.

In the past, the FSF has generally used a policy of cooperation with upstream; while there have been exceptions (and I'm sure that FSF opponents will quickly point them out) people working on the GPL side of the fence have for years contributed patches back using the original license, and this is generally a good idea.

This is one of the rare occasions where I think Theo is right

Posted Sep 4, 2007 16:06 UTC (Tue) by JoeBuck (subscriber, #2330) [Link]

I should amend my statement a bit: I don't agree with Theo's legal argument that, because the BSD notice can't be removed, it means that a given file must be dual-licensed forever. That argument would have interesting implications for, say, Microsoft; if any of their partners who've signed up for "shared source" get hold of a file that was originally BSD and later added Microsoft changes, Theo's saying that the recipient can distribute that file under BSD, even though Microsoft would strongly object. But Theo's right in that you can't strip out the license text.

I agree with Theo only in the sense that in this case allowing the two communities to share development is the right thing to do.

This is one of the rare occasions where I think Theo is right

Posted Sep 4, 2007 16:11 UTC (Tue) by cate (subscriber, #1359) [Link]

Copyright cannot be removed (but after expiry time), and the license is attached to copyright: it explain how the copyright-holder allows you to use the sources, so really you cannot change! You are not the owner but you decides how to use code that it is not your?

This is one of the rare occasions where I think Theo is right

Posted Sep 4, 2007 16:23 UTC (Tue) by sayler (guest, #3164) [Link]

So.. is this based on any actual LEGAL grounds?

This is one of the rare occasions where I think Theo is right

Posted Sep 4, 2007 16:41 UTC (Tue) by cate (subscriber, #1359) [Link]

IANAL ;-) but I think I read something about this in license-discuss@opensource.org . Anyway how a person who doesn't own the copyright could change a license of the file? (removing a license is like changing a license: you change how the source are redistributed). Do you see something like this in any license?

BTW the single license on a file is not necessary the same as the aggregate license of a program (source), and it not the same as the license of the generated binary program. So it is ok that your program or your binary is only GPL licensed, but no part of the common licenses allow you to relicense an existing file.

This is one of the rare occasions where I think Theo is right

Posted Sep 7, 2007 23:12 UTC (Fri) by giraffedata (guest, #1954) [Link]

Anyway how a person who doesn't own the copyright could change a license of the file? (removing a license is like changing a license: you change how the source are redistributed)

Don't confuse a copyright license with the text describing the license. Nobody can "remove" someone else's license -- it's simply not possible -- but one can remove the text describing the license from the file.

(Similarly, one can add text to a Microsoft product saying, "you may copy this as you please," but it doesn't mean a recipient of it has a license to copy it).

Removing the text does not change or eliminate the license; it just keeps people from being aware of it. The author of open source code wants all recipients to know they have his permission to copy it, hence he sets as a condition of copying the code that the copier copy it with the license text intact.

(I think in the BSD case, the author also wants to make sure every recipient of the code knows that the author disclaims liability for any mistakes he made in the code).

This is one of the rare occasions where I think Theo is right

Posted Sep 4, 2007 17:11 UTC (Tue) by elanthis (guest, #6227) [Link]

It's legal because the license SAID it was legal. Simple.

The license says, "you may choose to distribute this under either the BSD or the GPLv2." If you distribute it under the GPLv2, then all recipients of the work received it under the GPLv2 terms, and by those terms, they must abide by the GPLv2 (and nothing else) for all subsequent redistributions.

Note also that even though the BSD license says that it cannot be removed, that only applies if the license itself applies to the work. Since it is distributed under the GPL now, the BSD license no longer applies, and the "do not remove" clause is therefor irrelevant. There is no law against cutting up legal documents (although they are not valid if modified and not ratified by all parties involved), but no legal document was modified. The header is not by itself a legal document - it is merely a notice of which license applies to the text. Notice that the GPL itself is not in the header. The header just says, "use this license," and since the modified work is now GPL, that's all the header has to say.

That said, I still this is really lame of the Linux developers. They're being selfish. The BSD developers are likewise being lame, because they're bitching about Linux devs doing the same thing proprietary devs do. Both sides are in the wrong, ethically, in my opinion.

This is one of the rare occasions where I think Theo is right

Posted Sep 4, 2007 19:28 UTC (Tue) by proski (subscriber, #104) [Link]

That said, I still this is really lame of the Linux developers. They're being selfish.
I think you owe an apology to Linux developers. They are not selfish.

Not only wasn't the patch removing BSD license from ath5k ever applied, but the author of the patch withdrew it promptly. The idea of removing BSD license from the dual licensed files received very little support in linux-wireless list.

Incorrect patches are proposed all the time, and get shot in the review process, as it happened in this case.

This is one of the rare occasions where I think Theo is right

Posted Sep 6, 2007 7:38 UTC (Thu) by ekj (guest, #1524) [Link]

Sure. But there is one legitimate point coming from the BSD-camp.

Linux benefited by being allowed to copy their code.

If we then later find bugs in the same code, or make improvements to it, it would be nice of us to share those improvements and bugfixes with the BSD-people. Which means allowing those improvements to be distributed under the BSD-licence.

Currently, the code from BSD is BSD/GPL, but any improvements we add along the way, will be GPL. Which means the BSD-people aren't free to grab the improvements back.

The BSD-licence explicitly allows these kinds of things though, the major difference between GPL and BSD is precisely the fact that with GPL you need to publish your improved version under the same licence (if you distribute it anyway) while with BSD-code that is not a legal requirement.

The fact that it's not a legal requirement does however not mean it ain't the rigth thing to do.

It would be nice if anyone making bugfixes and/or improvements to this driver would explicitly licence those bugfixes/improvements under BSD+GPL, so that the BSD-people *would* be free to grab the improvements back.

I second other commenters though: If developers don't like the idea that others may take their code and then refuse to contribute improvements back, they'd be well-adviced to choose a licence that doesn't permit precisely that.

This is one of the rare occasions where I think Theo is right

Posted Sep 7, 2007 5:48 UTC (Fri) by proski (subscriber, #104) [Link]

My post was only about calling Linux developers "lame" and "selfish", which was, in my opinion, totally uncalled for. Such characterizations of Linux developers can only be based in their own actions, whereas your post shifts the focus towards BSD developers.

This is one of the rare occasions where I think Theo is right

Posted Sep 14, 2007 4:02 UTC (Fri) by celtic_hackr (guest, #47391) [Link]

I agree that the dual licensed code can relicensed either way. The original author has already said this.

I don't see what the issue is of people complaining about not giving back.
The code is GPL. Ergo you have the source, rewrite the measly 5% or 10% or 1% that is newly added GPL and incorporate it into the original dual BSD/GPL code and then release in BSD if you want. Come on folks are we all that unimaginative?

Where's the harm, so someone might have to do a little reading and writing.
You've got the gosh darn code! This is a copyright matter not a patent matter people, you can rewrite!

Granted, I think the Linux guys should have just left the copyright alone. They're all, both sides, acting like spoiled children. Heck my toddler has better manners. But then, I raise her that way.

This is one of the rare occasions where I think Theo is right

Posted Sep 4, 2007 19:41 UTC (Tue) by nim-nim (subscriber, #34454) [Link]

In theory, you are right, sharing development would be the right thing.

In this particular case… I doubt it would happen. There is a lot of bad blood between the OpenBSD and the Linux wireless communities. (public harassment of Intel for doing *Linux* wireless by Theo, campaign against OLPC because the wireless stuff was not being opened fast enough, shameless procrastinating when OpenBSD was caught misappropriating Linux GPL code, etc). OpenBSD wireless advocacy is lynch first, think later, never present excuses.

Theo only claimed brotherhood once it become clear he had no legal leg to stand on. There can be no doubt his preference would have been to publicly immolate his "brothers". Pretty suicidal to bully when your licensing model makes you rely on third-party goodwill if you want my opinion. Especially now the Linux wireless people seem to have settled on a wireless stack at last and should start pumping drivers.

One of the first feedbacks on the proposed patch was to play nice with OpenBSD. However that was before the public smear campaign — I doubt anyone feels ready to tell the Linux wireless devs how to license their code now.

This is one of the rare occasions where I think Theo is right

Posted Sep 4, 2007 16:50 UTC (Tue) by epa (subscriber, #39769) [Link]

I think Theo's point is that the spirit of the BSD licence is more important than the letter. Yes, it doesn't use legal force to compel you to share your code back, but the spirit of BSD suggests that you should do so. Interestingly, RMS has said the same thing: the exact legal meaning of the GPL is less important than its spirit, which is that you should share code with others and not impose restrictions on users.

The position that dual-licensed files must 'always' remain dual-licensed after making changes seems a bit untenable though. If that were the case, then any dual-licensed BSD+GPL code incorporated into OpenBSD would have to remain dual-licensed forever as well. This would arguably mean that proprietary vendors would no longer be able to strip out the GPL and include the code in proprietary software. But I fear we are getting into legal nonsense land here.

The commonly accepted meaning of dual licensing is a disjunction. You can distribute this under licence A, or licence B, at your option. (Or continue distributing under A+B.) It's unfortunate that the OpenBSD people think it means something else. To avoid misunderstanding we may need a new term to mean dual-licensed-choose-either-yes-really-I-mean-it.

This is one of the rare occasions where I think Theo is right

Posted Sep 4, 2007 20:25 UTC (Tue) by sepreece (guest, #19270) [Link]

"The position that dual-licensed files must 'always' remain dual-licensed after making changes seems a bit untenable though. "

I think the reality is more like "The original file and the code it contains always remain dual-licensed." Once you modify the file, the resulting file is licensed under a combination of the original dual-licensing and whatever license you put on your own modifications. Depending on your choice, this could even make the modified file undistributable, even by you (if your license terms aren't compatible with either of the original licenses).

Personally, I would be happiest ethically with retaining the original dual licensing for any modifications. Anything else just seems rude.

Then what's the point of dual licensing?

Posted Sep 5, 2007 19:02 UTC (Wed) by mrshiny (subscriber, #4266) [Link]

If it's unethical to release changes to a dual-licensed file using only one license, what's the point of HAVING a dual-license in the first place? Seems to me the original author is saying "Take your pick", not creating some super-license that contains all the terms of the individual licenses. And IANAL but as far as I'm concerned if a file is available under two licenses you can use the privileges of one license to strip away the other license. The original code would still be dual-licensed but your modified version would be under whichever license you chose.

This is one of the rare occasions where I think Theo is right

Posted Sep 6, 2007 9:50 UTC (Thu) by jschrod (subscriber, #1646) [Link]

But the original author stated his intent that it is choose and pick. (And the FreeBSD folks did so, too.) And in law, intent counts a lot.

That said, I also think that Linux changes to the drivers should be licensed BSD+GPL, in respect for the original authors' work. It's not a legal thing, it's a moral obligation, IMHO.

This is one of the rare occasions where I think Theo is right

Posted Sep 4, 2007 21:35 UTC (Tue) by xtifr (guest, #143) [Link]

> I think Theo's point is that the spirit of the BSD licence is more important than the letter.

Then how come they don't complain when people release binaries with improvements that will never benefit the BSD community? Frankly, I love BSD (both the license and the system); I grew up in Berkeley and have many friends in the BSD community, but the rabid anti-GPL fanaticism of <em>some</em> members of the BSD community has always set my teeth on edge. I mean, even if you <em>do</em> buy the theory that GPL software is not truly free, how is making source code available for inspection (if nothing else) worse than not doing so?

Relicensing: what's legal and what's right

Posted Sep 4, 2007 17:05 UTC (Tue) by IkeTo (subscriber, #2122) [Link]

My feeling of the whole story: it is BSD guys feeling uneasy of the unprotected nature of the license of their choice.

On legal ground, things that the "GPL community" (as Theo termed) done is perfectly legal in effect, although perhaps not perfectly legal in technicality. If they get something from FreeBSD, they can effectively do anything to it, except to claim it is their work. So if they modify a few files or change the style and calling convention and then redistribute the product, they can claim their modification is under GPL, but the original must still be under BSD. Which is of course the case, the general public can always get their own version directly from BSD. So even though they may not do it the right way (keeping a BSD license in their product, claiming that the work contains BSD work covered by that license, etc., etc.), the effect just need a few trivial modifications to achieve perfectly legally.

On the moral ground, exactly the same thing is done by proprietary software. It is the choice of the BSD people to let them use their code in such "one way sharing". So there really should be nothing immoral for the GPL community to do the same.

Then what the BSD people are really complaining? Why they think it is okay for proprietary software to "import" BSD code to their product, stick a "contains BSD code" label into the product and ship, and then say GPL community will "lose a lot of friends" if they do the same?

The problem is, if developers find something they want to do, and then find that they can do it only if they use proprietary software, it is very likely that some of these developers will start writing a free version of it. On the other hand, if developers find something they want to do, and then find that they can do it only if they use GPL software, a huge number of them will just be abide by GPL. In the long run, the BSD community lose the mind-share they need to keep their projects going.

BSD people can ask themselves why they think BSD, the "unprotected" license, is the way to go. If they can answer themselves, they probably understand that there is nobody to blame. It is just business as normal: if BSD community is based a a flawed model then let it wither by itself, if BSD community is based on a group of people enthusiastic enough to let go their code unprotected then it doesn't matter.

Relicensing: what's legal and what's right

Posted Sep 16, 2007 8:23 UTC (Sun) by forthy (guest, #1525) [Link]

I think the BSD community - or at least Theo de Raadt - finally sees the value of a copyleft license. His interpretation that the BSDL already is a copyleft license however is severely flawed. It isn't. If OpenBSD was under MPL, it would be true, and commercial vendors still could include this code into proprietary projects - but then they would also be forced to contribute changes back (you can put MPL code into "larger works" under different licenses, but you still need to retain the MPL on the files originally under MPL, even if you have modified them - so a MPL project incorporated into a GPL project will be "dual-licensed" forever. There are many open questions about this - one is whether the GPL actually permits to be merged with MPL code without special permission by the authors - but that's the idea at least).

The moral implication however is clear: If we accept that it's ethical to share code (as both the FSF and the BSD proponent claim), then we find that it's also more ethical to make licenses compatible, because incompatible licenses prevent people to share code between projects. I fully agree with that part of Theo's diatribe.

Relicensing: what's legal and what's right

Posted Sep 4, 2007 17:34 UTC (Tue) by butlerm (subscriber, #13312) [Link]

As a practical matter, I think it is counterproductive to encumber a driver so that the original authors cannot benefit from your additions.

However, Theo de Raadt's assertion about dual licensed files is without foundation. The rights that a license issuer has are derived from the copyright he holds in the original work. However this copyright does not extend to additions made by others. 17 USC 103 states:

"The copyright in a compilation or derivative work extends only to the material contributed by the author of such work, as distinguished from the preexisting material employed in the work, and does not imply any exclusive right in the preexisting material. The copyright in such work is independent of, and does not affect or enlarge the scope, duration, ownership, or subsistence of, any copyright protection in the preexisting material."

So if you start with a dual licensed file, and add additional material, the dual license only necessarily extends to the pre-existing material. The additional material is copyright by the author - who may license those additions in any way he pleases, provided that distribution of the whole is consistent with the license that governs each of the copyrighted portions.

And since the BSD license does not have any GPL style restrictions on the creation or distribution of derived works, any author who wishes to add GPL only material to a dual licensed file *effectively* converts it to a GPL file, because the BSD license only extends to the original pre-existing material, by virtue of the original author's copyright.

The BSD license text must be preserved of course, but nothing stops someone from writing a preamble that explains which portions of the file were written by which authors, and hence subject to their preferred licenses alone, and which portions are sufficiently intermixed that they (like the file as a whole) are governed by the restrictions placed by all of the licenses collectively.

I do find it highly ironic that Mr. de Raadt is trying to claim GPL license like properties for a license that has none. Once GPL, always GPL - yes. Once BSD, Always BSD? Not except in the most nominal of senses.

Relicensing: what's legal and what's right

Posted Sep 4, 2007 19:41 UTC (Tue) by ncm (guest, #165) [Link]

It is simply not true that the BSD license text in a dual-licensed work "must be preserved of course". Yes, it says so in the BSD license text itself, but the dual-licensing specifically allows you to ignore any or all requirements in the BSD text, if you choose to distribute under the other license -- not excepting that one.

Theo is completely wrong on his legal argument. That doesn't mean he's wrong when he says it's rude not to dual-license further changes. Rudeness is, after all, something he knows far more about than most of us.

Non-BSD people often wonder at the seeming logical loopiness in BSD license reasoning. However, there is method to be discovered there, although it took me a long time to find it. The freedom BSD people want to retain is the right to take the code they have written (and the code in which it's embedded) and use it in any employer's product, even if that product will be proprietary. If they and their colleagues release their code under GPL, then the list of employers where they can use their own code gets much smaller.

The real reason for the BSD license

Posted Sep 4, 2007 21:11 UTC (Tue) by clugstj (subscriber, #4020) [Link]

"The freedom BSD people want to retain is the right to take the code they have written (and the code in which it's embedded) and use it in any employer's product, even if that product will be proprietary."

This also took me a long time to realize. I've never seen a justification for the BSD license that acknowledged this (or disputes it for that matter).

Relicensing: what's legal and what's right

Posted Sep 5, 2007 5:58 UTC (Wed) by butlerm (subscriber, #13312) [Link]

"It is simply not true that the BSD license text in a dual-licensed work 'must be preserved of course'."

Actually, I think it depends on the way the language combining the two licenses is written. It could be explicitly written to allow authors of derived works to drop one of the licenses. It also could be explicitly written to require both licenses to be preserved (with regard to the pre-existing material).

If the language isn't explicit, we probably won't know the answer until a court sets a legal precedent somewhere, so it is probably best to error on the side of safety.

Relicensing: what's legal and what's right

Posted Sep 6, 2007 7:45 UTC (Thu) by ekj (guest, #1524) [Link]

In general yes.

But in this particular case, BSD+GPL, it has to be "take your pick", because the only alternative would be GPL-only. I'll explain.

If you aren't allowed to "take your pick", but are required to honour each and every term in *both* licenses, then it follows that not just every BSD-term must be followed, but also every GPL-term.

Everything that is allowed with a GPL-licenced program is however *also* allowed with a BSD-licenced one. But not vice-versa.

In other words, if you *pretend* that a BSD-licenced program is really GPL, you're still adhering to each and every term of the BSD-licence.

If on the other hand you pretend that a GPL-licenced program is really BSD, you're breaking quite a few terms of the GPL, namely those that require that you give changes back under the same terms when you redistribute.

Relicensing: what's legal and what's right

Posted Sep 6, 2007 8:43 UTC (Thu) by lysse (guest, #3190) [Link]

What happened is very simply explained if one assumes that Theo initially thought that the code in question was not dual-licensed, but only BSD-licensed. As usual it got lost in the noise, but his earliest statements said as much. And his argument - that the terms of the BSD licence absolutely forbid removing the text, and anyone so doing would lose any of their BSDL-granted rights - would be perfectly correct for code which was originally only available under a BSD licence.

Relicensing: what's legal and what's right

Posted Sep 6, 2007 16:22 UTC (Thu) by amikins (guest, #451) [Link]

If you look at the cited text from Theo, he's specifically discussing dual-licensing. There was quite an extensive argument about it between him and Alan Cox.

Relicensing: what's legal and what's right

Posted Sep 7, 2007 23:30 UTC (Fri) by giraffedata (guest, #1954) [Link]

"The copyright in a compilation or derivative work extends only to the material contributed by the author of such work, as distinguished from the preexisting material employed in the work, and does not imply any exclusive right in the preexisting material. The copyright in such work is independent of, and does not affect or enlarge the scope, duration, ownership, or subsistence of, any copyright protection in the preexisting material."

So if you start with a dual licensed file, and add additional material, the dual license only necessarily extends to the pre-existing material. The additional material is copyright by the author - who may license those additions in any way he pleases, provided that distribution of the whole is consistent with the license that governs each of the copyrighted portions.

You've read that backwards. The whole point of derivative work copyright is that the first author has rights over the entire derivative work done by the second author. (A classic derivative work is a translation. The translation contains no words from the original work, but you still need the original author's permission to copy the translation).

This section says 1) you don't need the second author's permission to copy the first author's pieces; and 2) the permission you need from the first author to copy the derivative work isn't any greater than what you need to copy his original work. In particular, his clock runs out N years after the original was published, not N years after the derivative was published.

GPL modules for a differently licensed OS'

Posted Sep 4, 2007 17:42 UTC (Tue) by and (guest, #2883) [Link]

It's not the first time that I'm wondering what stops GPL licensed modules
from being distributed in conjunction with non-GPL code, provided that the
GPL is respected for GPL part and it is a derivative work of the non-GPL
part, not the other way round.

Since it's hard to argue that the rest of *BSD is a derivative work of any
driver (*BSD also works without it) I don't see a problem here. Also, this
has already been done with the ext2 filesystem drivers for windows without
anyone suggesting that microsoft is required to put the windows kernel
under GPL...

GPL modules for a differently licensed OS'

Posted Sep 4, 2007 19:29 UTC (Tue) by madscientist (subscriber, #16861) [Link]

There is no "other way around". It seems you may be confused between the English usage of the phrase "derived from" and the legal usage. In legal terms, if one work uses part of another work then the combination is said to be derived from both parts, and the only way to distribute them is if both licenses are satisfied. It doesn't matter whether you start with the GPL part and add non-GPL'd parts to it, or start with non-GPL'd parts and add the GPL'd part to it: the end result is a combined work that is derived from a GPL'd work, and (according to the GPL) the entirety of the work must be distributed under the terms of the GPL.

If you can't do that, then you can't distribute the combined work.

Also, according to the FSF, you can't work around this restriction simply by making two different files containing the different parts and letting the user combine them herself: even if they are not part of the same set of files, they still (legally) constitute a single derived work (again, according to the FSF--there are some who disagree with this concept either in whole or in part). Since none of this has been specifically tested in court (certainly not in the U.S. and I don't think anywhere, although other aspects of the GPL have been tested and upheld in various courts around the world) it's hard to know the detailed legalities.

However, the way in which the FSF wants the GPL interpreted for software they hold copyright to is very clear, so ethically, at least, we should obey their wishes regardless of the legal force behind them. Similarly, Linus's interpretation of the GPL as it applies to the Linux kernel, while different slightly from the FSF's I think, is also fairly clear.

GPL modules for a differently licensed OS'

Posted Sep 5, 2007 9:40 UTC (Wed) by and (guest, #2883) [Link]

> the end result is a combined work that is derived from a GPL'd work, and
> (according to the GPL) the entirety of the work must be distributed under
> the terms of the GPL.
>
> If you can't do that, then you can't distribute the combined work.

But wouldn't this interpretation mean it's impossible to distribute GPL software with anything that's non-GPL, not even if it's a LGPLed shared library like glibc? (It's ok from LGPL's view to link to non-LGPL software but using FSF's interpretation of the GPL the LGPL library would be a derivate work and must thus oblige to the terms of the GPL.) It would also make distributing free software for operating systems which have at least one non-GPL bit utterly impossible, which actually would hurt the free software movement a lot because of reduced mindshare. (Think of how many people first learned about free software by using Gimp, Firefox or OpenOffice for Windows.)

GPL modules for a differently licensed OS'

Posted Sep 5, 2007 12:01 UTC (Wed) by madscientist (subscriber, #16861) [Link]

Well, I simplified things a bit because my intent was not to discuss the GPL per se, but rather the meaning of "derived from" in a legal sense.

Your issues are addressed by two clauses in the GPL. The first is the "mere aggregation" clause which confirms the FSF's belief that just putting two unrelated programs together on a CD (or on a hard disk) doesn't constitute a derived work. The FSF's position, as far as it can be collapsed into a single sentence, is that if the virtual runtime image in RAM of a program requires GPL'd code, then the total is a derived work.

Second, there is the "system library" exception clause, which says that if the GPL'd program requires libraries that are shipped as part of the underlying operating system (but the GPL'd program is NOT shipped as part of the underlying operating system) then the system libraries don't need to be under the GPL. The "mere aggregation" clause is really just an explicit statement of what most people think is true anyway; the "system library" clause, however, is a true exception to the GPL. It was really created for the days before Linux, when GPL'd software all ran on proprietary operating systems like SysV variants, SunOS, etc. but it works just as well for Windows for example.

Finally, your comment about GPL'd software using LGPL'd shared libraries is correct, actually: when the GPL'd software uses LGPL'd libraries the combination IS technically under the GPL. But that's OK, because the LGPL explicitly allows that it can be distributed under the strict GPL.

GPL modules for a differently licensed OS'

Posted Sep 5, 2007 13:08 UTC (Wed) by and (guest, #2883) [Link]

> The first is the "mere aggregation" clause which confirms the FSF's
> belief that just putting two unrelated programs together on a CD (or on
> a hard disk) doesn't constitute a derived work. The FSF's position, as
> far as it can be collapsed into a single sentence, is that if the
> virtual runtime image in RAM of a program requires GPL'd code, then the
> total is a derived work.

Agreed. But this isn't this definition consistent with my original point:
if a OS is *BSD licensed and one of its drivers is GPL, the OS per se runs
fine without the driver (except that it has reduced functionality, but
that is also the case for a non-GPLed OS running GPLed user space
programs) and is thus not a derived work in this sense. The "code shares
the same address space" definition is also not really applicable, because
the kernel also has access to all user space memory, so GPLed user space
would still be impossible on top of non-GPL kernels. If the "system
library" is applied to prevent this, it sounds to me that it can then
equally be applied to the drivers, but IANAL.

On the other hand drivers can't run without the OS so they are clearly a
derived work. That's why non-GPL linux kernel modules are not
distributeable, strictly speaking. Or am I still missing something? In any
case it's damn muddy business ;)

GPL modules for a differently licensed OS'

Posted Sep 5, 2007 19:55 UTC (Wed) by madscientist (subscriber, #16861) [Link]

Yes, I see your point. I think the answer is that as long as you only ship the OS, then you're fine because the entirety of the OS doesn't contain any (is not derived from) GPL'd code. However, you would not be able to distribute both together because the combined work would contain GPL'd code. Then the question becomes, what if you get the GPL'd driver from somewhere else, not from the OS vendor? Then they OS vendor is not distributing GPL'd code, and the GPL ONLY deals with distribution, not use: you can use GPL'd code any way you want personally without any requirements. The answer here depends on the license the OS was under: if the license was not compatible with the GPL then the answer probably is that whomever distributed the driver to you was doing something illegal, because the driver is a derived work of the OS (even if they weren't shipped together) and there's no way to distribute code that satisfies both licenses. If the OS was under a GPL-compatible license such as the BSD license, then I don't see any problem with that. BUT, I don't think it can be provided as a standard part of the base OS, without the entire thing coming under the GPL. However, like you, IANAL.

As for your other points: first, I was careful to say the _virtual_ runtime image; I don't think the FSF is speaking of physical memory here. If they were then, ultimately, all software shares physical memory. And in this way, I don't think the kernel's license will impact the licensing of the program the kernel runs, because the kernel is not in the virtual image; it just has access to it. So I don't think the fact that the kernel manages the program's memory is a problem.

Of course, almost every possible program WILL interact with the kernel, through kernel system calls. It could be argued that because of this, every user space program is derived from the kernel. However, regardless of whether you think this is reasonable or not, Linus has made it moot as he has explicitly stated that he doesn't believe that using the user space system call interface brings software under the GPL.

In fact, it is even possible to create kernel modules, that run in kernel space, with licenses that are not compatible with the GPL. There is a certain set of module API interfaces which are explicitly marked as being able to be used this way. Here we get REALLY murky because not even all Linux kernel devs, as far as I've seen, really agree on exactly what this means and how it works.

GPL modules for a differently licensed OS'

Posted Sep 6, 2007 0:09 UTC (Thu) by and (guest, #2883) [Link]

ok, this seems to be a kind of a PHD problem for a law stundent with a
strong computer science background *g*. I'm perfectly aware of the spirit
of the GPL (which I would think is opposed to doing such a thing), though
I'm not sure what the word says. Even if the GPL says something about
the "virtual" ram image, what is that in the first place? Does shared
memory between kernel mode code and user space code constitute an image?
How about architectures which don't sport an MMU like the ones ulinux is
targeting at? (This would have the interesting implication that it would
depend on the processor of whether it is possible to distribute a GPL user
space program with non-GPL kernels and vince-versa, but it would be OK to
ship the GPL user space code for a MMU-enabled platform and compile it
yourself for the MMU-less.) So I think it's basically impossible to
define "derived from" in any meaningful technical sense, except "if code A
can run without requiring code B then A is not a derivative". Also all
definitions are mood if someone writes some kind of minimal GPL kernel
capable of loading the unmodified GPLed modules and shipping it
as "unrelated" software on the same medium...

Also I've got some doubts whether the expressed opinions of Linus and RMS
about the GPL have any relevance legally, especially for code they don't
hold the copyright for. In any case, issues like that make me glad being a
computer scientist and not a lawyer; let's go back coding ;)

GPL modules for a differently licensed OS'

Posted Sep 6, 2007 1:27 UTC (Thu) by madscientist (subscriber, #16861) [Link]

No, of course the GPL doesn't say anything about RAM, virtual or otherwise. I'm just trying to make concrete the various statements about applicability of the GPL that I've seen FSF folks make over time. As you so eloquently show, this is essentially impossible when it comes to technology--which is very likely why they have learned to never do it! Now I've learned that lesson as well :-). I think we'll just have to go with Justice Potter Stewart's definition: "I know it when I see it". Personally I think it's fairly clear what the FSF intends to be covered, and they obviously feel that the GPL enforces that intent. Since we have no judicial decisions, that's the best we can do.

Although you are certainly correct that the expressed opinions of RMS and Linus will have little effect on what a judge may eventually decide, their opinions are actually of critical importance, in this way: it's impossible for a judge to decide anything about the GPL until a case arrives in her courtroom, and it's impossible for a case to arrive until and unless someone with standing brings it. In the case of RMS the situation is extraordinarily clear: the FSF holds sole copyright to ALL GNU programs, and so it's essentially completely up to RMS to bring that case. So what he thinks about what people are doing with GNU software is the single most important factor. Linus doesn't hold sole copyright to the kernel; however it seems highly unlikely to me that a case involving Linux could go anywhere without his agreement, practically speaking.

I do agree we should get back to coding, though. Much more satisfying!

GPL modules for a differently licensed OS'

Posted Sep 22, 2007 13:57 UTC (Sat) by kreutzm (guest, #4700) [Link]

Just a minor note: The cases in Germany involving the Linux kernel were brought forward (and won) by Harald Welte (netfilter) not Linus Torvalds.

GPL modules for a differently licensed OS'

Posted Sep 13, 2007 19:20 UTC (Thu) by nim-nim (subscriber, #34454) [Link]

You have to understand the GPL is based on the "derivative" part of copyright international laws, and these laws are not software-specific, and indeed their roots are older than computers.

Software people do not understand legal concepts and keep trying to reduce derivation to its technical implementations. (because they feel confident that once they've nailed derivation to a particular technical effect they'll be able to find another they can safely use).

The hard truth is derivative is anything that makes use of ideas/code in the protected work. So it does not matter how this use is effected. Using creative indirections does not make derivation moot. If you figure a technical way to use some protected work, the sum of protected work + your stuff is a derived work.

That is unless you can prove your stuff was designed for something else, and this something else was not heavily inspired by the protected work. Of course if that were the case you'd not be trying to squiggle past "derivation" definitions.

GPL modules for a differently licensed OS'

Posted Sep 15, 2007 14:47 UTC (Sat) by sepreece (guest, #19270) [Link]

"The hard truth is derivative is anything that makes use of ideas/code in the protected work."

Well, no. Copyright doesn't protect ideas, it only protects the expression of ideas. You can rephrase those ideas in other language without violating the copyright. However, the Devil is in the details and the analysis is not simple. There are scads of court decisions on specific cases, many of which seem to conflict.

Also, copyright does not control "functional aspects". There is a fair amount of precedent indicating that copyright doesn't apply when a program is simply using or interfacing with another program - that even direct copying of code may be OK when it is necessary to allow interoperation.

scott

GPL modules for a differently licensed OS'

Posted Sep 16, 2007 19:54 UTC (Sun) by nim-nim (subscriber, #34454) [Link]

Ideas in the protected work being idea expressions.

Anyway.

You are not allowed to "rephrase" a copyrighted works idea expressions.

Copyright law allows looking at something to produce something else. Copyright law allows not looking at something to produce the same thing.

But copyright law forbids translation of something in the same something in another language/medium/format whatever. It does not take a judge a lot to decide something else is effectively something else. But mere rephrasing won't do.

Just ask J K Rowling what she thinks about your legal theory. I believe she sent a few rephrasers to jail.

Relicensing: what's legal and what's right

Posted Sep 4, 2007 20:37 UTC (Tue) by i3839 (guest, #31386) [Link]

I skimmed the thread going on lkml a bit, and I'm absolutely appalled how people are behaving. The amount of FUD and nastiness floating around... I'm ashamed, what a waste of time and energy.

Brotherly love

Posted Sep 4, 2007 21:39 UTC (Tue) by bojan (subscriber, #14302) [Link]

> Why does our brother Linux take a file that is 90% BSD licensed, and refuse to let us see the 10% he adds?

I think the answer to this is rather simple: because brother Linux doesn't want to see his 10% of the code ending up in proprietary software.

PS. Of course the code can be "seen", it's just not distributable under a BSD licence, which is what the original comment is about.

Relicensing: what's legal and what's right

Posted Sep 4, 2007 22:05 UTC (Tue) by dtucker (subscriber, #6575) [Link]

Interestingly, in the preamble, the GPLv2 says:

"For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have."

however when someone relicenses a BSD (or ISC) licensed work this isn't the case. They had some rights that the recipients of the relicensed work doesn't.

Disclosure: I'm one of the "BSD folk".

Relicensing: what's legal and what's right

Posted Sep 4, 2007 23:12 UTC (Tue) by bojan (subscriber, #14302) [Link]

First off, this is from the preamble of the GPL, not from the actual "terms and conditions for copying, distribution and modification", so it has very little (if any) legal meaning.

As for "however when someone relicenses a BSD (or ISC) licensed work this isn't the case" - that's simple - the work was licensed under BSC (or ISC) licence in the first place, which doesn't have the above "demand", not even in the preamble, so why would anyone have to follow it? GPL's "demands" cannot apply "backwards".

The reason for being able to distribute BSD licensed code under the GPL, is the fact that all three requirements from the BSD licence are met by shipping under the GPL too. Contrary to this, the advertising requirement from the original BSD licence cannot be met, so that licence is incompatible with the GPL.

You may also check these links out:

http://www.gnu.org/licenses/gpl-faq.html#WhatIsCompatible
http://www.gnu.org/licenses/gpl-faq.html#OrigBSD

Relicensing: what's legal and what's right

Posted Sep 5, 2007 12:33 UTC (Wed) by dtucker (subscriber, #6575) [Link]

Oh, I'm making no claims about legality (or otherwise). I'm just pointing out that in this particular case (specifically, distribution of a GPL-only derivative of a BSD licensed work), the net effect seems to contradict one of the stated goals of the GPL: someone doing this has some rights that they do not pass to the recipient of the derived work.

Relicensing: what's legal and what's right

Posted Sep 5, 2007 22:14 UTC (Wed) by bojan (subscriber, #14302) [Link]

Yeah, nice try, but not quite :-)

The goal of the GPL (any version) is to preserve software freedoms, as defined here:

http://www.gnu.org/philosophy/free-sw.html

I'm not going to go into "which is better" here, but it is clear to anyone that by licensing under a permissive licence, some of the freedoms can vanish in due course of (binary-only) redistribution. In other words, they are not guaranteed to be preserved using such a licence. Hence the GPL.

Relicensing: what's legal and what's right

Posted Sep 5, 2007 13:38 UTC (Wed) by i3839 (guest, #31386) [Link]

If the same text was present in the BSD version before the relicensing is done, you'd have a point. But the text was added afterwards, in your hypothetical example.

This because the meaning of "all the rights that you have" depends on the license. So GPL people in general think that the rights given by GPL should be passed along, but that doesn't automatically mean that they agree that any rights you have should be passed along, no matter what those are.

But the BSD license doesn't allow relicensing anyway:

"Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer."

So your example is moot, it can't happen.

The current mess is because someone did it anyway, which was rectified, and because everything is muddled up with another case where there was a dual license and the BSD part was dropped.

More blahblah about dual license stuff below:

Now there is another thing that makes it more complex, and that is that a work/program is the whole thing, and not a small part of it. Throw in that an author always has more rights than recipients, and it becomes murkier. If not making a special case for the original author everyone following that preamble should put his work in the public domain.

So assuming that the original author has some leeway, that we're dealing with a dual licensed work, and modifications are done and redistributed under only one of the two licenses, then no rights are withhold. Sure, the work isn't distributed by the other license, but the modifications, which are new, may not be distributed under that other license, and thus the license of the two which was chosen is the only valid one for the whole work/program.

Adding a dual license for the unmodified parts doesn't make much sense because people can better get that from the original source.

Relicensing: what's legal and what's right

Posted Sep 5, 2007 0:30 UTC (Wed) by nofutureuk (subscriber, #3116) [Link]

I am certainly very disappointed about this article's quality and also about the comment quality. Let me explain:

The article title actually is pointing into the right direction: the real point about this issue is that software licensing does not necessarily match ethical expectations of the person using that license.

What is important to consider, is not what is legal in the end, but why we/they chose to use open-source licensing in the first place. When I personally have to chose a license, I think about my personal, subjective ethical expectations first (and other considerations of course). Thereafter, I realize that no existing license exists that matches these expectations. I also realize that no law in any country actually matches the complete spectrum of ethical expectations a society might have.

So in ethical terms, a license is a means to express what you expect people to do with it (beneath the obvious legal enforcing stuff).

One can ethically do the wrong thing while still respecting the law, right? That happens all the time. But no one would considers that to be a good thing, and that is why every democracy has to fix/change laws and have courts making decisions not only based on binary tree decisions.

This is not about finding out who is right, or which license is better, but what our ethical view tells us what is right. I consider everything else to be a bit too fanatic.

I consider that in this scenario, keeping the driver under the upstream license (in an open-source environment) pretty much the ethical correct decision to make.

And thanx Theo for calling out brotherhood with Linux. That's what this is about. Not who is right or wrong!@!@&*(!!!

Give and take! May the best code win, not the best license!

p.s. (sarcastic): the apple public source license is super-similar to the GPL btw, really almost like just replacing company names FSF with Apple. I think too many people see devils here and don't know shit about what they are talking about (probably myself included).

Relicensing: what's legal and what's right

Posted Sep 5, 2007 9:13 UTC (Wed) by dag- (guest, #30207) [Link]

If the sourcecode specifically allows to use any of both licenses, how is it unethical when doing that ?

I do not understand the argument of the OpenBSD people here.

If the license does not clearly states what the OpenBSD community expects, they need to modify the license. And if they want proprietary vendors to do whatever they like with the code and not give back (even if some do), but on the other hand (morally) demand from other Open Source projects to behave different. Then they should make a new license that makes it so.

It seems the OpenBSD people love to cry foul, but whenever they err, the subject is changed and no apologies. I would respect them a lot more if they were more honest in public communication.

I am grateful for the contributions they have made, but I equally disrespect them for their public noise and propaganda. Being trigger happy does not earn you any bonus-points. Quite the opposite.

Relicensing: what's legal and what's right

Posted Sep 5, 2007 11:01 UTC (Wed) by nofutureuk (subscriber, #3116) [Link]

yes, you are right in legal terms.

But still, if a GPL-person takes code from a BSD-person, what's the most logically ethical correct decision to make? I guess tit-for-tat / give and take.

BSD people can _never_ take any GPL code, while the other way works. Arguing that BSD must therefore change their license to something like GPL is bollocks, because the BSD people are simply liberal to businesses (and want to be). We wouldn't have a lot of good products without BSD licensed code.

I understand your point, but you are falling back to legal meaning.

p.s.: As I stated in my previous message, there are many reasons for choosing a license none will match the exact ethical expectations, which is why I often chose BSD or MIT license, because I want to able to re-use my own stuff at work, while still allowing it to be used by GPL people. GPL people are not that liberal, they are simply very often overzealous.

Relicensing: what's legal and what's right

Posted Sep 5, 2007 13:13 UTC (Wed) by dag- (guest, #30207) [Link]

But still, if a GPL-person takes code from a BSD-person, what's the most logically ethical correct decision to make? I guess tit-for-tat / give and take.

I do not agree. It would certainly be the nicest, but the fact that BSD was chosen as a license to me means that the developer allows you to do with it as you please. Otherwise he would have chosen another license.

So I have a big problem when now, contrary to what the license allows, they expect things that are not written in full.

Sure it is nicer, but they can not expect that. Let alone demand it. That's why I think the BSD-crowd silently envies the smartness of GPL (or a similar license).

If they loudly claim that the BSD license is more free than the GPL, than they have to face those consequences. And I think it is hypocritical to loudly provoke Linux developers (or the community as a whole) and minimize the actions of commercial/proprietary vendors (which is not as transparant). Why not just assume that the commercial interest in BSD is 1000x bigger than the Open Source community, but simply not visible ?

Relicensing: what's legal and what's right

Posted Sep 5, 2007 15:30 UTC (Wed) by nofutureuk (subscriber, #3116) [Link]

And I think it is hypocritical to loudly provoke Linux developers (or the community as a whole) and minimize the actions of commercial/proprietary vendors (which is not as transparant).

Taking out a license, and replacing it with a more restrictive one is the provocation here I think. but hey...

Relicensing: what's legal and what's right

Posted Sep 5, 2007 15:59 UTC (Wed) by dag- (guest, #30207) [Link]

Taking out a license, and replacing it with a more restrictive one is the provocation here I think. but hey...

How can it be a provocation when the license specifically and intentionally allowed to do that ?

Relicensing: what's legal and what's right

Posted Sep 5, 2007 16:03 UTC (Wed) by nofutureuk (subscriber, #3116) [Link]

I am not a lawyer, but I am not sure that re-licensing without explicit permission is allowed. The license is intended to allow code-reuse, not license replacement.

Relicensing: what's legal and what's right

Posted Sep 5, 2007 16:59 UTC (Wed) by dag- (guest, #30207) [Link]

Have you not read the above article ? Are we talking about the same incident ? What is so hard to understand in the following piece of the dual-license:

Alternatively, this software may be distributed under the terms of the GNU General Public License ("GPL") version 2 as published by the Free Software Foundation.

This is about distributing with a different license, which is what re-licensing really is.

Relicensing: what's legal and what's right

Posted Sep 5, 2007 17:13 UTC (Wed) by nofutureuk (subscriber, #3116) [Link]

Have you not read the above article ? Are we talking about the same incident ? What is so hard to understand in the following piece of the dual-license: ...
Yes you are right. But I really want to emphazise on culture rather than the legality of this single patch for this driver.
Also I am unsure (and uninformed) about what other communication went on between the developers in this case. I do not want to investigate the exact happenings with this case, but point people to the fact that not the BSD licensing scheme is to blame, but the way people tend to be overzealous with pretending to know what the "right" license is for others and/or denouncing people expressing their expectations/wishes.
I am simply saddened when I see GPL zealots BLAMING BSD developers for expressing their feelings/expectations about code-sharing.

Relicensing: what's legal and what's right

Posted Sep 5, 2007 17:39 UTC (Wed) by dag- (guest, #30207) [Link]

Well, then I think your perception is influenced by the fact that most response is to the way the OpenBSD handles their communication. If you read the threads on LKML, you can clearly see that the developers are concerned about working together with upstream.

The problem in this and previous incident is the communication (read: lack of diplomacy) and the disproportion of action and reaction. How you perceive the communities comes out of that and your personal interest, I guess. I haven't seen anyone blame the BSD, nor have I seen GPL zealots in these discussions. I don't think that has been the core of the argument.

Relicensing: what's legal and what's right

Posted Sep 5, 2007 13:36 UTC (Wed) by jmtapio (subscriber, #23124) [Link]

BSD people can _never_ take any GPL code,

Yes they can. There are only a handful of wireless developers around. No matter what license the Linux driver has been placed under, it really should not be too difficult to just send occasionally an email to the author of interesting fixes and ask "Hey, could we distribute that fix of yours with the BSD license on OpenBSD?" If there is a real "brotherhood", I would expect most developers to say yes to a request like that. And if there is a good spirit of cooperation, some developers might even offer fixes to both projects with their specific licenses even without asking.

What I don't understand in this odd flamefest is that BSD developers do not trust that the GPL developers would give back if the BSD license is not explicitly kept with the files (as if the BSD license would make people give back anyways).

Arguing that BSD must therefore change their license to something like GPL is bollocks, because the BSD people are simply liberal to businesses (and want to be). We wouldn't have a lot of good products without BSD licensed code.

What I find offensive is that some BSD people seem to have a double standards when comparing GPL and proprietary derivatives. I hope that it is just an illusion, but that is still the way how many bystanders are seeing this situation. I can understand that BSD people do not want to enforce legally certain expectations, but it would be nice if the "ethical" expectations would not discriminate people based on the license.

Relicensing: what's legal and what's right

Posted Sep 5, 2007 15:44 UTC (Wed) by nofutureuk (subscriber, #3116) [Link]

Yes they can. There are only a handful of wireless developers around. No matter what license the Linux driver has been placed under, it really should not be too difficult to just send occasionally an email to the author of interesting fixes and ask "Hey, could we distribute that fix of yours with the BSD license on OpenBSD?" If there is a real "brotherhood", I would expect most developers to say yes to a request like that. And if there is a good spirit of cooperation, some developers might even offer fixes to both projects with their specific licenses even without asking.
I didn't say asking wasn't an option. But we are discussing a scenario where exactly the step of *asking* was left out. Asking applies to both parties.

What I don't understand in this odd flamefest is that BSD developers do not trust that the GPL developers would give back if the BSD license is not explicitly kept with the files (as if the BSD license would make people give back anyways).
There is no odd flamefest, just a lot of overzealous people talking about legality instead of culture. As I said, even legal actions can be morally bad.

What I find offensive is that some BSD people seem to have a double standards when comparing GPL and proprietary derivatives. I hope that it is just an illusion, but that is still the way how many bystanders are seeing this situation. I can understand that BSD people do not want to enforce legally certain expectations, but it would be nice if the "ethical" expectations would not discriminate people based on the license.
Yes, I think the BSD license has sort of a double standard, but that's fine. I don't see any reason why one should not be open to that, unless being overzealous or super-fanatic on one license. Each license out there has a reason for existing.
Not everybody wants to enforce his own ethical views on others. What I find offensive is that a lot of people seem to attack the BSD people in a situation where BSD-code was relicensed to a more restricted license. That's really odd.

Relicensing: what's legal and what's right

Posted Sep 5, 2007 17:30 UTC (Wed) by dag- (guest, #30207) [Link]

I didn't say asking wasn't an option. But we are discussing a scenario where exactly the step of *asking* was left out. Asking applies to both parties.

It specifically and intentionally allowed it, it had a dual-license.

Not everybody wants to enforce his own ethical views on others. What I find offensive is that a lot of people seem to attack the BSD people in a situation where BSD-code was relicensed to a more restricted license. That's really odd.

I definitely think you should reread all articles and threads before continuing this discussion. Including the normal discussion on the mailinglist after the patch was send, Theo's abusive emails, the OpenBSD incident and again Theo's abusive emails.

A convincing argument is that Theo has been so loud because the previous OpenBSD incident backfired and he wanted to get even. The subject was badly chosen as it was a patch send to a public mailinglist and not an approved change in the VCS. Disproportional, untasteful and an incentive for wide reaction.

I like openssh and probably use other things that have been contributed by the OpenBSD community, but that doesn't give Theo the right to act the way he does. As you said, communication works both ways and there needs to be goodwill from both sides. Theo just adds fuel to a candle.

Relicensing: what's legal and what's right

Posted Sep 6, 2007 13:56 UTC (Thu) by amikins (guest, #451) [Link]

>I didn't say asking wasn't an option. But we are discussing a scenario where exactly the step of *asking* was left out. Asking applies to both parties.

What Dag has been trying to point out, and so far it doesn't look like you've acknowledged, is that the author of the dual-licensed code chose the particular wording of his dual-licensed code to give permission for the code to become GPL-only.

Asking wasn't needed, because the author had already said it was okay. This was again confirmed later by the author on LKML.

Relicensing: what's legal and what's right

Posted Sep 6, 2007 14:19 UTC (Thu) by nofutureuk (subscriber, #3116) [Link]

As I said, my concern isn't so much about what was legal in this case, but more about what would be morally right (and feasible in the long run). So yes, I have *not* acknowledged anything about legality, because I am not a lawyer and I will try to avoid joining a legality discussion for the same reason.

It should also be noted that when I say "people" or "parties", I do not mean the exact people or parties involved in this case, but I was talking in general terms. Or did I start accusing the author of that patch or the author of the driver? If so, I must apologize.

It seems to be really hard to discuss culture these days, with people always bunkering behind laws. strange.

Relicensing: what's legal and what's right

Posted Sep 6, 2007 14:34 UTC (Thu) by amikins (guest, #451) [Link]

I'm a little baffled at how there can be a question if something is morally right when someone explicitly granted permission to do it. This isn't just a legality point.

If the author of a work wants people to be able to do something with it, and makes it clear that's their intent, where is the fault in taking them up on the offer?

Relicensing: what's legal and what's right

Posted Sep 5, 2007 16:53 UTC (Wed) by dag- (guest, #30207) [Link]

... there are many reasons for choosing a license none will match the exact ethical expectations, which is why I often chose BSD or MIT license, because I want to able to re-use my own stuff at work, while still allowing it to be used by GPL people. GPL people are not that liberal, they are simply very often overzealous.

I find your logic and conclusion/opinion very concerning.

You say that it is logically/ethically the correct decision that you contribute changes to someone else's codebase. If I would expect that, I would put that requirement in the license (ie. choose GPL).

However, you then say that you choose the BSD license so that you can reuse the same stuff you wrote at work. Now, the stuff you write yourself is never the problem, even with GPL you are the copyright owner and you can do what you like.

So the problem is using someone else's 'stuff' at work, right ? So you prefer that other people use the BSD license so one has the liberty to use their code at one's company, modify it, distribute it without the requirement that any changes have to go back. Even when that is the most ethical behaviour, there is no requirement to do so and this liberty is why the BSD license is more liberal.

The liberty you see in the BSD license is exactly what you denounce when you *see* someone use that liberty. And the ethical behaviour you expect goes only so far as you can see, companies do it behind doors and you don't mind, in fact you celebrate the same liberty ! Why can't Open Source people not use that same liberty you use at work ?

The only reason I can see for this different behaviour against the Linux community and the proprietary corporations, is that you see the Linux community as real competition for your project, while the corporate interest (and non-contribution) does not directly compete within the larger Open Source development community.

And I am not saying you don't have the right to choose what license you choose for your own code, not at all. I find it concerning that you have conflicting expectations for other Open Source communities and corporations. What is good for the goose is apparently not good enough for the gander.

Relicensing: what's legal and what's right

Posted Sep 5, 2007 17:49 UTC (Wed) by nofutureuk (subscriber, #3116) [Link]

You say that it is logically/ethically the correct decision that you contribute changes to someone else's codebase. If I would expect that, I would put that requirement in the license (ie. choose GPL).
I said before that forcing other people into adopting ones ethical view-point in legal terms, is something that can be avoided. There is a difference between ethics and law.

However, you then say that you choose the BSD license so that you can reuse the same stuff you wrote at work. Now, the stuff you write yourself is never the problem, even with GPL you are the copyright owner and you can do what you like.
Right, my example is wrong. Sorry ;-)

So you prefer that other people use the BSD license so one has the liberty to use their code at one's company, modify it, distribute it without the requirement that any changes have to go back.
Ok, consider I publish code with GPL license and somebody sends me a patch to fix/enhance something. Will I be allowed to re-use that patch in a closed environment in my company? I mean, open-sourcing your own code is about solving a problem you have and hoping that others have the same problem and therefore they will hopefully help minimize your own work. It really is about being lazy in the first place (at least to me, that again is not something I would want to push on others).

I don't denounce people using the liberty of re-using code, but I denounce people saying that the BSD people should shut up when they feel ripped off. I also denounce people who replace licenses without agreement (although in this case, it was probably right, but I said "people").
Also, I see there is competition, yes, but that's just fine. Competition always helps improve the overall result.

At work, one is not allowed to relicense the source-code. That is not a liberty unless agreed with all parties.

In general terms, having conflicting expectations is perfectly normal. It really depends on the context. You cannot have absolute expectations in a world full of relativity.

My point is that other people are falling back into lame "legality" discussions, whereas this whole topic factually is much more about the very reasons of existence of open-source software and liberal licensing schemes:

  • Why does one open-source code (not hide it)?
  • Why does one allow others to re-use it?
  • ... etc.

Also note that everybody's perception certainly has an influence on what we see happen and what we don't see happen. I mean, I am not reading LKML on any sort of regular basis... so I want to make sure that my concern is not at all about Linux people or all GPL people, but pure and only about those people that try to re-use these kind of moments (the patch above) to push their propaganda for the "right" license. That's something that does not help anyone.

dag- you definitely have some good points. thx for your input

Relicensing: what's legal and what's right

Posted Sep 13, 2007 10:11 UTC (Thu) by kzm (guest, #47358) [Link]

> Ok, consider I publish code with GPL license and somebody sends me a patch
> to fix/enhance something. Will I be allowed to re-use that patch in a
> closed environment in my company?

Actually, yes. Copyright (and the licensing of same) does not regulate use, only distribution and public performance, so GPL vs BSD is irrelevant.

On the other hand, if your code was GPL, it would be legal for you to include the patch in your distribution (as it is a derivative work, and thus also GPL-licensed), if your code is BSD, you'd need an explicit permission from the author.

A small patch may be too trivial to be covered by copyright.

> I denounce people saying that the BSD people should shut up when
> they feel ripped off.

The difference between a legal right and a moral right is that the legal right can be enforced, the moral right can only be excercised through agreement. Ever wonder why so few beggars yell at you about their moral rights to some of your money? Amazing that so many bright developers apparently fail to realize that.

-k

Relicensing: what's legal and what's right

Posted Sep 5, 2007 7:44 UTC (Wed) by evgeny (subscriber, #774) [Link]

> The benefits from such an act would likely outweigh any cost associated with allowing unwanted proprietary use of the code which has been added to this driver.

I don't know... It does seem true ethically in this case, however, suppose the idea gets, by a magic, universally adopted in the both camps. In N years, the result would be a major part of the kernel distributable under either BSD or GPL, which, for all practical purposes, means BSD for a company wanting to take the code proprietary. Wouldn't it kill the GPL spirit??

Relicensing: what's legal and what's right

Posted Sep 5, 2007 16:40 UTC (Wed) by proski (subscriber, #104) [Link]

The "major part" would consist of drivers for some hardware, mostly obsolete by then. Why would any company need to close a driver for a 802.11g card once 802.11n is a mature standard? And for that matter, why would that company base its business on a reverse engineered driver instead of buying the software and the documentation from the chipset manufacturer?

Relicensing: what's legal and what's right

Posted Sep 5, 2007 18:10 UTC (Wed) by evgeny (subscriber, #774) [Link]

> The "major part" would consist of drivers for some hardware

Why? Do you say that if, hypothetically, the entire BSD tree becomes compatible with GPL, there is nothing worth to be used in the Linux kernel except an occasional hardware driver here and there?

Relicensing: what's legal and what's right

Posted Sep 6, 2007 1:00 UTC (Thu) by proski (subscriber, #104) [Link]

Yes, that's what I'm saying. It's just not worth the trouble to replace any deep Linux internals with the BSD code, even if the BSD code is better. Even in the case of drivers it's only the code dealing with the hardware that is going to be shared.

Actually, I think that the drivers are more likely to be dual licensed because it's unlikely that they will be closed sourced. What company would need to close source of the Atheros driver? On the other hand, more generic code will likely stay under GPL only because the risk of closing it would be higher if it were dual-licensed.

Relicensing: what's legal and what's right

Posted Sep 7, 2007 17:29 UTC (Fri) by amikins (guest, #451) [Link]

The entire BSD tree is already compatible with the GPL. Licensing isn't the issue in BSD -> Linux code migration. Earlier on, the point was to try to craft something new and make it work well. Later on, Linux was sufficiently diverged from BSD that the amount of code that could be made common was limited. This divergence only increases with time.

Relicensing: what's legal and what's right

Posted Sep 6, 2007 5:27 UTC (Thu) by mitchskin (guest, #32405) [Link]

It is a rare day in which Theo declares brotherhood with the Linux community.
lol, nicely done.

GPL should preserve BSD copyright notices for GPL's sake.

Posted Sep 13, 2007 19:15 UTC (Thu) by SPM (guest, #47382) [Link]

Regardless of Theo's or the BSD folk's rants, it is important for GPL's sake that all copyright notices are preserved and different authors' code kept separate so that the source and ownership of all the code can be traced. If you think this is not important, look back at the SCO litigation.

GPL should preserve BSD copyright notices for GPL's sake.

Posted Sep 13, 2007 21:18 UTC (Thu) by nix (subscriber, #2304) [Link]

The former is worthwhile.

The latter is completely impractical in a project with any number of
authors. What do you do: put a comment beside every single line giving the
initials of the people who worked on it? (Putting a comment at the top of
the file isn't good enough: it doesn't say *which bits* of the file were
changed). Both of these will make the program uglier and ruin automated
merges.

I suppose you could force each author to never modify a file that anyone
else had touched, but that would result in code that had essentially
arbitrary divisions into source files: i.e., an unreadable, unmaintainable
mess. (Because most languages imbue `file scope' with semantics of some
kind, it may actually be impossible.)

In practice this data can only sanely be stored in a version control
system (which is, of course, exactly what happens already). This means you
can't look at a printout and be sure who wrote what, but that's a tiny
price to pay given the enormous costs of working the way you propose.

GPL should preserve BSD copyright notices for GPL's sake.

Posted Sep 15, 2007 13:47 UTC (Sat) by SPM (guest, #47382) [Link]

That is absolute nonsense.

GPL works on copyright GPL work is not public domain uncopyrighted work. You cannot take someone elses copyrighted material and stick a notice on it to say it is your own copyrighted material - if you do, you may find yourself being prosecuted for copyright infringement. That applies to BSD code used in GPLed files as well if you don't follow the BSD license to the letter.

As for manageability of minor changes (eg. a bug fix), you can do what you like with code you use internally but don't distribute. If you are changing part of a line line or a few lines, then if you wish to distribute the code with the original authors code rather than a separate patch, the correct way to deal with this is to submit it to the author/maintainer of the project to incorporate into the original code, so it would go in as a code snippet under the copyright of the author/maintainer - if a number of people can change lines or parts of lines willy nilly within the same file as you suggest, then the project quickly becomes unmaintainable.

You should also note that to be able to claim copyright on something, the work has to be substantial. For example, you can't copyright names, numbers, enumerations, phrases etc, and you are allowed to literally quote short sections from other copyrighted works without infringing copyright. Hence in most cases you can use individual lines of code, header files, variable names and enumerations from someone else's work without infringing the other person's copyright, and by the same measure, you can't claim copyright on a code snippet which is not substantial. Hence the case you are talking about should never arise because code snippets should be passed back as fixes to the original code and go in under the original copyright.

Each author submitting his/her work as a complete file is of course no problem, and where possible (which is in almost all cases), it is best the way to go. If you wish to embed a substantial chunk of code under a different license embedded in another author's BSD code you wrote, then just put a comment around your code with your copyright notice and leave the other authors' copyright notices for the code you didn't write yourself. If you can't be bothered to indicate that the BSD license notice doesn't cover your code block, then just license the whole file under BSD.

IANAL, and it seems there is a lot of facts disputed here.

Posted Sep 17, 2007 20:49 UTC (Mon) by einhverfr (guest, #44407) [Link]

Hmmm.... This represents a difficult case. I suppose I should have no opinion as to whether the "relicensing" is actually legal or not. THere appear to be a great many disputed facts in the case (such as authorship-- is it Sam's code or Reyk's code, etc).

I do, however, agree with Theo on his interpretation of the BSD license, and that one cannot just assert copyright restrictions on the code with no authority to do so based on your own copyrights.

I also agree with Eben about some of the unreasonable behavior on the part of Theo's. Even when you go public, you should always act respectfully.


Copyright © 2007, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds