Discussion continues on the Linux Kernel mailing list about the legality and morality of re-licensing BSD/GPL dual-licensed code under only the GPL. Alan Cox replied to Theo de Raadt’s comments suggesting he was encouraging people to break the law, “re-read my email and then apologize. I do question the .h files where they are BSD licence and no changes were made to the work. I also point out that the dual licence on that code appears to give permission to distribute under one of those licences by choice.” In response to Theo’s request that code be shared both ways rather than converted to a sole GPL, “that’s about the first thing I would agree on – its somewhat rude and not something I personally would usually choose to do.”
and here i thought this whole open source movement was suposed to have a nice “sharing is careing” feel to it.
if the open source groups start rifting and creating factions and fighting guess who will emergive victorious from the ashes…microsoft. so lets look at teh bigger picture. beat MS, play nice, and for the love of god Theo stop starting holy wars (good with code, bad with people)!
Edited 2007-09-04 22:00
Yes, starting a war about this small issue has been a really bad idea.
Alan Cox seems to be the one in all this discussion that know what he’s talking about, by the way.
The legal implication of those files under the ISC license only are complicated, anyway.
The issues with the dual licensed (BSD/GPL) files is clear. It’s perfectly legal to make your changes GPL only. However, being the original code from OpenBSD it’s not polite, since OpenBSD won’t be able to use the improvements/bug fixes directly. But from *not polite* to stealing there is a big way. If TdR would just be more calm and polite when speaking he would have *some* point in what he claims (not legally, anyway), but what he said was at least as little polite as the original offense. That doesn’t help OpenBSD or the FOSS community in any way.
The big difference between the enfant terrible Theo and the enfant terrible Linus is advocacy. Linus got more of it, so he can easily call people Nazis (Gnome) or call other developers idiots (FreeBSD), he can rule down developers if he like so and so on. In the end people just smile “it’s Linus”. This is just childish behaviour of the Linux crowd. If Theo is a loud idiot, then Linus too.
First, this is by no means a new issue. The GPL/BSD debate has been going on since the first GPLed code was released. Yet look at how far both GNU/Linux and the BSDs have advanced despite their political differences.
Second, the goal of open source isn’t necessarily to “beat MS”. The Linux/GPL camp tends to care more about overthrowing the evil empire than the BSD camp does. Many BSD developers are happy to be doing what they enjoy either as a hobby or occupation, and that they themselves have good OSs to use. BSD developers don’t typically care that most of the world runs Windows and other proprietary software.
What they do care about is hypocrisy. It looks bad for the GPL camp to say they’re all about sharing code, but then not give back to the original source because they disagree with how the original source would share the code.
Before you bash Theo too much, keep in mind that he won an award for advancement of free software from the FSF. Even in the eyes of the organization behind the GPL, he’s doing a lot of good.
As for the actual license issue, I think code that gets another license tagged on by someone who doesn’t hold all the copyrights needs to stay dual-licensed. For redistributors to be able to pick whichever license they want, I think the code would need to be dual-licensed by the copyright holders, explicitly granting the option to redistribute under only one of the licenses.
The GPL camp is about keeping code free (as in: the 4 software freedoms). (Although Linus doesn’t care so much about those, Alan Cox does.) The BSD camp cares about hypocrisy?? “Bill, Steve, you’re welcome to use our code and lock it up.” But “Linux is stealing our code!” because even though we can see the changes made under the GPL, we can’t distribute those changes under the BSD license…
>Bill, Steve, you’re welcome to use our code and lock it up.
Linux defines itself through hate against Windows, BSD defines itself through code quality. I choose the latter.
You can find a lot of hypocrites in Linux community, because they are talking of how important open source is and they give actually a shit on it.
“GPL fans said the great problem we would face is that companies would take our BSD code, modify it, and not give back. Nope — the great problem we face is that people would wrap the GPL around our code, and lock us out in the same way that these supposed companies would lock us out. Just like the Linux community, we have many companies giving us code back, all the time. But once the code is GPL’d, we cannot get it back”
–de Raadt
There is huge support from big companies for *BSD, so think about it before spreading FUD.
“The argument that BSD code can be “stolen” and used commercially seems more like a self-fulfilling prophecy for GPL proponents, to whom this practice is the ultimate horror. It almost appears to be an element of sanctimonious antagonism, as though the GPL-relicensers are trying to teach the BSD people a lesson by attempting to exploit the freedom of the BSD license. This sounds familiar, doesn’t it? Your code is free to use? Hah! Well I’ll show you what a foolish thing that is!”
http://www.thejemreport.com/mambo/content/view/355
> “Bill, Steve, you’re welcome to use our code and lock it up.”
When Bill and Steve lock up code, it is sad but sometimes this happens.
> But “Linux is stealing our code!” because even though we can see the changes made under the GPL, we can’t distribute those changes under the BSD license.
When people lock up code under the GPL, the same applies.
But it is also hypocrisy, because they chose a license that stands for software freedom and code sharing, yet are actually working against that by preventing their changes to BSDL code be incorporated back by the original authors. It is perfectly legal for them to do this under the BSDL, but that doesn’t mean we can’t call them out for it.
Second, the goal of open source isn’t necessarily to “beat MS”. The Linux/GPL camp tends to care more about overthrowing the evil empire than the BSD camp does.
Maybe so, but OTOH the BSD camp tends to care more about flaming the Linux/GPL camp. Now tell me which of these “camps” are barking the wrong tree here…
BTW, while there maybe a “BSD camp”, I’m not so sure about the “Linux/GPL camp” as it is a much bigger and fragmented community, so there is naturally more different people and opinions as well.
Before you bash Theo too much, keep in mind that he won an award for advancement of free software from the FSF.
I’m sure that the award was not given to him because of his wonderful personality…
I don’t think anybody here denies his achievements. Most people just seem to dislike his personality and ways to deal with issues (like this one).
Even in the eyes of the organization behind the GPL, he’s doing a lot of good.
I rest my case. So the Linux/GPL camp clearly recognizes his achievements and even awards him. When are we going to see the BSD camp doing the same for RMS or Linus…? Maybe they would rather award Steve Ballmer…
“Beat MS”, what a childish behaviour. The bigger picture is the code.
When will code zealots stops stuggling for good and concentrate on programming instead of some abstract license topics. Who cares if it’s GPL, LGPL or BSD, what matters is that it’s open-source and quality.
>Who cares
The developers, because *he has* to care!
Don’t forget The End User. The End User also has to care. It’s not just about developers.
I always thought that most modern BSD licenses were GPL compatible and that you could turn BSD licensed code into GPL licensed code because the requirements of the BSD license are a subset of what the GPL requires you to do.
But if this was true, there would be absolutely no point in dual licensing something under BSD and GPL licenses because it would provide the same freedom as the BSD license without the security that the GPL provides.
Anybody could just relicense it under BSD only and then turn it into closed source.
So one could have released the code under a BSD license in the first place…
Is it really that pointless or am I forgetting something?
Please enlighten me
It’s sort of pointless (the previous thread went over this in some detail).
Certainly, “choose either BSD 2/3-clause [or similar], or the GPL” seems to do more harm than good on balance.
I think the intention was probably to encourage people who would ordinarily tack the GPL onto BSD files (i.e., as they often are in the Linux kernel) to consider preserving the choice of licenses for their modified versions, such that even those versions of the files distributed as part of GPL projects could be used under the terms of the BSD.
In all honesty, a comment from the author reading:
/* I would really prefer it if modifications to this file are kept to the original license (rather than one, such as the GPL, which is compatible with it). I can’t enforce that, and have no intention of it, but if you make useful changes consider allowing other people who have used this file under the terms of the license above to incorporate your enhancements. */
…would have achieved the same thing without any of the ugliness.
The whole intention of your /* quote */ sounds like what the GPL is trying to achieve.
Kinda. The GPL says: you MUST do this. A comment in the source file says “it would be nice if you did this”. Encouragement versus enforcement.
The way I read the BSDL, “Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.” means you have to preserve the license in source distributions.
Yes, dual-licensing BSD and GPL is silly. Dual-licensing is more useful in cases like CDDL/GPL3. Yes, you could just choose the BSD license over the GPL, which is exactly what the Linux developers want to avoid. They want the modified BSD code “protected” under the GPL, so they’ve introduced this dual-licensing confusion, even though the BSD code can be included as-is.
Dual licenseing sourcecode under the GPL and a any GPL-compatible license is pointless and silly.
Only when licenses are incompatible is there anything to gain from optional dual licensing.
In this case the dual licensing scheme has brought on more evil than good. Personally I think one should avoid sublicensing source-code under the GPL, unless it is really necessary (which I cannot see can be possible).
Nobody can own, distribute (or use) a copy of copyrighted work without Author’s permission. This permission is given by license.
If the author puts his code under BSD license, somebody else could add more restrictions in the form of GPL license. However if this somebody removes the original BSD license, he no longer have any permission from the author to use and distribute the original code.
If the author puts his code under 2 licenses, BSD and GPL, and somebody removes the BSD license, this somebody would still have the author’s permission to use that code under GPL license.
… but too many people are focusing on what’s legal, rather than what’s optimal. It’s legal to license your changes to a dual-licensed file under only one of the licenses. But it isn’t efficient in the long run to do so. You then have a fork, and you have legal complications when bugs are later discovered and you have to use something like a clean-room technique to safely get the bugs fixed in both branches.
It’s better for the two sides to share the effort, even though this isn’t required legally or morally. It’s simply the practical thing to do.
True, but that’s because Theo attacked the linux-devs for copyright violation. He was part right, but also part wrong. Right about the ISC-licensed files, and wrong about the dual licensed files.
Only when it became clear that he had lost the battle about the dual licensed files did he change his strategy from legal to moral issues – while still harassing the linux-devs. An attempt from Theo to retreat without losing (too much) face.
No, you don’t _have_ to do that. Nothing prevents the bugfixers to contribute under one license in one fork, and under a different license in a different fork – as long as they are the copyright holders. Alan Cox has more than once contributed code to *BSD under the BSD-license while the same contributions went into Linux under the GPL.
Which Alan Cox has contributed to BSD? Guess you are not aware the Linux-Alan Cox is not the same person as the FreeBSD-Alan Cox
Why is this even a point of debate/discussion?
If the BSD developers didn’t want their code relicensed under GPL only, then why the hell did they offer GPL as one of the license choices? Dual-license, as many people have pointed out, is that whoever uses/modifies the code can do so under EITHER license (or both).
How can it be impolite at all if the original copyright holder released it under the GPL in the first place (and also under BSD license). The BSD license is almost irrelevant in this case. If the GPL was one of the license choices, then choosing it is perfectly legal AND moral.
For anyone that doesn’t think this is how dual licenses work – have a look at the KDE project and see how many people are paying Trolltech for commercial licenses to develop for it… They dont because its dual-licensed under the GPL. KDE is GPL therefore there is no problem. No one needs a trolltech commercial license to develop OSS for KDE therefore in the same way no one needs to adhere to the BSD license for code that is dual-licensed as BSD/GPL.
Nothing wrong with either license. If they didn’t want changes being made as GPL only, then they should’ve left the license as just BSD to begin with.
Its not that hard people
The “BSD” developers release their code only under the BSD license. However, as I understand it, the BSD license is very permissive and allows the relicensing of code under an alternative license – even commercially.
Here, the Linux developers are taking BSD code, modifying it, and relicensing it as GPL. The BSD developers are objecting on moral grounds (not legal grounds) because it is in-effect preventing them from reabsorbing the updates made in the now-GPL code.
The Linux developers have a choice – they can keep releasing their work only as GPL and really piss of the BSD developers. They can dual license their modified work as BSD/GPL so the BSD developers can take back changes but afaik that’d be the same as simply not changing the license – i.e. keeping it BSD. I think the Linux developers object to the notion of a company taking their work and selling it without giving back any modifications, which is perfectly legal with BSD licensed code.
Actually it’s: if they didn’t want changes being made under an alternative license, they should have chosen a more restrictive license than the ultra-permissive BSD.
>the BSD license is very permissive and allows the relicensing of code under an alternative license – even commercially.
Nonsense! The BSDL doesn’t allow any relicensing, IT GRANTS YOU THE RIGHT TO USE IT COMMERCIALLY. This is a big difference and not invitation to steal something while removing the license. YOU CANNOT REMOVE A LICENSE, ONLY THE AUTHOR CAN DO SO! Understand? Nice …
The BSD license allows for sublicensing, meaning you can add your own license. You cannot remove the BSD license unless the license states so.
What you’re forgetting Oliver is that none of the BSD licensed files got anything removed illegally, since they were dual licensed.
The files that were dual licensed were under the ISC license and NOT the BSD license. And they were fixed within hours.
There is no basis for claiming Linux devs illegally removed licenses. That’s simply a lie. It did not happen. It was implicitly suggested, but discarded explicitly.
If the author allows for removing a license then you can do it. But only if allowed. Sam Leffner allowed this to happen and so the linux devs were right in removing the BSD license from the dual licensed files.
Reyk’s code doesn’t matter because his files are still under the ISC license. His license was not removed.
– Open source != Free software.
– Opensource aims != Free software aims.
– GPL is a free software license and it wants to protect the 4 software freedoms, kill MS is not its final aim.
– Free software primary aim is a free software world.
– BSD is a more permisive license than GPL, and it don't care about the 4 software freedoms.
– For a BSD license is not important if code is returned (maybe for some BSD developers it is)
– If a software is licensed with a dual license BSD/GPL, we can use this software with a BSD or with a GPL license, is so simple!!!.
– If a GPL developer make changes to the software and return this changes with a bsd license, is a positive extra for bsd developers (propietary software doesn’ t return code never).
>- Open source != Free software.
On a license level they are the same.
This shouldn’t be surprising because the “Open Source Definition” is not more than the “Debian Free Software Guide”.
>Opensource aims != Free software aims.
The motivation is different, but it leads to the same result -> Free Software.
Interesting in this context:
http://www.gnu.org/philosophy/free-software-for-freedom.html
http://www.gnu.org/philosophy/open-source-misses-the-point.html
>- GPL is a free software license and it wants to protect the 4 software freedoms, kill MS is not its final aim.
Extension: BSD-license is a Free Software license too.
>- BSD is a more permisive license than GPL, and it don't care about the 4 software freedoms.
Also the BSD license cares about the 4 freedoms (it gives you the 4 freedoms). But it doesn’t protect them.
>- For a BSD license is not important if code is returned (maybe for some BSD developers it is)
For the GPL it isn’t important too.
For the GPL it is important that the users have freedom. If the code returns to the developer is a complete different question and the GPL doesn’t enforce this.
>- If a software is licensed with a dual license BSD/GPL, we can use this software with a BSD or with a GPL license, is so simple!!!.
Right! And therefore Alan Cox is right too!
>- If a GPL developer make changes to the software and return this changes with a bsd license, is a positive extra for bsd developers (propietary software doesn’ t return code never).
Right!
But i would argue that cooperation is an important value. And for two such important Free Software projects like BSD and Linux i think it is important to hold together. So i would recommend to use this driver in Linux under “GPL/BSD” to continue to develop this driver together with the BSD guys. But this is not a legal question but more a question about moral and “being a nice guy to people who deserves it”
Edited 2007-09-05 10:48
It seems that every third post here on OSAlert and elsewhere seems to imply that the GPL is a free software license and the BSD is not. Or that the GPL “cares” about the 4 freedoms and the BSD does not.
Repeat after me: THE BSD LICENSE IS A FREE SOFTWARE LICENSE.
Don’t believe me? Go to fsf.org and do some reading in their license section. The BSD license gives you the 4 freedoms. Hence, software licensed under the BSD License is Free Software.
The comments in the recent FreeBSD foundation letter about how some people are equating open source to the GPL is quite apropos.
Nobody is claiming that the BSD license isn’t a free software license. It very much is. Just find one post that claims BSD isn’t a free license.
Ok, I will find just one post:
http://osnews.com/permalink.php?news_id=18528&comment_id=266572
And within this very thread, the post by tombatossals implies the same.
Look, clearly I was being facetious when I said “every third post.” The point is that here on OSAlert, and on Slashdot, and other places, there are still many people who wrongly believe that the GPL is a Free Software license and the BSD is not. And that is a misconception that is quite unfortunate.
Aaahh… yes. There seems to be some confusion.
The BSD is open source and free software. But it is not a strong copyleft. It is a weak copyleft, but none-the-less still free software.
Seems some persons cannot see the difference between free software and copyleft. GPL is strong copyleft, BSD is weak copyleft – but both are free software licenses.
Oh well, it gives us the chance to keep correcting them. Like shoveling snow when it keeps snowing…
All of that may be true, although I was not addressing copyright/copyleft at all. Since you bring it up, however, I find it quite ironic that the GPL, which you describe as copyleft, has a copyright on it. :-p
“GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc.”
I don’t see any copyright on the BSD License.
That may look ironic, but it is actually a paradox. That’s what you get when you use copyright to protect End User rights – it can occasionally boggle ones mind.
The copyright in the license is merely in order to protect from almost identical but incompatible licenses. If you replace that copyright with your own, your license would be GPL-incompatible. It’s copyrighted because it protects copyleft. It’s not just ironic – it’s a mystery and a paradox
As a software developer, and of course IANAL, the thing that is explicitly bothering about this whole scenario is the following:
I release chunk of code x under the BSD/ISC, which is typically the license I release open source under:
FileA.c
File A has lines 1-100 all released under BSD/ISC.
Someone comes along and modifies lines 20-29, and releases their changes under GPL.
With this in mind, isn’t the file now:
Line 1-19 BSD based
Line 20-29 Patched to GPL based
Line 30-100 BSD based
It’s not that I gave anybody permission to make a single modification and redistribute the entire source file under a different license is it? They, having copyright ownership of the changes of the 10 lines they made, can choose to use something other than the original license, however they cannot strip my original intent for the lines of the file that are explicitly authored by myself. Of course this could boil down to characters, but for the sake of simplicity…
If company X compiles the source to binary and distributes it under a different license, even without changes to the source code, they are still not distributing my exact work, which is the source code, is this correct, since the BSD license makes no mention of binary distribution (besides the acknowledgment piece), but if company X distributes the unaltered source code, that FileA is still BSD, correct? If they distributed altered source code, well isn’t the unaltered portions still BSD?
So in effect, the file is dual licensed, but only in the sense of FileA lines 1-100 BSD and FileA lines 20-29 patched GPL?
I understand my work as BSD can be derived in commercial products, however quite a bit of the time such distribution is binary only, and if it were source, then I would expect my FileA to still hold it’s BSD license within the portions of the file which maintain my owned code, and if said commercial company wanted to lock down it’s changes it could do so if throughly documented what was BSD and what was not.
Is this an invalid approach? I personally choose BSD, I don’t have issues with GPL, I use Linux and a bunch of other GPL applications, however I do not see how someone could modify a small portion of my intellectual property and claim they can affect all lines 1-100 of a source code released file.
My conclusion, and again IANAL, would be that while unethical, the specific changes could be GPL only, however explicitly removing the BSD portion is not allowed, and more explicitly it would need to be maintained within the source code exactly what portions are GPL only and which are the original BSD. Of course, the best thing would be to say the entire piece is BSD, since BSD conforms to the openness of GPL but with arguably more freedoms to the code, it doesn’t matter if GPL is in there or not, although of course it could be left in there to make people “feel better” or to resolve conflict of the consideration of a “tainted module”.
I haven’t seen anything over the course of this whole thing bringing this up. Is this a common sense view to the situation, or am I not over analyzing enough?
I think this is a good question, and a clearly presented situation. My understanding is, that the BSD license allows people to do-what-they-please with the code, including relicensing it. Of course your original code would still be available under the BSD license, and that is how it works. You have no influence on what people will do with your work, but your original work will of course always be available and licensed as it was.
This is my current understanding, I am following these discussions to get a better grip on all this.