Theo de Raadt Responds to Linux Licensing Issues
bsdphx writes "While Theo may have a reputation of being "difficult" in some circles, this response to the recent relicensing controversy is thoughtful and well penned. Through this whole process I've learned some new things about both GPL and BSD licensing, and especially about combining the two."
Exactly the same thing happened with the Compiz/Beryl farce.
The Beryl developers took the BSD code and GPL'd it without the original authors permission. The exact same reasons of 'evil companies' will steal BSD code was given, but the 'evil' Beryl developers were the only ones taking but not giving back.
People should learn that even though this is open source they still have to respect other peoples rights.
He says that you cannotmodify a file to remove a license without permission, but he fails to acknowledge that a dual licensed file gives you that permission with the other license. If the GPL gives me permission to modify a file, then I can remove the BSD license from that file. If the BSD license gives me permission to modify a file, then I can remove the GPL license from that file. So long as I comply with the remaining license, I have permission to distribute the result, as the remaining license is what gives me legal permission from the copyright holder.
GPL fans said the great problem we would face is that companies would take our BSD code, modify it, and not give back. Nope -- the great problem we face is that people would wrap the GPL around our code, and lock us out in the same way that these supposed companies would lock us out. Just like the Linux community, we have many companies giving us code back, all the time. But once the code is GPL'd, we cannot get it back. Ironic.
No, not ironic. Just dishonest. You say all along that taking without giving back is the ultimate freedom, you criticise the GPL for not allowing more of this, you allow it for proprietary software, but just as soon as GPL software does something you consider to be similar (even though the source is still out there, it's unusable to you), then you have a problem? You can't get the code back from proprietary software either, but you don't bitch and moan when proprietary software does it, in fact you criticise the GPL for not allowing it. This just looks like you have a problem with the GPL, hold it to a higher standard than everybody else, including yourself.
If you wish for everyone to remain friends, you should give code back.
That means (at some ethical or friendliness level) you probably do
not want to put a GPL at the top of a BSD or ISC file, because you
would be telling the people who wrote the BSD or ISC file:
"Thanks for what you wrote, but this is a one-way street, you give
us code, and we take it, we give you you nothing back. screw off."
It's not true: he can modify and distribute under BSD the original code that was released under BSD, he can't distribute as BSD whatever was added and licensed under GPL. So none is stealing his work, they are just licensing their intellectual work as they feel it's better.
Exactly as Theo did when he decided to use BSD license: he choose BSD for a number of reasons, one of these was apparently that he thought that this kind of behavior is acceptable, as BSD license allows it.
So, why doesn't he change openBSD's license to something that he actually likes?
RMS and TdR have something in common...
So what he's basically saying is that he'd like modifications to the code to remain in the open. They should create a license that makes sure that always happens! Oh wait...
At least you can see the code, and the community is free to use it within the GPL limitations.
That's just it. Due to the GPL's viral nature, the BSD community cannot just "use it within the GPL limitations". Those "GPL limitations" would reportedly turn around and force the entire OpenBSD source base to be licensed under the GPL.
Now, that isn't the sort of thing that the BSD community wants. We like BSD-style licenses because they bring us the greatest degree of freedom, while still offering us some degree of protection. We avoid the GPL because of its viral nature. Just as somebody who developed GPL software probably wouldn't want to be forced into releasing it under the terms of the BSD license, a developer who releases their code under the BSD license doesn't want it GPL'ed.
I think Theo is wrong to suggest that the GPL'er didn't give anything back. What they gave back was a dangerous, viral piece of code. Not "viral" in the sense of malicious software, but "viral" in the nature of such a tiny fragment of code threatening the licensing freedom of millions of lines of other code.
While it does appear that he could be wrong legally, he is quite right from an ethical perspective. There is a lot of great work being done by the BSD folks and it would be quite impolite to tell them, "Hey thanks for your code, but you won't get anything back from us". I think the right thing to do would be to continue to use the dual license for the work in question.
If you're very worried about your improvements being close-sourced, perhaps it would be better to write your driver from scratch, rather than cutting off one part of the community. A tiff between the BSD and GPL camps is the last thing we need.
Freedom is not worth having if it does not include the freedom to make mistakes. - Mahatma Gandhi
all just get along? Seriously, I find any impropriety or the suggestion of in regards to licensing issues to be counter productive to the linux cause. I also find any infighting less than professional. Linux has long moved from the hobbyist arena to prime time. Although this "news" is hardly front page material, it does tend to reflect negatively on a product that already has it's work cut out it for general acceptance as a legitimate product. Hopefully it won't become fodder for power struggles and holy wars...oops - too late.
Long story short, Theo is a hypocrite.
The difference is that commercial entities which modify BSD code, compile it, and distribute binary-only distributions are not pretending to own the share and share alike happy friendly community open source high ground. The Linux community does try to own this high ground, really to the point where BSD gets no credit for having the less restrictive (more "open" and more "free") license. What Theo is saying is that if the Linux community wants to maintain its hold on this high ground, they should play fair with code they get from BSD, and share back with that project. Good in the world would be reduced if this turned into a war. Imagine BSD projects getting relicensed as a lever against Linux, say some sort of clause which prohibits dual licensing, and requires non-commercial entities to share code back to BSD. It could get uglier than that, but it probably won't, since the BSD camp has a long history of being the most open and free of free open source licenses, it's unlikely they would start using their license as a weapon at this point.
If you mod me down, I shall become more powerful than you could possibly imagine.
Exactly right! Except "grab something from the fridge" is very fuzzy, while the GPL and BSD are very specific about what exactly they mean, and have been debated to death. By now everybody understands exactly what the BSD means.
Now the lesson is this: If what you feel and what say do not match, then you're going to have problems, and they'll only be your fault.
If you say "Feel free to borrow my lawnmower whenever you need", and then your friend takes it right when you needed it, and that annoys you, whose fault is that? Your.
If you say "Feel free to take my source and do whatever you want with it", and then they do, and the conditions under which they license it annoys you, whose fault is that? Your.
The problem here is exactly this: Some people licensing software under the BSD do it trying to appear more altruistic than they actually are (not saying this is all of them though). In this case Theo seems to be demonstrating that what he thinks should happen with his code, and the terms he actually licensed it under differ.
If there's something you don't want to be done with your software, don't release it into the public domain or under the BSD.
If you don't actually want to have your project forked or built upon, don't release it under the GPL.
If you don't want to have friends suddenly show up at 3AM, then don't tell them they can do that just because you wanted to look polite.
If you offer to drive somebody somewhere, and that they actually accepted your invitation annoys you, then you shouldn't have done that.
IMO, trying to appear more polite and altruistic than you actually are is the cause of much annoyance in the world.
The intent of the original authors was for everyone to have the choice of license, not just the guy who submits the kernel patch.
BSD people are happy to let closed source corporations take the code, give no source and make money off it, but not as a starting base for an open-source community (GPL meets OSI definition I think) that doesn't want closed source derivates? It's just another case of BSD developers going "Waaaaaaaaaa, you use our code like we licensed it" or "Waaaaaaaaaa, you're making a GPL project that'll be more successful than ours". It's not "being impolite" when you're doing exactly what the license asks of you, and which repeatedly BSD users say "I'm just glad it's being used" whenever it's commented that some closed source company is using it. Well, it's being used and you're not getting any back. Wasn't that what you wanted? Then maybe you picked the wrong license. Why should GPL developers let themselves be held to a higher standard than anyone else using the code?
Quite frankly, the "moral obligation" you're appealing to is the same that it's been repeatedly proven that closed source companies don't have, which is the leading cause of wanting to license it under the GPL in the first place. So when BSD developers ask "don't you think sharing back would be the right thing to do" the GPL developers answer "absolutely, that's why I license it under the GPL". And every time BSD developers seems to be stumped by this answer, go figure. <Bad analogy time>It's like the GPL is the bouncer throwing out alcoholics and junkies that loiter around from the store, and the BSD is the customer saying "I won't shop anywhere that screens customers". Well, sorry it's not personal but as long as you insist on dragging that company in with you, you're not welcome either. Hey, maybe not so terrible analogy after all. BSD is like a public street, GPL is like a public store. And the BSD zealot is the guy standing outside on a soap box saying it's not "public enough".
Live today, because you never know what tomorrow brings
because it is a legal document.
It is not "illegal" if the license permits it. The license says:
Now, if someone makes the tiniest change to the code and only licenses their change under the GPLv2, then the entirety of the software can only be distributed under the GPLv2, which means that the portions of the BSD license simply are not applicable anymore.
The usual way of doing this would be not to alter the existing copyright notice, but to add a second copyright comment that says something like: "Portions of this code are copyrighted by John Smith and are licensed under the GPLv2. Please note that as a consequence, the entirety of this file may only be distributed under the terms of the GPLv2."
The effect is, however, the same: the file can only be distributed under the GPLv2, and the result is perhaps more confusing to users, which is why deleting the now inapplicable part of the original license is probably better.
The fundamental issue that this kind of dual-licensed BSD/GPLv2 code can be turned into GPLv2 code is unavoidable, however: that's the purpose and intent of dual licensing. Note that the reverse is also possible: someone can make additions to the code and only license those under the BSD license, killing the GPLv2 portion of the license.
(I won't even comment on Theo's use of terms like "illegal" and "breaking the law" other than to say that it's inflammatory bullshit.)
GPL fans said the great problem we would face is that companies would
take our BSD code, modify it, and not give back. Nope -- the great
problem we face is that people would wrap the GPL around our code, and
lock us out in the same way that these supposed companies would lock
us out. Just like the Linux community, we have many companies giving
us code back, all the time. But once the code is GPL'd, we cannot get
it back. Ironic.
I don't see anything "ironic" about it at all. The ability to take BSD code and use it without being forced to give it back is what BSD licenses are all about. If GPL'ed projects find it preferable to fork, lock out, and not give back, that's no worse than if commercial companies do it--the reasons of a GPL project to do this are just as valid as those of the many commercial companies who do this.
Apparently, Theo wants to have his cake and eat it, too: on the one hand, he considers "locking out" a bad thing, on the other hand, he refuses to adopt licenses that prevent others from locking people out. He is merely hoping that "locking out" doesn't happen. Well, looks like he is wrong.
As for Theo's implication that open source developers have special obligations to be nice to each other and cooperate, all I can say is that he should think about starting with that at home. The endless criticisms and allegations of virality by members of the BSD community of the GPL license, as well as his own strong language and flames hardly motivate GPL developers to go beyond the minimally legally necessary requirements when dealing with BSD or BSD code. If Theo wants GPL developers to take into account his wishes, rather than just BSD's legal requirements, he needs to become a whole lot nicer first (or, better yet, just step down and let someone else take over).
The point is that the original code could have continued to be dual-licensed and then it would have helped both BSD and GPL camps. By removing the BSD license (which they may not have the rights to do - IANAL but maybe that can only be done by the original copyright holder), they have now cut off part of the community. That is not ethical, IMHO.
I'm generally a strong believer in the GPL, but in this case I find myself sympathizing with Theo. Also, even though the BSD license allows anyone to close the source, in general, the BSD developers like to have changes given back - they just don't like forcing people to give back improvements. It's like an honor system, and in this case they feel changing the license to GPL was dishonorable, especially since the Linux devs should have known better.
Freedom is not worth having if it does not include the freedom to make mistakes. - Mahatma Gandhi
Secondly, Alan cox wrote:
Which means there are two licenses to chose from, who gives a rat's ass if you void one since you can use the other.
Liberty.
So what he's basically saying is that he'd like modifications to the code to remain in the open.
These are the points that I took away from his statements:
(1) That people were breaking the law, and encouraging others to break the law.
(2) He feels that building code on top of BSD code, and then licensing the improvements with GPL, is unethical. He didn't say it should be forbidden.
The first point is much more serious. If we do have high-up linux developers breaking the law and encouraging others to do so, there is a problem.
Social scientists are inspired by theories; scientists are humbled by facts.
> How is it clearly the result of someone relicensing BSD code as GPL?
> Wouldn't that be meaningless since only the copyright holder can license the work?
The BSD license grants permission to other developers to distribute modified versions under other licenses as long as the BSD license is kept intact. So, no the copyright holder of BSD licensed code doesn't have to relicense the code because they have granted this right to others. (This is not the case for GPL'd code)
Just because the BSD license permits someone to make modifications and distribute the modified version under the GPL, does not mean that the BSD license is not in effect. Any action permitted by the GPL is permitted by the current BSD license. That is why the FSF says the licenses are compatible.
The act of dual licensing original code under BSD+GPL is pointless because the GPL is more restrictive than the BSD and any act permitted by the GPL is also permitted by the BSD. On the other hand, if you derive BSD code and want to release the code under GPL, you must release under a dual license, but both licenses are in full force.
The author of the modification apparently pointlessly stated that his *changes* to the BSD code may be distributed under wither the BSD or GPL licenses. He cannot change the license of the BSD code he inherited. All code covered by the current BSD license can be distributed under the GPL.
Somebody read this statement, misunderstood the details, and started removing BSD licenses from files that originally came from OpenBSD.
Enter Theo.
Don't dual license code. Especially when you have to deal with not one, but two, bullheaded people.
Theo's position apparently is: if you take my code, make your changes, and never tell me what you did -- never even show me the changes -- that's your freedom. Enjoy it. The BSD license rocks. BUT, if you take my code, make your changes, and I find out what they are and can't reuse them myself, then you've abused the freedom I've given you.
Problem: that's an ethical argument, an argument about how one should or should not play the game of open source software. The BSD license is a work of law -- how the game may or may not be played, regardless on intention. IANAL, but the law probably supports the return of the BSD license text. Beyond that, the license did its job -- the code was indeed given away.
I think the confusion here is coming from using one term to mean two things. I think most everyone here is considering dual-licensed code to be one complete work which is available under a choice of licenses.
Theo however seems to be talking about a composite work consisting of code available under two different licenses, requiring the whole to be distributed under both simultaneously.
As to which case we're talking about here? Who the hell has time to rtfa and figure that out..
What does this button d$#%* NO CARRIER