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."
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)
I recognize that writeup about the Atheros / Linux / SFLC story is a bit complex, so I wrote a very simple explanation to someone, and they liked it's clarity so much that they asked me to post it for everyone. Here it is (with a few more changes)
steps taken:-----
starting premise:
1. pester developer for a year to get it under another license.
2. climb over ethical fence
3. remove his license
4. wrap his license with your own
5. assert copyright under author's license, without original work
Right now the wireless linux developers -- aided by an entire team of evidently unskilled lawyers -- are at step 5, and we don't know what will happen next. We wait, to see what will happen.
Reyk can take them to court over this, but he must do it before the year 2047.
Here you go.
Note the difference in terms of how the Linux and OpenBSD communities handled that case.
- The Linux community waited until OpenBSD developers were violating copyrights before raising the issue. In this case, the OpenBSD people complained about a diff posted to a mailing list that hadn't even been accepted
- The Linux community raised the issue with two relevant mailing lists and a small group of other concerned parties. The OpenBSD people had the supposed BSD violation (that wasn't, because the diff hadn't been accepted at that stage) up on undeadly.org within 24 hours.
- The Linux community made no specific allegations, and offered help with completing the driver. The OpenBSD people have essentially insulted the Linux community throughout this discussion.
And on the defensive side:Further, to make things even more ridiculous, many on the BSD side claimed at the time of the bcw violation that this was somehow evidence that the BSD license was "superior" because it wasn't viral, and BSD code could be incorporated into Linux without violating any licenses. They're now arguing the exact opposite, some even claiming the BSD license is viral.
This is pretty straightforward. There are no infringing Linux kernels out there.
At the same time, the level of hysteria raised by the OpenBSD community, and the distortion of truth and double standards exhibited by its leadership, not to mention the insults and constant attempts to alienate similar groups, really raise serious questions as to OpenBSD's long term viability. Cooler heads need to prevail, and make a commitment to fork the project should its current leadership continue to spiral out of control.
OpenBSD is a respected operating system that is relied upon by communities and businesses across the world. It deserves, and demands, a stable leadership committed to creating the best operating system they can. The current OpenBSD leadership isn't that. This must change.
You are not alone. This is not normal. None of this is normal.
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.
Personally, I want to stick Theo and RMS in a cage and see who lasts longest...
Interesting
http://en.wikipedia.org/wiki/Theo_de_Raadt
vs.
http://en.wikipedia.org/wiki/Richard_Stallman
Theo is younger (39 vs 54) and fitter than Stallman. More aggressive too - Stallman seems like a fat old hippy who'd go into the cage expecting to talk his way out of it. Theo's got a nasty streak and he'd instinctively grasp the rule that two men enter, one man leaves. Life's always been like that for Theo it's just that up to now the violence has been sublimated. Finally, even though he hides it well, the Winged Monkeys of proprietary software would help Theo if things got tough, especially against Stallman.
echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
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...
> really raise serious questions as to OpenBSD's long term viability. Cooler heads need to prevail, and make a commitment to fork the project should its current leadership continue to spiral out of control.
You can't be serious. Another fork of BSD? I mean there are only 4 widely recognised free forks out there, plus lots more that may not be open, not recognizable as BSD, or not significant...
Actually I have the feeling that you are a secret Linux agent, trying to splinter the forces of BSD. Yes, that would make sense.
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!
That's a good one; a group with no money sues another group with no money. Finally! A legal case that won't involve money!
Your honor we motion that defendents, if found guilty, should have to apologize and donate 20,000 lines of code to BSD.