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.
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.
Here's an analogy for you: Say that I have a magic jellybean, and that magic jellybean can make as many red jellybeans as you like, but only five black ones each day. So I take my magic jellybean to the market, where I see Theo DeRaadt, and try to exchange my magic jellybean for a cow. It has a bit of a limp, but it makes chocolate milk on Thursdays. That's pretty nifty, so I offer him fifty black jellybeans. Then he says he'd also like a date with my sister, and I say, "I have two, and you'd better not mean the married one," and he fires back with, "Hey, you promised this analogy would be relevant to this discussion."
No, Theo, I promised no such thing. Just like nobody promises to share their changes with the BSD team when they take advantage of BSDL'ed code. The BSD'ers say people ought to be able to do what they like with their code. Well, what the GPL'ers would like to do is protect their modifications from being appropriated by people who won't share the code. If they automatically hand their changes back to the BSD folks to distribute as BSD code, then they lose the protections they wanted from the GPL in the first place.
Theo is basically saying, "The Linux people are hypocrites because they say they believe in software freedom but they don't believe in my definition of software freedom." Which is pretty lame.
You want the truthiness? You can't handle the truthiness!
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.