Theo de Raadt On Relicensing BSD Code
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.'"
I think what he is trying to get at is, since the GPLers are so into the concept of 'freedom' of their license, and respecting it, why can't they offer the same level of respect to BSD license?
...
Instead, GPLers strip the license and replace it with a license that they feel is 'better', but incompatible with the BSD. If they had kept it BSD, they could use it with the GPL, and the BSD folks could still use any improvements made.
But again, no respect for the license. Following the letter of the law, true, but not the spirit. Geez, where have I heard that before
I have to admit I am a little confused. You can take BSD code and close it completely under a commercial license, why couldn't you use the GPL instead of a closed commercial license? Why is it unethical to use the GPL but not to use a totalitarian closed license?
Maybe some technical violation occurred in the credits or some such but this just sounds to me like sour grapes because they can't have the changes. They can't have the changes when the source is used in a closed commercial environment, the BSD guys maintain that as ethical so they really don't have any ground to stand on here. Nobody has violated the spirit of the BSD license which is essentially "Here it is, take it and do what you want with it, even if that means incorporating it into a product that makes you millions of dollars and completely closing the software without sharing any modifications back."
I'm going to give you an "If I were them, I would have...", but in this case, it's not hollow. I've actually done this before, to positive effect. If you're going to use someone else's code under terms slightly different from what they clearly intended, I see an obvious course of action: ASK PERMISSION.
They say that it's often easier to get forgiveness than permission. This is absolutely not the case in the FOSS community. Yes, Theo is a hot-head, and he's clearly over-reacting. But at the same time, some Linux contributor didn't think very hard about the wishes of the original author of the code they borrowed. They just took it. In the FOSS community, we're not about copyright. We're about ethical sharing of ideas and the rights of both software developers and software users.
How long could it have taken to ask? "May I use your code?" "May I alter the license on your code?" "If not, is there some compromise we can reach?"
Learn some manners!
Hypocrisy is taking code from a project that shares it freely and then slapping a restrictive license on it "so that it can be shared freely". Doesn't anybody see the irony in that?
That's the "unethical" part that Theo talks about. The "illegal" parts are:
1. removing the BSD license notice altogether, and
2. making it look like the authors of the linux derivative work are the original authors.
In 1, yes, doing so doesn't change how the now-dual-licensed code is distributed, since the GPL's distribution terms supercede the BSD's. But it does change a legal document, and that is important.
In 2, this is a bigger deal, since derivative works are subject to different copyright law, particularly given the venue.
The thing is-- this stuff is easy to fix. Treat it like a bug, be an adult, and amend the broken files. No one wants to keep BSD drivers out of Linux, and the real meat of the discussion is: is it good for the F/OSS community to be taking code in a manner that is, at the very least, offensive to some people? You're absolutely right when you say that it's perfectly legal to slap a GPL license onto BSD code, but why do it other than to prove you can? Does anyone here really think that Atheros gives a shit about a BSD driver for their chipsets? And even if they do-- who cares? If Atheros wants to replace their shitty drivers with something better, so be it!
F/OSS depends on cooperation to survive. If you want real software freedom, you can't be petty. The whole idea is of giving, not taking.
Here is one reason why BSD guys would rather see BSD code taken completely proprietary than see it go GPL: when the code goes completely proprietary there is still a chance that patches will be contributed back to the original BSD project.
Consider the "stupid tax". This is the "tax" you must pay if you take BSD code, change it, and keep the changes to yourself: every time the BSD project releases a new update, you will need to sync up your custom changes to the official project. The time and effort this requires is the "stupid tax" you are paying for being "stupid" (i.e. not contributing your changes back to the project).
The hope is that after a while, companies that have been paying the stupid tax will say "this is stupid" and contribute their changes to the main project. But with a GPL fork this just won't happen.
Any time the BSD project releases an update, someone will merge the changes in to the GPL fork. And if you contribute changes to the GPL fork, of course they are in every release and you don't need to do anything. So there is no real pressure on features added to the GPL project.
With no GPL fork, you must choose between sharing with the BSD project, or "paying the stupid tax". With a GPL fork, you have a way to avoid the stupid tax and share with others, yet deny the changes to the BSD project. (If you are doing proprietary things with the BSD project, you will not of course have this option.)
And of course, it must be maddening for the BSD project guys to see the patches going in to the GPL project and know that they can't use them. If the GPL project gets a new feature that's a good idea, they must re-code the feature, just because of an incompatible license. (That's why I licensed my lf utility under BSD; I'm hoping it will become a standard part of the userland in all *NIX someday, and the thought of the BSD guys having to re-do all my work just made me sad.)
steveha
lf(1): it's like ls(1) but sorts filenames by extension, tersely
And it is!
The fact that somebody licensed a derivative work under the GPL in no way changes the license on Darin's code. Darin's code is still BSD and always will be, and from now into perpetuity, anybody can use Darin's code however they want, just like he'd intended.
What people can't do is use the derivative work however they want -- like, in a proprietary piece of software. But that's another issue! Some guy started with Darin's code and made something else out of it; let's call that guy "Bob." It's really just Bob's changes to Darin's code that are GPLed.
You see? Nothing the GPL people can do or have done will change the fact that anybody can get Darin's code under the BSD license.
The problem is this damn word "relicensing" we keep using. It implies that the license is somehow changed. It isn't!