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.
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...
The intent of the GPL is to be a one-way trip. The idea is to create a large pool of identically-licensed code so that projects msy mix and match, borrow and steal from each other.
Don't piss off The Angry Economist
>It's a bit like a good street artist contributing something to society to listen to and
>enjoy, with a friendly request to donate something if they like it.
No, its actually like a mad street artist demanding only his "friends" to pay (and getting mad if they dont), and letting all other pedestrians listen for free and bootleg and distribute his music.
The problem is that certain Linux developers don't want to 'just get along.' Driver support is an important issue for all Free operating systems. Projects like DRI have been really great for this. DRI drivers are licensed under the MIT license (as is the rest of X), which is about as permissive as you can get without going public domain; it's even more permissive than the BSDL. This has allowed the DRI drivers to be used on FreeBSD, and even on some more obscure and less UNIX-like operating systems (I believe Haiku has used some of their code, for example).
Many people within the Linux community seem to view hardware support as something that gives them a competitive advantage over other operating systems, a viewpoint, perhaps, that they learned from Microsoft. Because Linux has the most restrictive license of any non-proprietary kernel, they make it hard for others to use their work, but continue to benefit from the work of others. Porting a driver from OpenBSD (for example) to Linux requires changing the interface. The converse requires a complete reimplementation.
When Linux developers go to the trouble of reverse engineering a piece of hardware, no one is arguing that they shouldn't be allowed to pick their own license. The problem comes when an OpenBSD developer goes to this trouble, and the Linux team then decides that any changes they make to the driver will be licensed in such a way that they can't be ported upstream.
In much of the community, it is generally considered bad form to add more restrictions to someone else's work. I tend to prefer the 3-clause BSDL for my own work, but some code I am working on now is based on some work that was originally released under the MITL. If I slap a BSDL at the top, then no improvements I make can be used by the original project, or by anyone else basing their work off the same source. If I stripped the MITL and replaced it with the BSDL then, as Eben Moglen points out, this would be illegal. This is the equivalent of what a few people in the Linux community wanted to do. I could place the BSDL above the MITL, covering my changes and the complete work, but not any of the original code. This would be legal, but it would be incredibly impolite. The F/OSS community is a community, and if it wants to survive then a culture of respect for the opinions and work of others is important.
I am TheRaven on Soylent News
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.
http://marc.info/?l=openssh-unix-dev&m=1143162246
You can't get much direct than that. I suggest you visit the link and read the rest of his mail.
-- Using the preview button since 2005
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).
At the very moment Shylock is about to cut Antonio with his knife, Portia points out a flaw in the contract (see Quibble (plot device)). The bond only allows Shylock to remove the flesh, not blood, of Antonio. If Shylock were to shed any drop of Antonio's blood in doing so, his "lands and goods" will be forfeited under Venetian laws. You can't strip a license without also taking the blood. With the license stripped, the code is rendered dead to the purpose under debate. See Quibble (I'm-smarter-than-you device).
Once you have the dual-licensed code, you can do with it what you want, so long as you respect ONE of the TWO licenses. However any derivative of this work must also have BOTH licenses included. The linux people are way off on this. Dual licensing does not mean pick one license and go with it, it means proceed with both licenses, obey one. The onus is on you to prove that you have the right to remove one of those licenses without proper permission. Why even have dual licensing if this is the case?
Secondly, the concept of community and sharing. Since both gpl and bsd have similar ideals (open the source), a certain amount of camaraderie and back scratching is nice. Each camp has similar goals. What pisses off the openbsd people in this case is that the gpl people acted in bad faith and removed a license illegally. Theo is 100% right about this.
If you want your work to be GPL only, separate it out and place under GPL only, and leave the dual licensed code alone, which would be legal. But as Theo says, this will reflect badly on the spirit of cooperation between the two license camps, and probably mean less inclination to support dual licenses in the future.