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.
So Theo and the rest of his OpenBSD-Trolls better shut up.
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.
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. So, what the author of the license is basically saying is, it's even okay if you re-license the BSD code under an anally-restrictive proprietary license which allows that restrict every kind of freedom for everyone (users and developers included), just as long a those dirty, dirty GNU/hippies don't share the code their way. Because... it's... restrictive sharing in a way that we snobbishly disapprove of! Yeah. Because no sharing at all is better than GPL-style sharing.
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".
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?
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?