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.'"
here's the article on undeadly and and here's a synopsis from a misc post An excellent (and apparently sarcastic) quote:
Reyk can take them to court over this, but he must do it before the year 2047."but money is the God of Algiers & Mahomet their prophet." - Rich. O'Bryen June 8th 1786
I seem to recall a recent incident where the OpenBSD team was caught doing something similar. That they're reacting like scalded cats now seems to be in slightly poor taste, to put it mildly.
For the last decade+, people have been claiming that the BSD licenses are more free than the GPL, because they effectively place no restrictions on what you can do with the code. Now we're being told that there are restrictions on what you can do with the code.
Another trolling article submitted to /. and sadly chosen too.
/. these days. /. is turning into osnews in terms of trolling stories.
Yesterday RMS, today Theo, tomorrow Jeff Jones...
Too much trolls on
Nice going, keep it up troll feeders.
-- "Genius is 1% inspiration and 99% perspiration" - TAE --
Could you please cut out these stories? He didn't say anything new. The Point was allready made. The mistake has long since been corrected and so on...
Its been done for over 10 years (GPL grabs of BSD style code).
i once saw with utter shock that someone took code from Darin Adler nearly 10 years ago
http://en.wikipedia.org/wiki/Darin_Adler
I noticed that I saw his stuff slapped with GPL viral license and then I compared to earlier nearly IDENTICAL source code files where he specifically went out of the way to put the GPL on it.
Darin wanted his code on this one utility module to be 100% free.
I guess the Linux camp has been doing this for over 10 years now. So immorality is nothing new.
Wasn't all the hard work of SCSI in BSD lifted ages and ages ago too?
So sad. I used to respect the GPl until I saw how the zealots will grab anything and call it their own and even claim copyright OWNERSHIP over code not alterred materially other than swapping out the legal license.
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."
Making blanket statements about "the Linux guys" or "Linux" is so fucking inaccurate and stupid. The patch was carried in NO MAJOR GNU/LINUX DISTRO. Got that?! I'll put in bold and emphasis for you below so that your brain has a chance to absorb the point:
NO GNU/LINUX DISTROS CARRIED THE PATCH No GNU/Linux distros carried the patch.
Now, please, shut the fuck up.
Sincerely,
A happy OpenBSD user.
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!
1) The BSD licensed guys are pissed because someone took some code and locked them out of it, despite being rabidly pro the freedom to do exactly this.
2) The Linux guys are technically in the right but still taking dual licensed GPL/BSD code and locking it up is a pretty shitty thing to do.
3) Hot heads on both sides have managed to turn what should have been a quiet chat about a moderate, considered approach and with the magic described most eloquently as the PA Greater Internet Fuckwad Theory ensured that relations remain as hostile as possible.
The only conclusion can be that the idiots on both sides (Theo included) actually work for Microsoft and are puppets dancing to the compelling dark tunes of their evil and cunning masters.
The end.
Beep beep.
Certainly it is NOT okay to remove the copyright notices from BSD material, as long as there's something left in the file that's covered by the BSD license. So, don't do that. But you CAN take a BSD work, combine it with other works, and have the final result as essentially GPL'ed or proprietary. My FLOSS license slide even helps you figure out when you can do that, and when you can't.
But that only covers the legal issues. If there's an existing project that releases something under an OSS license, it's usually better to continue to use their license than to fork off another project under a new license, especially if you're not making many changes. For a lot of reasons.
LWN's article "Relicensing: what's legal and what's right" is worth a look.
- David A. Wheeler (see my Secure Programming HOWTO)
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.
It sounded to me that part of the problem was that the BSD copyright notices were stripped out of the code, which is not just obnoxious or just locking away the code, but is illegal and immoral: it removes the notice of who was the original author of the code.
It also sounds obnoxious to take someone's code but to resubmit the changes and bug fixes under a more restrictive license--just as it would be obnoxious for a private company to submit bug fixes but to say "in order to distribute our changes you will have to license the code from us for a grand a year." But to my mind it's just that: obnoxious.
I think Theo is essentially correct. To the best of my knowledge, the ground rules are:
1. Don't touch the license header unless you make substantive changes
2. If you make substantive changes, you may amend the license header to add your copyright (but not remove existing copyrights) under the same license
3. If you make substantive changes and insist on licensing those changes under a different (but compatible!) license to the original, you may add a new license header above the existing one with your copyright (without modifying the existing header)
The initial problem was that the original license header was replaced entirely, even though no substantial changes had been made. The original license header has now been restored, but there is still an issue with a new copyright declaration having been added in the absence of substantive changes.
DNA just wants to be free...
If Theo didn't want people copying his code and redistributing it under another license, he should have used the GPL...
I think you are missing the point, it is one of ethics not legality. The FOSS community is built upon the notion of giving back. An ethical FOSS developer would take a BSD driver, improve it, and release his/her changes under the original license. This new work is usable in Linux and he has given back to the community that the improved driver is derived from. However in this case the developers chose to engage in zealotry, to violate the FOSS spirit of giving back, and that is very insightful into their character.
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!
BTW, I am an avid Linux user, and I think that the Linux kernel developers who made the error made an honest mistake. Let us treat it as such.
Unfortunately, the more I do my own research, the more worried I am about Theo's main complaint-- that the SFLC may be giving out advice that seems questionable to me.
While IANAL, I say so based on my own understanding that it is nearly impossible to sue lawyers for malpractice and so we *all* need to develop a basic understanding of the law in areas which are relevant. Here are specific points I would make:
1) While the BSDL and related licenses clearly do not have the intent to force sharing of code, they clearly *do* have the intent to provide the downstream recipients of the original elements of that code with the rights listed in the license. So Theo is right that you cannot simply wrap the BSDL in the GPL.
This is particularly relevant to the GPL3 because it introduces potential license incompatibilities between BSDL-code and GPL3 code (see section 7 on removing additional permissions *without* asserting copyright).
2) Copyright law seems even in the US holds that nonexclusive licenses are clearly indivisible and do not automatically grant sublicense rights (a sublicense being a new license issued by a licensee). Some BSD-like licenses (like the MIT License) explicitly allow sublicensing the code and in this case, wrapping it in the GPL would be allowed. Otherwise, it seems difficult to make this case. Whether exclusive licenses are divisible is not yet a settle matter of law as far as I can tell (you have the Gardner v. Nike case which suggests that they exclusive licenses are indivisible, but that is the only case I can find).
BTW, Mr Moglen dismisses the above issue without providing any substantive argument against it.
3) Some BSD-like licenses seem to be addressed to all downstream users and do not include the right to sublicense. The ICU licnese, for example, and the X.Org licenses start out "Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files..." and does not specifically state a sublicensing right.
Thus I am not sure that the advice that these can be automatically sublicensed under the GPL is advice that is sound.
For these reasons, I have been suggesting that open source project leaders should seek unbiased legal advice from people outside the community.
LedgerSMB: Open source Accounting/ERP
The BSD license clearly doesn't restrict your choice of license for any derivative works you may make.
Which is exactly the point. Theo is arguing that Linux is not allowed to use GPL for their derived product, thus arguing against the spirit of BSD licenses ( and making no sense).