Slashdot Log In
Theo de Raadt Responds to Linux Licensing Issues
Posted by
CowboyNeal
on Sat Sep 01, 2007 07:12 AM
from the getting-things-straight dept.
from the getting-things-straight dept.
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."
Related Stories
[+]
Linux: Linux Wireless Driver Violates BSD License? 355 comments
bsdphx writes "After years of encouragement from the OpenBSD community for others to use Reyk Floeter's free Atheros wireless driver, it seems that the Linux world is finally listening. Unfortunately, they seem to think that they can strip the BSD license right out of it."
[+]
BSD: Theo de Raadt On Relicensing BSD Code 613 comments
iBSD writes "KernelTrap has an interesting article in which Theo de Raadt discusses the legal implications of the recent relicensing of OpenBSD's BSD-licensed Atheros driver under the GPL. De Raadt says, 'it has been like pulling teeth since (most) Linux wireless guys and the SFLC do not wish to admit fault. I think that the Linux wireless guys should really think hard about this problem, how they look, and the legal risks they place upon the future of their source code bodies.' He stressed that the theory that BSD code can simply be relicensed to the GPL without making significant changes to the code is false, adding, 'in their zeal to get the code under their own license, some of these Linux wireless developers have broken copyright law repeatedly. But to even get to the point where they broke copyright law, they had to bypass a whole series of ethical considerations too.'"
[+]
BSD: Resolution of BSD-GPL Wireless Code Dispute? 215 comments
An anonymous reader writes "The highly publicized debate between Theo de Raadt and the Software Freedom Law Center seems to have come to an amicable end. SFLC has published its research on the lineage of the ath5k driver and determined who owns which changes. In the end, everyone agreed to license their modifications to the Linux driver under the BSD license, and OpenBSD developers can now reincorporate those improvements into the original code (with the exception of one historically GPL-licensed branch)." The article notes that Theo de Raadt has not responded publicly to this development but that comments on the issue in an OpenBSD Journal forum have been generally positive.
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
Compiz/Beryl (Score:3, Insightful)
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.
Re:Compiz/Beryl (Score:4, Insightful)
Parent
Re: (Score:3, Insightful)
Once that happens the code can't be distributed under the BSD license anymore.
Hypocrisy doesn't enter into it, it is likely that dual licensed code will end up under the GPL only when used in the Linux kernel. This doesn't necessarily prevent authors contributing their changes back to BSD, but it may require them to remove any GPL only code that is in the mix.
Since the code clearly can't be used under the BSD license if GPL code is subsequently inclu
Re:Compiz/Beryl (Score:5, Insightful)
Parent
Re:Compiz/Beryl (Score:5, Interesting)
Many businesses give back to BSD.
No GPL code will ever go back to BSD.
GPL'ing BSD code is a slap in the face that says "We will never, ever, give back. Period."
Parent
Re:Compiz/Beryl (Score:4, Insightful)
Is it fair to make them play by your rules? It sort of sucks, I guess. It's not all that unfair or anything: they chose to let you do so.
Parent
Re: (Score:3, Informative)
Read my lips: you wanted it that way. The BSD license allows for this and you knew it (I know you knew it because the commercial world has been taking BSD code and not giving back for years). You knew it and did nothing about it. What's more, you boasted about how great the license is. And now, somehow, you don't like BSD code being GPL'd. Al
Re:Compiz/Beryl (Score:5, Insightful)
From a BSD coder standpoint, the GPL IS no different from a proprietary license. Well, there is one difference. It's a white box instead of a black box. I can go in and see how it works and come up with my own algorithms. I could do it with a the black box as well, but it takes longer. But the reason why its no different is because as a BSD coder, I am no more able to use the GPL code DIRECTLY in my work as I am with a company that has locked it up.
And that is PERFECTLY FINE. GPL or proprietary, someone has found a use for BSD code and it moves on. Directly or indirectly, EVERYONE benefits. But IF you are going to share anyway (note the big 'if'), why can't you share with the BSD coders who made it possible?
Parent
Re: (Score:3, Interesting)
...And that is PERFECTLY FINE. GPL or proprietary, someone has found a use for BSD code and it moves on. Directly or indirectly, EVERYONE benefits. But IF you are going to share anyway (note the big 'if'), why can't you share with the BSD coders who made it possible?
They are sharing, under a license that they find philosophically compatible. When you say "why can't [they] share with BSD coders", what you're actually saying is "why can't the GPL folks just accept that the BSD license is the way they should license their code?" That's a fundamentally different issue.
Re:Compiz/Beryl (Score:5, Insightful)
Is this an honest question? Isn't it obvious that the GPL folks will not do that because they cannot just share it with the BSD coders who made it possible. To share it with the BSD coders, they would also have to share it with the lock up coders. Something they are unwilling to do and hence their choice of the GPL and not the BSD in the first place. Do you see some third way I am not getting right now?
all the best,
drew
Parent
Just doesn't make sense (Score:5, Insightful)
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.
Re: (Score:3, Insightful)
What he said is that this type of action is equal to not playing the community game as far as the BSD project is concerned. Your code maybe available for Linux, but
Re:Just doesn't make sense (Score:5, Insightful)
Right, but the BSD in fact gives you the permission to do this
Weirdest thing I've heard lately. This pretty much agrees with the GPL concept of "freedom" and seems to imply that BSD should be GPL licensed.
*head explodes*
Parent
Re:Just doesn't make sense (Score:5, Informative)
BSD allows you to use the code in your own project, your own project can be then redistributed with BSD code in it, however the BSD license cannot be removed from the BSD code. BSD code can be modified but the BSD license cannot be removed from the modified file either. It is not possible to add a new license to a BSD licensed file without permission of the original copyright holders.
However you can take BSD code, add it to your own project and distribute just the binaries of your project without giving any source code to anyone and it is not illegal under BSD. But BSD is a license and it cannot be legally removed from a licensed file.
Parent
Re: (Score:3, Insightful)
It is not possible to add a new license to a BSD licensed file without permission of the original copyright holders.
Of course it is. You just cannot remove the BSD license from the original code you did not wrote. GPL and BSD are compatible in this sense; you can for example add a function to a BSD licensed file and put a note there that the said function is licensed under GPL. Also, you can add GPL-licensed files into BSD-licensed project (GPL specifically allows it, and BSD license does not forbid it). After that you cannot distribute the combined work without agreeing to both the BSD and GPL licenses; of course o
Re:Just doesn't make sense (Score:4, Interesting)
I still think that's bizarre though. All this licensing stuff is just headache-inducing.
Parent
Re: (Score:3, Insightful)
Re:Just doesn't make sense (Score:5, Insightful)
Now, Theo has a (somewhat) well-deserved reputation for abrasiveness - he certainly doesn't suffer (people who he thinks prove themselves to be) fools gladly - but the more I read of the bsd-* lists, the more I kinda like the guy. He doesn't bite without reason, though you may be left wondering what that reason is...
Go read those posts again. He's not ranting, he's not raving, he's not flaming - he's stating fairly clearly why he thinks it's disappointing, in a sadly ironic way, that some people who ostensibly support a licence which forces freedom are taking advantage of a different one which merely hopes for it.
From a BSD licence POV, it's like "free software" is a community space with free open access and a right to use however you want - and the GPL is where somebody has come along and built a fence around part of it. Theo's saying that yeah, sure, it's allowed - but it's just sad that a part chooses to take advantage of the generosity and open nature of the whole...
Parent
Re:Just doesn't make sense (Score:4, Informative)
Parent
Shakespeare on license stripping (Score:4, Interesting)
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.
Parent
Re: (Score:3, Insightful)
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.
Re:Just doesn't make sense (Score:4, Informative)
Alan is either an ignoramus or lazy? If he took the time to look at each of the files patched he would have noticed that some parts of that driver are not dual licensed or GPL, in particular the ones I mentioned specifically.
Explanation enough for you?
Everybody crying "dual license" "dual license" is like a five year old child who's mother told him to sit on the sofa or play video games, but not eat cookies. When his mother catches him sitting on the sofa eating cookies he says "but you told me to sit on the sofa."
People need to grow up and recognize that Jiri did something illegal here and stop arguing half the situation because some of the files he modified were dual licensed.
Parent
Re: (Score:3, Informative)
Okay, lets be clear:
1) Someone wrote some code for OpenBSD, and licensed it with the BSD license.
2) The code is now allowable to be in OpenBSD, Linux, Windows, Solaris, cruise missiles.
3) Now, someone *could* insert their code and license it with anyth
Re:Just doesn't make sense (Score:5, Insightful)
Theo is bringing up two independent points in his message. The first point is that choosing to use the code under the GPL license does not mean you are allowed to remove the notice that it may be used under the BSD license. The second point is that while you are allowed to license modifications under a different license you are encouraged to license them under the BSD license. The points are somewhat intertwined which is why he makes them together.
As for the first point, his argument is simply that the BSD license requires that it not be removed from the source file. It is a modified BSD so it no longer requires acknowledgement when advertising a product using the code which is the specific part that made it incompatible with the GPL. It does still require that the notice remain with the code. You will note if you look at a project such as Apple's xnu that the BSD copyright notice and license remain intact on BSD source files with the APSL added to it. Likewise, the Mach copyright notice and license remain intact on files that came from Mach. Similarly, I moved the region code from X11 into wxWidgets and you can clearly see in the source code (src/generic/regiong.cpp) that the X11 license remains intact. Did I have to do this? For X11 no because X11 only requires that the copyright stay in the source file and the license be part of the program's supporting documentation. Had it been BSD licensed I would have been forced to keep the BSD license in the source code. Regardless, I did it anyway as a gesture of good faith.
This brings us to the second point, that of giving back to the commons you took from. As you point out, the BSD license does not require it! Yet somehow, the BSD codebase continues to grow with contributions not only from individuals but also from companies. The reason for this is that people feel obligated to give back useful portions of their work to the commons despite not being legally obligated to do so. Theo's observation here is simply that many companies are contributing back to BSD but that individuals wanting to use the code for GPL projects are taking a hard-line stance that because BSD does not require it, they will not do it. He's also pointing out that it's gotten worse than that because it has become so prevalent to insert BSD code into a GPL program and license the modifications under only the GPL that several individuals now feel they can remove the BSD license and copyright notices as well.
In other words, modifying the BSD code and licensing the modifications under a different license is allowed by the license and therefore technically legal but considered wrong. Removing the BSD license is against the license and therefore illegal.
Parent
However... (Score:3, Informative)
Re: (Score:3, Insightful)
The point is, the code from inception was organized by the developer as 'either GPL or BSD'. Anyone contributing code to that should recognize that. If someone choses to follow GPL, devs shouldn't get offended, they knew what they were getting into. If you don't want to play by the rules of a segment of a project, go away. Claiming that people cannot strip the BSD license on a redistribution is like saying because one of the licenses is GPL, you must always ship the source code.
But that's just the problem isn't it? It seems to me that the original authors intended to allow everyone who receives their work the option to license the work under either the BSD or the GPL license. If you strip one of the licenses out of the file aren't you specifically denying everyone the right to choose with license they want to use?
The intent of the original authors was for everyone to have the choice of license, not just the guy who submits the kernel patch.
different is as different does (Score:5, Insightful)
Parent
Re: (Score:3, Insightful)
Re: (Score:3, Informative)
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.
I'm sorry, but no. Let's put it terms of the GPL: If you remove one of the licensees in a dual-licesned source file, then you force every other person who receives that file (from your source tree) to accept the one license you left behind. You have, therefore, have denied the people who receive someone elses work from you a right you know the original author intended to convey to everyone. That's more than just dishonest, that's illegal.
Re: (Score:3, Informative)
Consider qt from Trolltech. You distribute it with your app und
Dual licensing interpretations (Score:5, Informative)
Re: (Score:3, Interesting)
Sorry Theo, but the author's wishes are there in black and white: use either license and toss out the other if you wish for distribution.
It's really not that hard to understand, if you want the BSD license to always be applicable to derrivatives, license under BSD only; If you
Re:Dual licensing interpretations (Score:5, Insightful)
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.
Parent
Re: (Score:3, Insightful)
Long story short, Theo is a hypocrite.
Re:Dual licensing interpretations (Score:5, Insightful)
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.
Parent
Re: (Score:3, Insightful)
Re:Dual licensing interpretations (Score:5, Insightful)
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.
Parent
BSD license (Score:3, Insightful)
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...
Licenses don't work that way. (Score:3, Interesting)
They can only do that if they are the copyright holders for the entire work.
If the work is licensed under the BDSL then he CAN NOT remove that fact by *relicensing* it under the GPL. In combining the GPL code with the BSDL code he has cre
Re: (Score:3, Insightful)
>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.
GPL intends to be one-way (Score:5, Interesting)
bullshit (Score:4, Insightful)
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.)
not ironic at all (Score:3, Insightful)
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).
Re:GPL is about giving back to community (Score:4, Insightful)
Parent
Re: (Score:3, Insightful)
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, the
GPL is about requiring derived code to be shared (Score:3, Informative)
Re: (Score:3, Interesting)
Re:Can't we (Score:5, Interesting)
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.
Parent
Re:Hmmm (Score:5, Informative)
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.
Parent
Re: (Score:3, Informative)
The man doesn't know when to keep his mouth shut or how to be civil. It looks like (thankfully) people in the OpenBSD project are telling him to shut the fuck up and let them handle things:
I stopped making public statements in the recent controversy because
Eben Moglen started working behind the scenes to 'improve' what Linux
people are doing wrong with licensing, and he asked me to give him
pause, so his team could work.
I'm surprised noone corrected you so far, given that Eben Moglen was the subjected of several /. stories already. Eben Moglen [wikipedia.org] is the FSF's lawyer. He's not associated with OpenBSD.
Or rather, he was the FSF's lawyer until the release of the GPLv3, which he co-wrote. Now he's the head of the Software Freedom Law Center, but he's still closely associated with the FSF and the GPL.