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.
I have a feeling that the Linux community will hesitate to admit any wrong doing here. Not that I am anti-linux or trolling on purpose. I just know that Theo has a bit of a reputation and Linux zealots being what they are... ah well. Nothing like OSS license holy wars.
My humor is probably your flamebait
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)
And are you a lawyer? Cause it seems like you understanding of the law is that only lawyers can claim understanding.
Law is understandable. It really is just common sense. That's why the jury is so important. When you think of the law, try to imagine what 10 average people would think, not what some ambulance chasing, paper pushing, pencil necked, money grubbing lawyer would think. Average people want the law to work so they can go on with their lives and not feel bad about their decision, average lawyer wants the law to work for them so they can become a partner and buy a new bmw.
Doctors, lawyers, scientists, politicians were all held in high esteem by past generations and usually for good reason. Now, it seems like they are all just out to make a buck.
Sorry, but mods, please read the BSD license before modding parent.
Sorry, but the BSD License SPECIFICALLY states that the copyright license/notice and diclaimers must be kept with any binary or source redistribution of the code.
Now the code in question was dual licensed, with "either" being the join, not "both", so they may theoretically be able to chuck the BSD license. However, straight BSD does not allow removal of the license like you suggest.
Oh, and the BSD License for the curious. Occasionally clause 3 and 4 can be removed, but clause 1, which is the relevant portion here, is always kept. BSD License
34486853790
Connection too slow for X forwarding? Try "ssh -CX user@host"
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.
What traditionally has happened when proprietary UNIX'en redistribute modified BSD code is that they include the BSD copyright notice, and then add their own. The users then have to obey both the restrictions imposed by the original copyright, plus the restrictions imposed by the UNIX vendor
The "correct" way for the Linux hackers would be to do the same, include the original dual license text, but make a clear notice that the derived work can only be redistributed under the GPL.
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!
To paraphrase you: "I didn't read what Theo wrote."
Actually, that was uncharitable. Let me offer you a better paraphrase: "I didn't bother to try to understand what Theo wrote, because I was convinced beforehand that nothing he could say could change my mind, because my opinions are not based on anything as flimsy as evidence."
Are you adequate?
OK, fine. That's one opinion, particularly valid from the PoV of a code-writer. But the PoV of a code-reader/user is very different: either the code crashes or it does not. Any change, even trivial in terms of creative effort, has enormous impact on the value of the work.
Or put another way, deRaad doesn't think debugging has enough value to be granted the rights of creating a derivative work.
I might agree adding a comma or changing a word on page XX in a novel does NOT create a derivative work. However, code is very fussy and utilitairian. Unless the code will run _exactly_ as-is, any mod is a derivative work.
my password really is 'stinkypants'
Yeah, Theo is younger and fitter, but Stallman has a katana in imitation of this xkcd cartoon :-).
A little lightening up would be good, frankly.
As noted in LWN, this kerfluffle seems to have been kicked off when "wireless developer Jiri Slaby posted a patch which stripped the ISC and BSD license notices from the source, replacing them with GPLv2 license text. It should be noted that this patch was not accepted into any repository anywhere and never became part of any exported Linux kernel tree. Nonetheless the BSD community exploded in a very public way. It is interesting to compare their public response to this posting with the sort of response they very loudly insisted was their due when they were found to have carried improperly relicensed GPL code in their repository for some time."
- David A. Wheeler (see my Secure Programming HOWTO)
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
I'm not eligible to comment on the legal ramifications, but I certainly think there are moral issues in there.
If you're supporting GPL and hence software freedom, you must respect other's freedom too. There is nothing like my way of freedom is bigger than your freedom.
It *might* be ok for a corporation to lock their modifications under lock-n-key, but it's certainly NOT ok for software freedom torch bearers to do the same AND thump their chest about supporting freedom of software. Respect given is respect got! There are no two ways about it.
What was done might not be illegal (I don't know!), but it was definitely abusive and obnoxious. You can't claim the moral high ground after doing the same thing as the people you denounce. Hell even everybody's favorite enemy Microsoft didn't change the copyright on BSD derived software they use... ftp.exe still contains the BSD license.
Think again!
- mritunjai
I think you are confusing BSD-Licensed code with public domain code. In public domain code, nobody has a copyright so there are no terms or conditions to abide by in the license.
In the BSDL, you have to reproduce the license on the code, include the copyright notice, the disclaimer of warranty, and optionally a couple of other clauses (non-endorsement and/or advertising).
You can still use the code. You can still release the code.
The argument is when one may add additional restrictions to the code that is released. In general:
1) Must one have a valid copyright to enforce on the code? If Theo is right (and I think he is) then BSDL-code is incompatible with the GPL3 at least as other components in the Corresponding Source are concerned (because you can only put the files in the Corresponding Source if they can be *relicensed* under the GPL3 *without* asserting additional copyrights).
2) What consitutes a valid copyright? In the US one must have substantial original, expressive elements in the work. Reformatting, correcting typos, etc. doesn't count. Adding a large block of code definitely does. In between, it may be a gray area.
Let me flesh out my reasons for agreeing with Theo on point 1. IANAL.
1) A sublicense is a new license agreement between the one licensee and a downstream licensee. If you sublicense my code under the GPL, the parties to the agreement are you and the downstream users. You might or might not have statutory relief (IANAL), but you would probably have tort relief. To issue a sublicense, one must either be a copyright owner or have permission from the copyright owner to create such a contract.
2) Prior to the 1976 Copyright Act, sublicenses were not seen as implied in copyright licenses of any sort. The copyright was seen to be indivisible, and so was any agreement short of a total transfer of copyrights(cf Harris). After the 1976 Copyright Act, non-exclusive licenses were still clearly indivisible (i.e. not sublicensable or transferrable by default), but there is some debate about exclusive licenses (see Gardner v. Nike where the 9th Circuit ruled that exclusive licenses were indivisable and not transferrable without the consent of the original copyright owner). Hence if a license does not have a sublicensing right attached to it, no sublicensing is possible at all from a nonexclusive license, like the BSDL.
3) Many of the BSD-like licenses are clearly addressed to all downstream recipients of the code (of course this only applies to projects that release the code). This means that you cannot remove rights simply by saying so, which makes it problematic from a GPL3 perspective (reread secton 7 again carefully). Note that this is only problematic for dependencies covered in the corresponding source definition. Copying in BSDL code would still be OK as long as the file as a whole was still a distinct work from the copied code.
So I don't think that most BSD License variants (exceptions include the MIT License) allow this sort of relicensing.
In short, with a BSD License, you are not forced to release your code, but if you do, you must pass along the same rights to the original code as were in the original BSD code. Derivative works can be under other licenses, however.
Once again, IANAL. If this matters to you, I suggest you seek competent and unbiased legal advice from a copyright attourney without an agenda relating to Free Software.
LedgerSMB: Open source Accounting/ERP
1.) In making any additions to the overall work that they wished, which would put the combined work under the GPL and
2.) Even if they didn't have #1, the work was dual-licensed with the GPL by a previous author before the BSD folks worked on it.
That said, was it the right thing to do? Maybe not. Having taken that work from BSD, the spirit of cooperation might have best been satisfied by making the result under BSD. However, so many of us hate to see folks take our work private in proprietary software that we resist using BSD licensing. So, I can't blame the developers for this one.
Bruce
Bruce Perens.
Maybe Theo should follow his own advice.