GPL Hindering Two-Way Code Sharing?
An anonymous reader writes "KernelTrap has some fascinating coverage of the recent rift between the OpenBSD developers and the Linux kernel developers. Proponents of the GPL defend their license for enforcing that their code can always be shared. However in the current debate the GPL is being added to BSD-licensed code, thereby preventing it from being shared back with the original authors of the code. Thus, a share-and-share-alike license is effectively preventing two-way sharing." We discussed an instance of this one-way effect a few days back.
You are in a maze with twisty little passages.
Do you tag this article:
* noshitsherlock
* duh
* wateriswet
* slownewsday
* cowboynealsayalloftheabove
Sigh.
This is nothing new. Provide a permissive license and expecting everything to be returned to you is contradictory to the very license you've chose. Forking happens all the time, usually around licensing or management issues. So aside from the little dust storm we've seen recently regarding the wifi driver and the copyright clause I don't see how this is news.
The GPL and BSD type licenses coexist perfectly, so long as both parties take the time to understand each other. Which is mostly the way it's happened. Kind of making this a none story.
Quack, quack.
Clue: it doesn't mean "as well as".
Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
Having talked to a few BSD licence fans most of them like the licence because it allows another group to take their code and close it off.
This is exactly what the Kernel and other guys are doing, they are taking the code and putting a GPL header in there, closing it off from the BSD developers.
The only difference here seems to be that because the BSD developers can see the changes and improvements being made they want to include them. Whilst putting the GPL on may be against the spirit of cooperation it seems to me to be exactly the kind of closing off of the code that the BSD developers want to allow.
So Theo and the rest of his OpenBSD-Trolls better shut up.
Netrek 2006, for example, has a BSD/MIT style license that says "Do what thou wilt except re-license under a (L)GPL or similarly viral license". The author of that license specifically identifies GPL as reducing the freedoms of the developer, which to be fair I'm inclined to agree with.
If you were blocking sigs, you wouldn't have to read this.
I've read Theo's rant, and I found the section about not sharing code back to be pretty humorous, considering that's the way the BSD license is written. If you wanted to ensure that code be shared back into your projects, you'd use a copyleft-style license instead of a BSD/MIT-style license, wouldn't you?
I personally prefer the GPL, but I've been around Slashdot for a few years and understand the "more freedom" argument from BSD fans. That "more freedom" is the freedom to relicense or even completely close up the code, returning nothing to the original project.
Why's everyone got their panties in a bunch over something which the license allows? (I also understand the origin of this anger being the removal of the attribution and BSD text from the wireless kernel patch proposed, but it was just proposed, not accepted, and the situation was immediately resolved.)
Put identity in the browser.
Or did someone issue an edict that Linux kernel code can't be dual-licensed, at some point when I wasn't paying attention?
I think the point of the story is the following:
1. Developer A writes some code for OpenBSD (or whatever)
2. Developer B says "that's cool, I wish Linux had that"
3. Developer B ports developer A's code to Linux
4. Developer B then starts improving on A's code
However, developer B doesn't want to release his changes under the BSD license, so the improved version goes out GPL-only. Developer A says "hey, wait, that sucks", because now he can't incorporate those changes back into OpenBSD, which does (I assume) have a policy that all code must be BSD-licensed.
One one hand, it's unfortunate, because OpenBSD loses out. On the other hand, the original author wrote the code knowing that someone could take it and not release changes (for instance, incorporate it into Windows or Mac OS X or SunOS or something like that), and this really isn't all that much different.
Q: What happened?
A: A contributor of a patch to the linux kernel didn't notice that it contained both dual-licensed and BSD-only code, and posted a diff that GPL'ed the whole thing.
Q: What happened then?
A: Several things. 1) The mistaken (and clearly incorrect) change of license on BSD-only code was rectified. 2) Theo de Raadt leaped upon this golden opportunity to accuse the linux kernel developers of stealing code and eating babies 3) Separate issues of the legal and ethical obligations related to license changes, dual-licensing, proprietary software, and the price of peanuts in Perth were immediately injected in the discussion and a classic internet blizzard of bullshit blanketed the land of free software.
Q: Latest news?
A: Several developers involved have attempted to help the situation by saying they want collaboration and harmony and dual-licensing their code, but these positive efforts have gone mostly unnoticed as everyone on all sides proceeds to get angry and confused. Apparently high intensity behind the scenes consultations with Eben Moglen have resulted in a daring mission to dual license an OS/2 + Novell Netware application stack under GPL 3 as translated into Babylonian Cuneiform, thus simplifying the situation for everyone.
Q: What's the moral of the story?
A: Sometimes, cooperation is harder to achieve than competition, or "the greedy fox gets stuck debugging the rotten oysters".
In one sense, the GPL does hinder two-way code sharing. You can't distribute, modify, etc. a project as a whole under the terms of the BSD license if some code in the project is under the GPL. So adding GPL-ed code to a BSD-licensed project does hinder two-way sharing.
However, the fact to the matter is that it is the _BSD_ license that allows you to do this. The BSD license simply does not require you to share your changes.
So, if you are asking yourself why changes aren't being shared back, the answer really is that the original authors (who put their code under the BSD license) said it was OK to use their code without sharing back.
Of course, you can still call into question the behavior of people who take something willingly shared with them and then put up obstacles for sharing back with the original authors.
Please correct me if I got my facts wrong.
Telling me I can do something and then rebuking me for doing it is kind of a shitty practice, isn't it? If you want me to share code with you, put it in the license. Microsoft and Real won't contribute back, either.
Put identity in the browser.
The Linux code is being patched to fix the license problem, says TFA. Here's the content of the patch.
Note what the patch is doing, very carefully. The patch is changing the copyright notices on top of the modified files to say that these files are licensed under the GPL, but are also based upon an earlier work licensed under the BSD, and then reproduce the copyright and license statements as required by the original BSD licenses. This makes completely transparent the following things:
Are you adequate?
Honestly, the way some people talk about "Freedom", you'd think it was something you could buy by the wheelbarrow load. Freedom isn't something that exists in and of itself. It only exists in relation to people and activities.
To say that the BSD licence hinders freedom is just insane: it grants close to maximum freedom TO users, developers, and distributors TO DO pretty much whatever they like. v The GPL on the other hand deliberately restricts the freedom of one of those stakeholder groups - the distributors - in order to preserve the freedom of the users and developers in the longer term.
If you say that the GPL licence is more or less free than the BSD licence, all you are really doing is criticising a group of developers for their failure to share your own priorities. That always strikes me as an ugly, intolerant, narrow minded way of thinking.
This whole mess has the stink of FUD about it. There are a lot of people who would like nothing better than to get the GPL devs and the BSD guys together and say "hey, why don't you and them fight?"
I have a suggestion to make: let's disappoint them.
Don't let THEM immanentize the Eschaton!
I think the problem here is that you haven't told the parable in its entirety:
There you go: fixed that for you :)
Don't let THEM immanentize the Eschaton!
Everyone seems to be completely missing the point here. As someone else pointed out, GPL supporters love to claim the moral high ground when it comes to comparing the GPL to anything proprietary and they love to say how the GPL promotes sharing and openness. So how do you claim the moral high ground when you just took someone else's project and forked it so that they can't use it the way they originally intended?
So what if that's what if that's what the BSD license allows people to do! It's about moral hypocrisy, pure and simple. How can you claim to be free and open when you just basically told the original author that he/she needs to follow your rules in order to benefit from anything you add to it. It wasn't your project to begin with, but you're arrogant enough to fork the project and slap your own license on it, for what? Just because you don't like the BSD license?
The point is that we have the GPL camp and we have the BSD camp. The GPL camp takes code from the BSD camp and the BSD camp is not able to merge those changes back into BSD code. The issue here is not that this is a license violation; it is not. BSD people, like me, want other people to use our code. The complaint here is about the hypocrisy of the GPL camp, who claim that they don't want anyone to use their code without giving back the changes, but then turn around and do just that to the BSD people's code. Again, I emphasize that this action is not a problem to us; we want it and we expect it. The problem is with the GPL camp saying how they are somehow "more free".
The BSD developers got what they wanted. Their code is in use. The BSD license intentionally trades away protection from inclusion in differently licensed projects in return for the increased likelihood that the code can be used.
The GPL developers got what they wanted. Their code is protected from proprietization (And ONLY their code. Anyone can take the original BSD licensed code and do what they want with it).
There is no story here. The GPL and BSD licenses try to achieve different goals and both work as advertised. If you want an analogy: BSD is like the girl who sleeps with everybody. She gets a lot of sex and is invited to every party, but nobody respects her. GPL is like the girl who is selective about her partners. She doesn't have quite as much "fun" and has earned herself a little bit of a hard-to-get reputation, but the people who know her treat her well. Proprietary licenses usually require payment.
The GPL has hindered code sharing. Do you remember the Broadcom wireless driver debacle wherein Theo recieved a nasty gram for porting the code to BSD? No, well here goes. Theo recieved a warning from the Linux project maintainers of a Broadcom wireless driver. This was really in poor code-sharing taste and ultimately caused the cancellation of the porting efforts. In the end, both Linux and BSD users lost out. Was OpenBSD really going to profit from it or commercialize it, no! It is simply in the spirit of hardware support. Now, let us look at OpenSSH, a fine product from OpenBSD. Linux and GPL people use it all of the time. I am hard pressed to find a more significant contribution to Linux. After all, OpenSSH is the foundation of secure remote administration, logins, tunnelling, and more. Now, someone tell me what Linux has contributed to BSD of similar significance as I cannot think of any.