GPL Hindering Two-Way Code Sharing? 456
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.
Re:BSD (Score:3, Insightful)
Re:BSD (Score:3, Insightful)
So the license that allows the most use of the code hinders freedom?
Re:The Apple Tree (Score:1, Insightful)
Isn't closing them out the point (Score:4, Insightful)
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.
I'm already seeing "except for GPL" licenses (Score:5, Insightful)
Re:BSD (Score:5, Insightful)
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.)
Re:BSD (Score:2, Insightful)
Yes, in a roundabout and counterintuitive, yet valid, way. GPL code stays "free" no matter what happens to it, whereas BSD code can always be rendered un-free.
Personally, when I want to write free code, I pick either the LGPL or a BSD variant. The GPL is a little too clingy for me.
-:sigma.SB
Re:The Apple Tree (Score:2, Insightful)
Actually, it has everything to do with the situation. Software is like that apple tree. No matter how many times you copy software, it remains undamaged. So there is no reason to "protect" it with restrictive licenses.
Re:BSD (Score:2, Insightful)
BSD is like letting people who hate freedom of speech to talk against it.
Re:BSD (Score:3, Insightful)
Re:I'm already seeing "except for GPL" licenses (Score:5, Insightful)
Re:For fucks sake, it's forking... (Score:3, Insightful)
Is it nice to give back under the BSD? Sure! But not doing so is not rude. They could have used the GPL if wanted it to be given back under the same license. Instead by using BSD they explicitly give you the legal right and moral OK to not give back.
Erasing the copyright info is definitely illegal. No arguments there.
Re:BSD (Score:2, Insightful)
Say I just don't like the GPL. Say I don't like the idea of giving a legal ultimatum about how they can use my code--the code that I wrote and want to share. Say I want Microsoft to be able to use it in an operating system, Real to be able to use it in an audio player, etc.
It is still good manners for people that make improvements in my code to send me changes. I helped them, and good people return favors when they can. So why didn't I use the LGPL? Well, that license is just a bit more of a pain, and I want to make people's lives easier. After all, what if the person using my code just needs to make a small change? They shouldn't have to go through the trouble of packaging the source and putting a LGPL notice somewhere in their product where users can see it.
My giving you legal rights to be selfish does not mean you should, and it does not mean I won't rebuke you for it.
Yes, but! (Score:5, Insightful)
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.
Re:BSD (Score:5, Insightful)
You're missing the point. (Score:2, Insightful)
Yes. That's because there are situations where it makes sense that somebody should be able to do that. The argument in this case is that this isn't one of them.
That's the problem with your reasoning. You are accusing people who've released code under the BSD of not having considered the cons of the license. In fact, you can be sure that plenty of them were well aware of the cons from day 1, but simply judged the pros to outweigh them. They've chosen to deal with the cons in question here through argument, appeal to ethics and persuasion, rather than by legal action, which would have costs they deem unacceptable.
Now please stop setting up strawmen.
It's a problem of attitude... (Score:2, Insightful)
"No, I'm sorry, you can't integrate my small component into your giant proprietary and ITAR-restricted satellite system unless you agree to give away the entire code to your giant ITAR-restricted satellite system to anybody who wants it. But hey, RMS says that freedom is good, so you can do that, right?"
Does the BSD license allow people to make extensions and GPL the base code plus those extensions? Absolutely. Do BSD-style developers, then, have a right to be miffed if this is what happens? It's a hard question.
I think most of the miffed-ness of the situation comes from the attitude of GPL zealots. A basic tenet behind their license is "if you take code then you have to give it back under the same terms under which you got it." A part of their philosophy seems to be "you should not be allowed to benefit from our code without giving back improvements to it." They are the ones who decided on this policy, and they claim a moral (yes, moral) high-ground because of it. But really, they only mean this within the context of their own ideological community. It's really a difference of attitude.
"Hey, thanks for the code; we are going to use it to further our cause of announcing to the world how much better we are than you."
As an analogy, let's say I go up to you and ask for $20 for an art project. You oblige. For my art project, I make up posters around the city that say:
"[YOU] IS A GIANT ASS"
with your face on them, and plaster them around town. Now, you didn't explicitly stipulate I couldn't, and I was certainly within your legal and artistic rights to do what I did. You have no cause to be angry, right?
I remember a documentary I saw once about land mines. They showed a small mine being dismantled by some poor sap whose job it was to go out and dismantle land mines. In it was a Motorola chip. It was probably some terribly generic part like a 555 timer or 4-input NAND gate or something; it's not like Motorola was in the business of making land mines.
Now, if Motorola saw this, do they have a right to be a little miffed? "Ah," say the slashdotters, "Motorola sold their 555-timer on the open market to any buyer, they have no right to be miffed when someone uses it in a device that blows the legs off little children!" Right?
Thats exactly whats BSD made for (Score:3, Insightful)
Seriously, bragging about this is a sign of total ignorance about the BSD philosophy: Giving away everything without asking for anything. They should feel honored that they are getting ripped like they wanted always to be.
Re:For fucks sake, it's forking... (Score:2, Insightful)
If Theo de Raadt wants to make the point that people shouldn't be cutting out the original BSD license that is fine, and it should definitely be done. But it's a completely different argument than this whining about "community" and "losing friends." He's just upset because he realized that people can use the BSD code and give away their versions without having to give it back to him, too. For that he's just being a prick.
Re:For fucks sake, it's forking... (Score:0, Insightful)
Freedom for WHOM? To do WHAT? (Score:5, Insightful)
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.
Re:BSD (Score:2, Insightful)
Theo's last post stated that dual-licensed code cannot be distributed with only one of the licenses still attached. BSD/GPL dual code, he says, cannot be distributed under the GPL unless you keep it BSD/GPL dual. That's a theory of it's own, which deserves some clinical therapy imho.
Theo's current post deals with the aspect of re-licensing pure BSD code. His theory is that, because the license says you can distribute/copy/modify only if you keep copyright notice and "this" notice intact, this means that you are not allowed to distribute under a different license. I will now prove him wrong.
Here's a file with the BSD clause attached. It's copyrighted to me under the BSD:
------
Copyright (c) 2007 myself
Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
Some text that is supposedly copyrightable.
------
Now, say that somebody wants to GPL it. Here's how he would do it:
------
Copyright (c) 2007 myself
This file is distributed under the provisions of the GPLv2 license.
This file is based on work under the following permission notice:
Permission to distribute this file was granted by the following BSD clause:
> Permission to use, copy, modify, and distribute this software for any
> purpose with or without fee is hereby granted, provided that the above
> copyright notice and this permission notice appear in all copies.
------
What I did was legal: I kept the copyright notice intact, I kept the BSD clause intact. This does _not_ mean that I also kept the distribution license as BSD. Compare the BSD notice with the GPL requirement:
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
[...]
c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. [...]
Notice that BSD's requirement is to keep a text attached but does not say anything about keeping the license.
GPL on the other hand explicitly requires that redistribution be done under the GPL.
Re:I'm already seeing "except for GPL" licenses (Score:4, Insightful)
It's not that people like me don't want to share the code, just that we don't want to join the Cult of the Gnu either. For it is, almost, turning into a religious issue of whether you swallow the FSF dogma, rather than a practical one of whether you just want other people to benefit from the code.
Bob
Think of BSD license like citing sources (Score:4, Insightful)
In the original patch, it appeared that some Linux folk took some code, stripped the BSD copyright notice and put it under a GPL license. Viewed through an academic mindset, it sounds less like "building on existing research" and more like plagiarism. Were they legally entitled to do what they did? I suspect probably so. Still, it seems like bad form not to cite your sources.
-Peter
Re:For fucks sake, it's forking... (Score:3, Insightful)
Re:The Apple Tree (Score:4, Insightful)
I think the problem here is that you haven't told the parable in its entirety:
There you go: fixed that for you :)
Re:Yes, but! (Score:3, Insightful)
If dual-BSD/GPL-licensed code is used, then changes can be distributed under the GPL or BSD by the author of derivative works. However that applies to the derivative work; the COPYING file in any source code tarball dictates how you handle the entire derivative work. The original code would still be BSD licensed.
The problem here is not that BSD licensed code has no legal obligation to contribute back, or that the GPL has a legal obligation to report changes, but that GPL licensing code as a derivative work of dual licensed code is against the policy of 99% of BSD-licensed projects. No BSD licensed code will ever integrate the fixes to the Atheros driver because it causes a licensing mess - not only the evil corporations, but the FRIENDLY corporations, BSD-licensed operating systems and toolkits where relevant.
The same way the Linux developers band-aid everything to be GPL so that changes MUST be given back (a kind of heavy-handed moral imperitive enshrined in a legal document) works just fine on the BSD license where the simple, IMPLIED moral imperitive works just as well. BSD licensed code fits very nicely in GPL software distributions and as Theo remarked, a lot of FSF code contains BSD licensed works. There is no need to relicense as it kicks the BSD developers in the nuts.
Summary:
Yes, sometimes it is good to put two fingers up to Microsoft and Evil Industry, but it is not good to kick Theo in the nuts while you do it (however glorious and satisfying that may be to some).
For once I agree with Theo - but then I share his loathing of the GPL (it is too heavy-handed and forces it's morality on you like a preacher in the street won't leave you alone) and am quite a proponent of the BSD license myself.
No, you are wrong... (Score:3, Insightful)
The code in question had the BSD license included, plus the author (copyright holder) added a condition saying that "alternatively," the GPL could be used.
One is therefore free to select the alternate license and ignore the BSD license, and that includes the part about keeping it around.
Now, and this is key, the author has every right to put in something which says "chose either for yourself, but keep both in what you pass on." He didn't, and the only requirement to keep the BSD license is found within the BSD license itself. It is well known that there are multiple ways in which the BSD and GPL licenses clash - you can only have an "either/or" license, not a "both" license. It's simply stupid to try and claim that selective clauses of one license apply when the other license is chosen to be used.
As far as the "all the rights" argument, it doesn't fly. Since you must make a choice between licenses, as soon as you choose the GPL, you give up the rights to BSD, so you have no BSD rights which must be passed on.
Re:Simple solution (Score:5, Insightful)
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?
Re:BSD (Score:4, Insightful)
Contrast that with the GPL, where code written with the GPL has to be rewritten if you want to use it for proprietary purposes. If you want to end all proprietary code then that's obviously a good thing, but it's not so good if you want the best code to be used, and for no-one to have to needlessly rewrite the code you're writing.
Take SQLite for example. It's in the public domain which is only slightly less restrictive as BSD. Anyone can use SQLite for any purpose. If I'm developing proprietary software and I need a lightweight database engine I know SQLite is available. It saves me time and money, and the software is going to be better as a result. That's why drh chose to make it available so freely: It's the best there is, and if someone can improve on it good luck to them.
Both licenses have their purposes of course, but I hope you can at least see why someone would prefer the BSD license.
So if it's supposed to be extra free then what's wrong with relicensing it as open source? Well there are two possible outcomes of releasing GPL changes to a BSD/MIT/public domain project:
Take SQLite for example. Imagine if someone took SQLite and made some nice updates to it, but released the changes under the GPL. Now there are either duplicate efforts and compatibility worries, or the developer of SQLite is forced to use GPL and his software can't be used everywhere like he intended. A stable piece of code that used to be universal no longer is universal.
Using the GPL to close the original developers out is using a share-alike license to avoid sharing, and using an open collaboration license to prevent collaboration.
Re:BSD (Score:4, Insightful)
For example, I believe people should have the right to troll on Slashdot, because I believe that's the only way to ensure that people who genuinely hold controversial views feel able to argue their case. Does that mean I shouldn't have the right to mod trolls down? If so, why? No, that's for if you want to demand that code be shared. If you would like code to be shared, and intend to complain if it isn't when it reasonably could be, but absolutely do not want to take away the licensee's freedom to decide for themselves whether to share or not, then you should not add anything to the license. It would probably be appropriate to mention your attitude in the README, though.
(One very good reason not to put this kind of stuff in the license is that the GP apparently was specifically interested in allowing large companies to use his code. Large companies hate custom licenses. Stick with something standard if you want the commercial world to even bother looking at your code.)
This is not the point (Score:5, Insightful)
Re:Simple solution (Score:5, Insightful)
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.
Re:Isn't closing them out the point (Score:1, Insightful)
People also understand that GPL source, when redistributed, must be GPL.
What so many people inexplicably seem to fail to understand is, that BSD source, when redistributed as source, has the same "stickyness" as GPL code. If you redistribute BSD source code - an action which, unlike GPL source code, isn't mandatory - you MUST redistribute it with BSD license. You can't redistribute BSD licensed source under GPL, although you CAN redistribute it freely - even in your GPL project - if you want to. Actually, slapping on the GPL (or any other license) is just about the ONLY thing you can't do with it. So GPL-guys cannot redistribute modified BSD code under GPL as it seems they would so much like to do. What they might be able to do is to put GPL on their modifications, which would not be a very friendly thing to do, but at least legal.
It simply doesn't make sense to equate "illegally redistributing with a different license" with "not redistributing source at all" under the label "close off the source".
-Lasse
Re:BSD (Score:3, Insightful)
And if someone makes proprietary modifications to it, then those are also not universally available and can't be used in either BSD or GPL projects. If that was what you wanted, why not choose a licence that actually enforces that like the LGPL? Again you're holding the GPL community to a higher standard than closed source companies. You make a lot of assumptions about intents and purposes, which aren't reflected in the license. Maybe he meant "Hell, do whatever you know... I don't care". And if he didn't mean that, he shouldn't have picked the BSD license. Trying to enforce a moral unwritten, implied obligation is a fool's errand, and not the licensee's fault.
Re:BSD (Score:3, Insightful)
The problem with relicensing is that you wind up with a code fork that can never heal. Once you have relicensed, the GPL code goes its own way, and the BSD code goes its own way. The maintainers of the GPL code can continue to incorporate changes from the BSD fork, but the maintainers of the BSD fork are prohibited from merging changes from the GPL fork.
Redefining "Free" is also shitty practice (Score:2, Insightful)
Through the use of the GPL, the FSF redefines "Free" by imposing various restrictions (if you use this code, then you must ...). How is that "Free"?
And before you flame me for being anti-GPL, I have released a lot of work under GPL. I think the GPL is very beneficial, but that does not mean I have to drink the kool-aid.
Why is it BSD proponents can't read? (Score:3, Insightful)
The author specifically gives a choice between licenses, and yes, you can leave out the one you don't choose, because that's exactly what the author said ("distribute under BSD, or alternately GPL") It makes absolutely no sense to give the choice otherwise.
Probably the most well-known difference between the BSD and GPL licenses is that the former allows code to be "locked up" (as into a commercial product) while the latter does not. Someone chosing the alternate licenses terms (GPL) is likely doing so because they want to ensure any future releases containing their contributions remain open. Forcing them to redistribute under BSD does not allow them to achieve that.
Finally, this is the ONLY meaning a BSD/GPL license can have which makes any sense at all. In terms of using (running, copying binaries, etc.) the code, they're functionally the same, AFAIK. They differ significantly only when you change/add source code. Saying that modified code must forever be distributed with both licenses is saying that a modifier has no choice between the licenses, and choice makes no sense for an end user.