Theo de Raadt Responds to Linux Licensing Issues
bsdphx writes "While Theo may have a reputation of being "difficult" in some circles, this response to the recent relicensing controversy is thoughtful and well penned. Through this whole process I've learned some new things about both GPL and BSD licensing, and especially about combining the two."
Exactly the same thing happened with the Compiz/Beryl farce.
The Beryl developers took the BSD code and GPL'd it without the original authors permission. The exact same reasons of 'evil companies' will steal BSD code was given, but the 'evil' Beryl developers were the only ones taking but not giving back.
People should learn that even though this is open source they still have to respect other peoples rights.
He says that you cannotmodify a file to remove a license without permission, but he fails to acknowledge that a dual licensed file gives you that permission with the other license. If the GPL gives me permission to modify a file, then I can remove the BSD license from that file. If the BSD license gives me permission to modify a file, then I can remove the GPL license from that file. So long as I comply with the remaining license, I have permission to distribute the result, as the remaining license is what gives me legal permission from the copyright holder.
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. Ironic.
No, not ironic. Just dishonest. You say all along that taking without giving back is the ultimate freedom, you criticise the GPL for not allowing more of this, you allow it for proprietary software, but just as soon as GPL software does something you consider to be similar (even though the source is still out there, it's unusable to you), then you have a problem? You can't get the code back from proprietary software either, but you don't bitch and moan when proprietary software does it, in fact you criticise the GPL for not allowing it. This just looks like you have a problem with the GPL, hold it to a higher standard than everybody else, including yourself.
It's weird how Theo de Raadt writes about GPLd code:
"Thanks for what you wrote, but this is a one-way street, you give us code, and we take it, we give you you nothing back. screw off."
I agree with Theo it would be somewhat rude to extend the driver with GPL-only additions, which is possible and seems to have been proposed. But still, I wouldn't exactly call publishing GPLd code to be "giving nothing back". At least you can see the code, and the community is free to use it within the GPL limitations.
If you wish for everyone to remain friends, you should give code back.
That means (at some ethical or friendliness level) you probably do
not want to put a GPL at the top of a BSD or ISC file, because you
would be telling the people who wrote the BSD or ISC file:
"Thanks for what you wrote, but this is a one-way street, you give
us code, and we take it, we give you you nothing back. screw off."
It's not true: he can modify and distribute under BSD the original code that was released under BSD, he can't distribute as BSD whatever was added and licensed under GPL. So none is stealing his work, they are just licensing their intellectual work as they feel it's better.
Exactly as Theo did when he decided to use BSD license: he choose BSD for a number of reasons, one of these was apparently that he thought that this kind of behavior is acceptable, as BSD license allows it.
So, why doesn't he change openBSD's license to something that he actually likes?
RMS and TdR have something in common...
I was under the impression that if you receive code under multiple F/OSS licenses, you can redistribute under any individual valid license. Isn't this the entire point of licenses like the MPL?
Then there's Theo... he gets mad with hardware companies for not releasing public specs, is fine with companies black-boxing his code but not fine when the code is converted downstream to GPL. Is there a consistency to these arguments I'm missing?
The intent of the GPL is to be a one-way trip. The idea is to create a large pool of identically-licensed code so that projects msy mix and match, borrow and steal from each other.
Don't piss off The Angry Economist
It's not true: he can modify and distribute under BSD the original code that was released under BSD, he can't distribute as BSD whatever was added and licensed under GPL. So none is stealing his work, they are just licensing their intellectual work as they feel it's better.
They can only do that if they are the copyright holders for the entire work.
If the work is licensed under the BDSL then he CAN NOT remove that fact by *relicensing* it under the GPL. In combining the GPL code with the BSDL code he has created a *dual licensed* work. There's no way around that.
If this was not true then (a) there wouldn't be any BSD, because this is what the USL violated that made them back down in the USL-CSRG case, and (b) Linux might also be in trouble, because in the aftermath of the USL-CSRG case a lot of old AT&T code was released, and that code was a hugely effective part of the smackdown laid on SCO in the SCO-Linux case.
all just get along? Seriously, I find any impropriety or the suggestion of in regards to licensing issues to be counter productive to the linux cause. I also find any infighting less than professional. Linux has long moved from the hobbyist arena to prime time. Although this "news" is hardly front page material, it does tend to reflect negatively on a product that already has it's work cut out it for general acceptance as a legitimate product. Hopefully it won't become fodder for power struggles and holy wars...oops - too late.
and Theo won't like this... is that if the dual license applies as he says then wouldn't all downstream recipients be subject to the GPL?
That makes the BSD license redundant and I'm sure it's not what the original authors or Theo intend.
"Legally, it is quite obvious that you are *allowed* to relicense the code. "
"The issue here, as stated specifically by TdR, is an one of ethics."
Eh, not exactly. Theo sees both legal and ethical issues:
"For the record -- I was right and the Linux developers cannot change the licenses in any of those ways proposed in those diffs, or that conversation"
And yes, Theo is speaking of dual licensed files. So according to him it is illegal to strip (my words) one license from a dual licensed file.
I'd say before everyone involved agrees on the legality of this it's too early to start discussing ethics.
Try, "publicly, he's an asshole and routinely uses ad hominem."
From discussion of the very issue, Slightly more annoyed, Pièce de résistance, FLAME ON!
Pretty funny to then read, further down in the thread:
Theo didn't make the initial post about the BSD violation. Theo could have chosen to respond quite publicly, but instead he chose to respond on the OpenBSD mailing list. He did not go nuclear. He is not openly attacking anyone. He isn't even making a big fuss out of this, users on both sides are. Neither did he claim the Linux developers of being thieves.
Alluding that Linux kernel developers "must have failed gradeschool because you can't read" (paraphrasing only slightly) on a public website isn't "publicly attacking someone"?
The man doesn't know when to keep his mouth shut or how to be civil. It looks like (thankfully) people in the OpenBSD project are telling him to shut the fuck up and let them handle things:
I stopped making public statements in the recent controversy because Eben Moglen started working behind the scenes to 'improve' what Linux people are doing wrong with licensing, and he asked me to give him pause, so his team could work.
Please help metamoderate.
OpenSSL is dual licensed in sense that you must obey both of the licenses at the same time. This is very different to traditional (and much more common) LGPL/GPL/MPL/BSD style dual licensing, which allows the recipient to choose which license he wants to use; that is, you are free to omit all but one of the licenses if you like.
No, it simply implies that the BSD license is less restrictive (more "free") than the GPL.
If you mod me down, I shall become more powerful than you could possibly imagine.
The difference is that commercial entities which modify BSD code, compile it, and distribute binary-only distributions are not pretending to own the share and share alike happy friendly community open source high ground. The Linux community does try to own this high ground, really to the point where BSD gets no credit for having the less restrictive (more "open" and more "free") license. What Theo is saying is that if the Linux community wants to maintain its hold on this high ground, they should play fair with code they get from BSD, and share back with that project. Good in the world would be reduced if this turned into a war. Imagine BSD projects getting relicensed as a lever against Linux, say some sort of clause which prohibits dual licensing, and requires non-commercial entities to share code back to BSD. It could get uglier than that, but it probably won't, since the BSD camp has a long history of being the most open and free of free open source licenses, it's unlikely they would start using their license as a weapon at this point.
If you mod me down, I shall become more powerful than you could possibly imagine.
The problem is that a file with the BSD license removed cannot be shared back with the BSD project, from whence it came in the discussion before us. Removing the BSD license makes the code less free, it binds it in the shackles of the GPL, so the code can flow only one way, out of BSD to GNU/Linux. All Theo is saying is give peace a chance.
If you mod me down, I shall become more powerful than you could possibly imagine.
He's arguing that the license itself is a part of the software and therefore it's bound by the distribution rules.
Dual BSD/GPL licensing is a contraption that is used for one reason only - to let GPL projects use code from BSD projects. It is not meant to "free" this code. Think of it as a friendly gesture from BSD folks rather than an action of GPL adepts.
BSD/GPL is viral form of BSD that propagates the spirit of BSD in exactly the same way GPL does. Not everyone in O/S world subscribes under GNU's vision of "freedom", and Theo's response is a very clear indication of this.
3.243F6A8885A308D313
/me wonders how the BSD licence not allowing itself to be removed would work with a GPLv3 project trying to use BSD code (since FSF thinks this is OK). One of the terms of GPLv3 is that additional permissions can be removed...
The point is, the code from inception was organized by the developer as 'either GPL or BSD'. Anyone contributing code to that should recognize that. If someone choses to follow GPL, devs shouldn't get offended, they knew what they were getting into. If you don't want to play by the rules of a segment of a project, go away. Claiming that people cannot strip the BSD license on a redistribution is like saying because one of the licenses is GPL, you must always ship the source code. It's ok to dual-license something, but you have to recognize that each license explicitly grants rights that the other may preclude (i.e. BSD explicitly grants the right to rip code and use as you see fit, without source, which the GPL explicitly forbids). If a project choses to use the code under one license or the other, you simply shouldn't take offense. If you didn't want the code to be distributed under GPL, you shouldn't say it's ok in the first place. If it is more of a 'you must follow the rules of both', it kinda blows up and can't be used in either world. BSD as a whole is setup such that a third party should be able to use it with impunity, and code which may have the GPL apply precludes that. The same people bitching about BSD license being stripped would be happy to see the code redistributed as a binary.
XML is like violence. If it doesn't solve the problem, use more.
It may seem that the licenses let one _distribute_ it under either
license, but this interpretation of the license is false...
In http://lkml.org/lkml/2007/8/29/183, Alan Cox managed to summarize
what Jiri Slaby and Luis Rodriguez were trying to do by proposing a
modification of a Dual Licenced file without the consent of all the
authors. Alan asks "So whats the problem ?". Well, Alan, I must
caution you -- your post is advising people to break the law.
Funny, but I would have thought that 'Alternatively, this software may be distributed under the terms of the GNU General Public License ("GPL") version 2 as published by the Free Software Foundation.' would mean, well, that alternately the software could be distributed under the terms of the GNU General Public License ("GPL") version 2 as published by the Free Software Foundation.
If he had made the argument that some of the files (i.e. the headers) lacked that notice and thus couldn't be distributed under the GPL he would have been a point. If he said that even though it was allowed it was rude he might have had a point. Instead he's just being obtuse.
``It may seem that the licenses let one _distribute_ it under either
license, but this interpretation of the license is false
a dual licensed file always remains dual
licensed, every time it is distributed.''
So when the notice says, as in this case,
what that means is actually
That makes no sense to me. If it says alternatively, there should be a choice.
Now, in the part I deleted from Theo's quote, he actually says: ``it is
still illegal to break up, cut up, or modify someone else's legal
document, and, it cannot be replaced by another license because it may
not be removed.''
So it seems he's talking about modifiying the copyright notice that the authors attached. Now, there, he may be right. It makes sense to me that you don't go modifying someone else's copyright notice, especially if the notice explicitly states that it must be preserved (as the BSD license does).
Now, before I and everyone else gets lost in speculation, can we please get someone who is actually a lawyer to comemnt on this?
Please correct me if I got my facts wrong.
Say it with me: Theo de Raadt...
Theo, the rat.
APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
Now consider a proprietary company taking that code, and using it in a closed source product.
Quite legal, and it would be silly to assume that that code is in any GPL'd. The company chose the 'BSD' part of the 'BSD or GPL' dual license scheme.
The dual license is spelled out in quite plain English.
Theo de Raadt wrote: "Well, the lesson they have really taught us is that they consider the GPL their best tool to take from us!" This kind of statement doesn't seem like its going to change Theo's "difficult" reputation. The sad (almost tragic) animosities and controversies that swirl around free software licensing require a lot more cooperative spirit than Mr. de Raadt ever seems to manifest. Freedom isn't an easy word to define, nor is fostering freedom easy to practice in a world where control and coercion are the norm. I sympathize with those who find the BSD license "more free" -- but as a user, I find the GPL does a better job protecting MY freedom. I do agree with Mr. de Raadt's statement that dual-licensing should be maintained on code blocks that are substantially collaborative between the communities, because this benefits everyone. I think it's more important to make sure to NOT lock BSD out of improvements to their drivers than it is to keep the code from being repurposed by proprietary vendors out.
It seems to me that the unspoken and perhaps unrecognised idea at the heart of this dual-licensing issue is whether "dual-licensing" means the code is licensed under BDSL AND GPL (seemingly Theo's position) or means the code is licensed under BSDL OR GPL (seemingly Alan's position).
Given that the wording is "alternatively", which isn't explicit but does seem to imply, it would seem that in this case dual-licensed means OR. OR means recipient chooses, and if the GPL is chosen one of the things that is permissible is to remove the BSDL.
...Stu
The BSD sais:
-------
You can limit distribution of this sw under any new restrictions you want.
The above may not be removed
-------
The GPL sais:
------
You can distribute this sw under terms of GPL only.
The above may not be removed
-------
So, taking a BSD thing and distributing it under GPL is permitted by BSD.
But how to avoid user confusion. The long story would be
GPLd BSD sw
---------
You can distribute this sw however you want.
The above may not be removed.
You can only distribute this sw under GPL.
The above may not be removed.
--------
So, basically the BSD sais that unless otherwise specified, this software can
be distributed anyway you want. If otherwise specified, the clause about
the default distribution policy *HAS* to be removed.
The legal status of the piece of code HAS to be UPDATED upon further restrictions.
What cannot be removed is the Copyrights of the Authors.
I am a lawyer. Posting as AC for obvious reasons.
I think part of the confusion here about dual licensing is that it can mean two different things to people:
1) What Theo talks about is dual licensing in the sense that some parts of the code is released under one license and another part is released under another license. In that case, you need to conform to both licenses (so the licenses must be compatible)
2) When it comes to software like Mozilla (and many other), dual licensing means that you can use the software under any of the proposed license. That can only work is all copyright holders agree to have all pieces of the software under that second type of dual license. In that case, the licenses are not required to be compatible, because you can choose only one (e.g. Mozilla can be used under any of the MPL, GPL and LGPL, even though the MPL and GPL are incompatible).
So yes, Theo is right that you can't strip the BSD license when merging with GPL code because in this case, we're talking about the first type of dual licensing.
Opus: the Swiss army knife of audio codec
The GPL doesn't force its license on anything it is linked to, compiled with, or distributed with. The GPL advocates should know this.
If you disagree, then could I write a anti-GPL license that stated that 'anything you link with this code can be distributed as commercial software without releasing the source code' and then link it to GPL code without releasing the source.
I'd expect new BSD style licenses to have a clause that states that the source code cannot have its license terms changed or be relicensed under a different method without the written consent of all of its copyright holders.
If the actions permitted by the BSD license are a superset of those permitted by the GPL, then, logically, requiring the AND interpretation is equivalent to just distributing under the BSD license, right? So then why would anyone bother to dual license?
The simple fact that "BSD AND GPL" seems to reduce to "BSD" implies to me that the AND interpretation cannot be correct.
Well the GPL is the only license were this kind of situation can arise.
"But the BSD license allows that!"
Dude. Read up near the top of the page. This argument is already shot full of holes.
"What I think annoys Theo about the GPL is the same thing that annoys Microsoft so much: All that source, available out there"
Well no one would ever accuse a GPLer of having an overblown ego. There's a great body of 'open source' code available under non-GPL licenses. No one needs to go begging. Although a little begging on the GPLers part wouldn't hurt if it taught you all some modesty.
1 reject the code in question
2 begin rejecting any and all *bsd code as a matter of principal (from this date)
3 require code be "signed off" by all authors as to any existing impairments (i think this is happening anyway)
4 Theo and Linus need to meet somewhere to get very very drunk and then hash this out
Any person using FTFY or editing my postings agrees to a US$50.00 charge
I'm not touching any *BSD-projects. They would rather see their sourcecode made proprietary then going GPL. They are not pro FLOSS, they're just anti-GPL. They as Sun is, drooling over all the device drivers Linux has. They're trying to figure out a way to take that code without going GPL. Just say no to *BSD.
-- Linux user #369862
The question has never been about whether a dual license (GPL + BSD) allows you to distribute the code under the GPL. You can.
The question has always been whether a dual license allows you to remove one of the licenses. You can't.
We don't see the world as it is, we see it as we are.
-- Anais Nin
because it is a legal document.
It is not "illegal" if the license permits it. The license says:
Now, if someone makes the tiniest change to the code and only licenses their change under the GPLv2, then the entirety of the software can only be distributed under the GPLv2, which means that the portions of the BSD license simply are not applicable anymore.
The usual way of doing this would be not to alter the existing copyright notice, but to add a second copyright comment that says something like: "Portions of this code are copyrighted by John Smith and are licensed under the GPLv2. Please note that as a consequence, the entirety of this file may only be distributed under the terms of the GPLv2."
The effect is, however, the same: the file can only be distributed under the GPLv2, and the result is perhaps more confusing to users, which is why deleting the now inapplicable part of the original license is probably better.
The fundamental issue that this kind of dual-licensed BSD/GPLv2 code can be turned into GPLv2 code is unavoidable, however: that's the purpose and intent of dual licensing. Note that the reverse is also possible: someone can make additions to the code and only license those under the BSD license, killing the GPLv2 portion of the license.
(I won't even comment on Theo's use of terms like "illegal" and "breaking the law" other than to say that it's inflammatory bullshit.)
Comment removed based on user account deletion
I have to say I just wish people would use common sense here. If you make changes to a source file that is say released under the BSD license, just keep using that license for your changes. If the author used the BSD license say, that was his/her intent to have all worked based upon that license and not say the GPL (Please be aware that I am not picking on the GPL, just using it as an example).
If you don't like or agree with the original authors license choice, then don't use that source module. To be honest, it is that easy.
I came across this term once too often.
I am not so sure if this term is valid. 'Relicensing' has a clear flavour of 'changing the licence'. This is certainly not the case here. The authors have taken the liberty to slap two licences onto the code, two not fully compatible ones.
With a tad of common sense, they wanted to offer their contribution to the two main streams of the world of FOSS or FLOSS or whatnot. So the proponents of GPL could use one of the licences under which it came, and fully valid on its own, and distribute the code. So could the 'Open' people, and use and develop and distribute the same sources.
Should we not rather respect the wishes of the authors ?
Sure, you can't remove the licence off a BSD code. But when the author states 'you may do with this what you like', then you can relicense it under BSD, or GPL, or Microsoft's EULA. There the term is appropriate. But if it is fully licenced under BSD, you don't need to carry the text of any other possible licence through to the end of time. Neither the other way round.
Would you guys be that up in arms if the licence was BSD and 'you may do with this what you like' ? I don't think so. I guess, you'd drop the 'you may do with this what you like' licence and consider it BSD.
(I know this combination doesn't make any sense; but authors are at times funny people. Plus, further modifications can make a difference.)
Therefore, why so emotional ?!
Dual-licensing, that means it *is* under GPL in the first place. And under BSD. No relicensing takes place at all.
As much as I love the ideals behind BSD and GPL licenses, basic corporate greed will exploit the work of others. It happens all of the time (throughout history, even) and there is precious little recourse. As much as I would love to see the FSF sue MS for violating the GPL, it may really only be an effort in vain. The Microsoft Legal machine has funds that rival small countries. It would take a major grassroots effort and the mobilization of millions to force punitive damages on the large companies that use GPL licensed software w/o contributing back. Look at what Sun has done to OpenBSD and Theo. Sun used OpenBSD SSH code and when Theo approached Sun for donations for a hack-a-thon, he was not even given the time of day. The GPL/BSD licensed sofwtare depends upon the honesty and integrity of would-be users. Basically, if you use GPL/BSD licensed software in your code, do the right thing because it is the right thing.
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. Ironic.
I don't see anything "ironic" about it at all. The ability to take BSD code and use it without being forced to give it back is what BSD licenses are all about. If GPL'ed projects find it preferable to fork, lock out, and not give back, that's no worse than if commercial companies do it--the reasons of a GPL project to do this are just as valid as those of the many commercial companies who do this.
Apparently, Theo wants to have his cake and eat it, too: on the one hand, he considers "locking out" a bad thing, on the other hand, he refuses to adopt licenses that prevent others from locking people out. He is merely hoping that "locking out" doesn't happen. Well, looks like he is wrong.
As for Theo's implication that open source developers have special obligations to be nice to each other and cooperate, all I can say is that he should think about starting with that at home. The endless criticisms and allegations of virality by members of the BSD community of the GPL license, as well as his own strong language and flames hardly motivate GPL developers to go beyond the minimally legally necessary requirements when dealing with BSD or BSD code. If Theo wants GPL developers to take into account his wishes, rather than just BSD's legal requirements, he needs to become a whole lot nicer first (or, better yet, just step down and let someone else take over).
At the very moment Shylock is about to cut Antonio with his knife, Portia points out a flaw in the contract (see Quibble (plot device)). The bond only allows Shylock to remove the flesh, not blood, of Antonio. If Shylock were to shed any drop of Antonio's blood in doing so, his "lands and goods" will be forfeited under Venetian laws. You can't strip a license without also taking the blood. With the license stripped, the code is rendered dead to the purpose under debate. See Quibble (I'm-smarter-than-you device).
While the license gives you permission to modify the files that it covers it doesn't give you permission to modify the license.
Have you even read the BSD license? It's easy, it's only three (or four) paragraphs. Let's grab a copy from http://en.wikipedia.org/wiki/BSD_licenses and see what it has to say.
First off notice that it says copyright by someone.
Then it goes on about redistribution and use but with some conditions. What would they be? Oh, one of the conditions is that the license itself must be retained. How about that. The license must be retained. So you can't modify the license! It says so right there. Copyright law also has some input on that too, but enough said.
Now there is an exception of course, and that is if you are the original author or if all the original authors authorize the changes.
That's all folks. Nothing to see in this kafuffle except blatant attempted copyright theft and attempted absorbsion of BSD code into the maw of the GPL'd commune beast.
Move along and have some honesty with other peoples code please.
Cheers.
* Copyright (c) ,
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
You say it makes the code less free. I say it makes the code more free, because it guarantees it will remain free.
/change/ the freedoms applying to the code. I don't see how there can be argument on that, because regardless of whether one believes it's more free or less free, it certainly changes the applied freedoms.
Perhaps we can agree on a statement that it would
Duncan
Duncan
"Every nonfree program has a lord, a master,
and if you use the program, he is your master."
R Stallman
The Colleges and Universities should catch on and offer a class as part of their course of studies. After learning about compilers and databases, learn about licenses! I agree with Theo, a license is a legal document, and should be respected as such. Imagine if someone posted an article that said "who cares about buffer overflows?". They would get laughed at, because everyone knows, or should know better. Once a generation of students gets the message about licenses, both the BSD and GNU camps can work together (because that is what they really want, better software) and yet keep their own ideals intact.
Imagine if this spirals down into flames. OpenSSH becomes unavailable to the GNU crowd, *BSD gets nothing from the Linux side. Both end up being severely limited. And would it be worth it? Hardly. But you can be sure of this: Theo is so determined to make the world better, that he would never take away OpenSSH, just to get even with the GNU folks withholding code.
Lets hope they figure out a way to compromise, with out all the flameage.
When a techie and a lawyer argue about technology, the techie is almost certainly right.
When a techie and a lawyer argue about technology, the lawyer is almost certainly right.
Given that Theo's post is
i) barely coherent
ii) makes broad legal-sounding principles, without citing precedence or statute
I'll bet dollars to donuts he's talking absolute bollocks.
Disclaimer: I am not a lawyer, but I know enough techies to know they love feigning knowledge on issues on which they are, in fact, almost totally ignorant.
Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
Can someone please explain, why would Linux kernel folks remove the BSD license from the drivers?
What is the advantage for the Linux kernel project?
The ability to take BSD code and use it without being forced to give it back is what BSD licenses are all about. If GPL'ed projects find it preferable to fork, lock out, and not give back, that's no worse than if commercial companies do it
Actually, there's a difference.
Commercial software can't compete with open source software on an otherwise level playing field, so commercial products are only direct competitors to open source ones if the commercial product has some overwhelming benefit (for example OS X). The BSD license fits this situation very well: a commercial product can use BSD code, but if it's competing with open source products it has to be a much better product. The result is that the BSD license promotes a meritocracy.
GPL software competes directly with non-GPL open source software, so when code goes under the GPL it doesn't vanish, like it would if it went commercial, it remains in competition with the original software.
As for the rest of your article... the history of the debate and the players aren't who you seem to think they are.
First... nobody's got a foot to stand on in the "who's been bitching the hardest" stakes. Let's not go down the road of complaining about what high profile people said or didn't say, or the language they use... please. I'm not going to even mention specific cases because they're beside the point.
Second... Theo isn't a spokesman for anything but his particular project. There isn't any spokesman, really... the BSD community doesn't have a single figurehead or leader. There's Theo on the OpenBSD project, Jordan on FreeBSD, the ex-CSRG folks like Kirk McKusick, but no equivalent of Linus or RMS.
...if someone makes the tiniest change to the code and only licenses their change under the GPLv2, then the entirety of the software can only be distributed under...
"If someone makes the tiniest change to the code" then their code when merged with the original work isn't a derived work and can't be copyrighted - the new changes become part of the original work. Copyright law requires a substantial change or a change that makes the new work different enough to be considered a derivate work and thus deserving of a copyright.
While your tiny changes by themselves might be copyright by you when you merge them into an original work written by one or more other people your work is essentially a gift to that project under their copyright and ownership. Unless, your changes are significant or different enough it's important to be aware of this.
I suspect that it is the case with most contributions to open source projects that have any size to the program(s) are actually gifts to the original authors work since most changes don't significantly modify or make the work different enough to deserve to be called a derivative. Given this reasoning the entire open source industry and communities must re-evaluate the basis of their contributions since most contributions when added to the work don't confer any rights to those giving the changes.
The "GPL" isn't about giving back to the community. It isn't giving if it's by force. Since the GPL mandates that the changes be distributed in source it's not giving back to the community. It's the community taking the changes by legal force.
c id=20399923
Theo's issue goes beyond the license to common practices. Most BSD projects receive changes back from people simply because it's in everyone's benefit that those changes make it into the mainline distribution of said projects. Now people are free to distribute their changes as they see fit however they are still bound by copyright laws and the license.
The changes to the driver do not seem to be significant and don't make the driver different enough to warrant be classified as a derivative work; thus the new author - once his changes are merged - doesn't gain any copyright into the work (the driver in this case). His changes become part of a non-derived original work and he has no rights to it. In fact it's best to consider it a gift to the original authors under their license terms and ownership.
It's the merging of changes into another's work that is the issue. Do you changes constitute a derivative work or not? Usually they don't. Too bad. You've given your code to the original author and they can control what to do with it once it's been merged.
Of course you might have a copyright in your patch as a separate entity as long as it stays a separate entity only. That would make it useless since it's value is when it's merged into the original work.
For reference: http://linux.slashdot.org/comments.pl?sid=282341&
My experience is that companies that actually deliver real products are far to entangled in the real world to care to much about licences one way or the other. All I ever hear from my clients when I'm deploying a GPLd product for them is if they will lose control over the hard work they are doing or paying me to do.
Once I tell them that as long as they don't redistribute 3rd party code nobody cares. And as soon as companies DO redistribute 3rd (or first) party code they are often quite open to the idea of GPLing it. Or, as the case apparently is, BSDing it. In theory the GPL is gives more 'enforcing' power but also is more difficult to handle (mentally). In practice companies and people making money on software very rarely care about such details as long as nobody goes on to exploit their branding or a featureset built on ripped code. And then usually more laws are broken than just some OSS licence violation.
I think both the noisy GPL faction and the noisy BSD faction should tune down a little. Licences and their mechanisims are important but once you've really understood them there's no need to argue oneself into a hissy-fit pen*s-length contest over it.
We suffer more in our imagination than in reality. - Seneca
And open source project locked out of open source code by a open source license? Yeah. "Ironic," would be a word for it. "Self-rightous-hissy-fit," would be another.
Don't dual license code. Especially when you have to deal with not one, but two, bullheaded people.
Once you have the dual-licensed code, you can do with it what you want, so long as you respect ONE of the TWO licenses. However any derivative of this work must also have BOTH licenses included. The linux people are way off on this. Dual licensing does not mean pick one license and go with it, it means proceed with both licenses, obey one. The onus is on you to prove that you have the right to remove one of those licenses without proper permission. Why even have dual licensing if this is the case?
Secondly, the concept of community and sharing. Since both gpl and bsd have similar ideals (open the source), a certain amount of camaraderie and back scratching is nice. Each camp has similar goals. What pisses off the openbsd people in this case is that the gpl people acted in bad faith and removed a license illegally. Theo is 100% right about this.
If you want your work to be GPL only, separate it out and place under GPL only, and leave the dual licensed code alone, which would be legal. But as Theo says, this will reflect badly on the spirit of cooperation between the two license camps, and probably mean less inclination to support dual licenses in the future.
It's designed to maximise and perpetuate choice and freedom for end users, which BSD doesn't particularly consider (it's arguably more convenient for a developer though).
But anyone who's read the GPL knows this. RMS had it right: End users are the ones screwed most mercilessly under the proprietary/crapware/monopolyware model - and not just financially. Let me count the ways...
you had me at #!
While it does appear that he could be wrong legally, he is quite right from an ethical perspective.
How so? The original author (presumable one of the BSD folk) explicitly states that you can distribute the code under the GPL if you wish. What is so unethical about following the original author's wish? They wrote the code and should be allowed to set the distribution rules as they wish. Other people are free to disagree and point out why that might not be the best course of action but that is not the same as being unethical. If the author thought s/he would be swindled by distribution under the GPL license then why did they allow it?
That would also prevent proprietary use of BSD code without alternate licensing. Come to think of it all you've succeeded in doing is re-inventing the copyleft that the BSD world dislikes in the first place.
I think what is really going on here is analogous to Sunni vs. Shiite or Protestant vs. Catholic. When a proprietary entity uses BSD code, they are the FOSS equivalent of heathens. They neither know or care about the FOSS ethos so you could say they don't know any better. With GPL vs. BSD, you have slightly different takes on similar ideals. You may be able to convert a heathen but heretics are only fit for stake-burning.
The "GPL" isn't about giving back to the community. It isn't giving if it's by force. Since the GPL mandates that the changes be distributed in source it's not giving back to the community. It's the community taking the changes by legal force.
What "forces" you to use GPLed code in the first place? It is an upfront affair that can be taken or left.People are flipping out without understanding the issues.
Dual license means, you can abide by one of them, which ever you want. You can't take out/alter the verbiage of license itself, and when you pass this code downstream the verbiage needs to be intact.
If you write/rewrite a significant portion then if you want that code to be distributed under only one of the two licenses you got the main body of the code under, you should probably stick it in another file to be unambiguous and put your license at the top of that, or somehow mark your portion of code and what license it should follow. In this case your code would have to be BSD or GPL2 though, considering you couldn't distribute the rest of the code you originally got unless it was one of those.
I'm guessing that the guy who cause all of this just got the wrong idea about what dual licensing meant and was trying to clean up what he thought was redundant verbiage (aka the BSD license) at the top of the file.
Theo's position apparently is: if you take my code, make your changes, and never tell me what you did -- never even show me the changes -- that's your freedom. Enjoy it. The BSD license rocks. BUT, if you take my code, make your changes, and I find out what they are and can't reuse them myself, then you've abused the freedom I've given you.
Problem: that's an ethical argument, an argument about how one should or should not play the game of open source software. The BSD license is a work of law -- how the game may or may not be played, regardless on intention. IANAL, but the law probably supports the return of the BSD license text. Beyond that, the license did its job -- the code was indeed given away.
"This code is licensed under A, or alternatively under B."
This is ONE license, and that one sentence defines it, pulling in reference to two other license in the process. Now a recipient of that code must follow the rules set out by this one sentence (i.e. that they can follow all the clauses under license A (say GPL) or license B (say BSD). But they simply cannot hack this one sentence that stipulates the license the code is under, only the author(s) can do that.
Dual license allows for use of the code as if it was BSD source, or as if it was GPL source in this case. It does NOT allow you to change the license such that only half of the license is now in effect.
In short, once dual licensed, always dual licensed, unless the author(s) of the code choose to change the terms.
> In short, once dual licensed, always dual licensed, unless the author(s) of the code choose to change the terms.
I wonder where you people come from and what kind of drugs you consume.
I am going to write this in BIG CAPITAL LETTERS because it seems that
you have some kind of mental block or brain damage that prevents sane,
rational arguments and explanations getting through.
The ORIGINAL license (the dual license) SPECIFICALLY GIVES ME THE RIGHT
TO CHANGE THE TERMS. I CAN CHOOSE GPL OR BSD. IT DOESNT SAY ANYTHING ABOUT
RETAINING THE WORDING OF THE DUAL LICENSE IN FOLLOW-UP DISTRIBUTIONS.
The original code of course remains dual-licensed and anyone can get it as
such by going to the source. If i choose to redistribute GPL ONLY THEN THIS
IS SOMETHING THAT THE ORIGINAL LICENSE ALLOWS AND IN NO WAY FORBIDS. THIS ALSO
MEANS THAT ANYONE WANTING TO RECEIVE CODE UNDER THE ORIGINAL DUAL LICENSE WILL
NOT RECEIVE IT FROM ME AS I DISTRIBUTE UNDER GPL (PER ORIGINAL LICENSE RIGHTS).
STOP SMOKING CRACK!!!
I think the confusion here is coming from using one term to mean two things. I think most everyone here is considering dual-licensed code to be one complete work which is available under a choice of licenses.
Theo however seems to be talking about a composite work consisting of code available under two different licenses, requiring the whole to be distributed under both simultaneously.
As to which case we're talking about here? Who the hell has time to rtfa and figure that out..
What does this button d$#%* NO CARRIER
It is truly shocking to see the attitudes of SOME within the GPL club.
This was SUPPOSED to be about FREEDOM. I started thinking that there was something else going on when I saw the debate over GPLv3. It seems that SOME in the GPL crowd are determined to steal the works of others and ram their preferences down other people's throats. This is like the difference between those of us who want unencrypted music and movies so we can use what we bought in any way we want, and those who oppose encryption because they want theft to be easier. SOME of us want full sources to software so we can run it on any machine we own and modify it to better suit our needs, but SOME seem to want source so that nobody can make a living writing code.
If GPL supporters will not respect the licenses of others, then nobody should respect the GPL and GPL supporters should not become symbols of hypocracy-writ-large by getting mad about it.
If you want others to share code, make it mandatory and use the GPL.
So much for freedom...apparently nobody is free to use another license. This attitude is part of what makes the GPL viral.
Because they offered THEIR users even more freedom than the GPL would. The BSD license not only lets people do what they want with the code, but it also imposes no extra burdens on the user, OTHER THAN THAT THEY NOT RE-LICENSE THE CODE SO THAT BSD USERS CANNOT USE IT. There is nothing in the BSD license that says "you are hereby licensed to remove this license from this code"
Read my lips: you wanted it that way. The BSD license allows for this and you knew it
Nope. The BSD license does NOT allow you to change the license. As for giving back code, well I guess the GPL people are not as nice as they want to be seen. Are you saying that the only reason you give back code is that the GPL MAKES you do it? Are you saying that, left to their own devices, the GPL programmers would never give back any code? So much for moral superiority.
To share it with the BSD coders, they would also have to share it with the lock up coders.
OK, then stop using BSD code. If you are unwilling to be tainted by the impure users of BSD code, then take it out of your system. Do not use it. BSD license users are not implying that you are immoral by using your license of choice, but some GPL people like to make the accusation against BSD license users. OK, go for it. Get all the BSD and MIT stuff out of your Linux build. Be pure-and-clean-as-the-GPL-driven-snow... and enjoy your command line. Personally, I will continue to use and support BOTH licenses and try not to abuse EITHER ONE. Again, I thought that GPL advocates were all about freedom and sharing, but I guess they only wanna share with PURE people who will never try to earn a living. We cannot ALL make a living going around lecturing and giving speeches. Some people actually need to MAKE things.
but he fails to acknowledge that a dual licensed file gives you that permission with the other license.
Dude, you are dangerous. Nobody with that attitude and that poor understanding of licenses is safe to employ in software development. That attitude will get you into serious legal trouble someday. You do not get to just pick and choose your license and delete the other license from the code. I THOUGHT that GPL advocates HATED that form of intellectual property abuse. Do you advocate removing other programmer's names from comments in code too?
A lot of people here seem to be missing the point
The GPL was supposed to be (among other things) about passing on to others the rights you had when you got the code. When you got the (dual licensed) code, it had BOTH licenses and you had the freedom to use it EITHER WAY, but when you strip the BSD license from it and the rights to use it as the BSD license allowed it to be used, you violated your own Prime Directive. What you then passed-on to
I think you're splitting hairs, and your argument is irrelevant anyway. Theo isn't making the distinction between derivative and non-derivative works, he's claiming that for GPL projects to remove the BSD license in general is (1) "illegal", and (2) evil, and I think he's wrong on both counts.
What Theo is pointing out, really, boils down to the following: source-code distributions of a derivative work based on a BSD-licensed work must carry the original BSD license notice, because the BSD license requires this. The parts of a derivative work that were derived from a BSD-licensed work continue to be BSD-licensed. The modifications or additions that distinguish the derivative from the original, BSD-licensed work, however, can be under a license other than BSD; such modifications, if released under GPL, cannot then be released under the terms of the BSD, making it impossible for projects that prefer to release work under BSD to use them.
The part where I stop understanding this, however, is how the hell to say in the copyright notices of a source file that it constitutes a derivative of a BSD-licensed work, but with modifications that are not themselves BSD licensed, without altering the BSD license text itself.
BSD is like a doting parent who loves their child unconditionally. GPL is like a parent who only loves their child as long as their child loves them back. The family stays together, not for the kids, but only because of the love of the BSD parent.
In a nutshell
Hrmm... he must have three users because I've never rimmed his asshole.
Trolling is a art,
I am not going to get into Compiz/Beryl issues or anything like this. However, I think that there are a couple of issues here which need to be addressed.
First I am glad to see this post by Theo. I think it provides a great deal of help in discussing some of the thorny issues between BSD and GPL camps. It also provides some other perspective on some concerns I have been having with the GPL3.
The second thing I want to say is this: It is one thing to take BSD code and not give back. It is another thing to do this in the name of keeping the "evil companies" from doing the same. I am sure this sort of thing does happen from time to time. It is one thing to say "I don't want people to take my code and make it proprietary without licensing from me first. It is something else to say that while doing the same thing to other people in a different sense.
This is an ethical rather than a legal issue. On the other hand, my experience with BSD projects is that this becomes a larger issue when pace of development is slow. If you have a fast pace of development with commercial player who do give back, then this becomes difficult. How likely are we to see Apache or PostgreSQL get gobbled up by GPL'd (or even proprietary) forks? I don't think it is likely.
In fact, if you look at PostgreSQL, I have seen at least six or seven proprietary spinoffs of PostgreSQL. Today, there are two "main" ones and they are niche (but high-end) markets. The others are dead or insignificant. Business-wise it is very hard to compete with a properly run BSDL project, and the BSDL can provide businesses an ability to sell that which the community doesn't want anyway (like funky Oracle-compatible NULL handling).
In the end, the *only* thing that matters is community. Building it is the *only* way forward. The GPL has some business advantages (and the BSDL has others).
Most of my software is released under the GPL2, but I am considering the BSDL more and more viable for multi-vendor large projects.
LedgerSMB: Open source Accounting/ERP
The copyright holders included the word "alternately" in the license regarding derivative works. This license is not the bsd license, as the license the copyright holders distributed the software under permits the removal of the bsd license for derivative works. The bsd license does not allow this. By including both the bsd license and their addition permitting the removal of the bsd license, the copyright holders have issued a logically inconsistent license. I believe that a good faith interpretation of the intent is that the removal of the bsd license is permitted, mot because the bsd license permits this (it does not), but that the authors issued the software not under the bsd license but their own, novel license, which stresses choice in this matter. Software cannot be issued under dual licenses, only a single license that seeks to combine features of separate licences to create a new legal animal, a meta-license.
Because they feel that releasing their code under a more restrictive license has bigger disadvantages than the ones of releasing it under the BSD license. Gee, that was easy, wasn't it?
Exercise for the reader: go read and find out what they think the bigger disadvantages are.
Are you adequate?
Yes, you seem to have written that, however your conclusion doesn't apply since the GPL has many other significant and restrictive conditions that nullify the simplistic comparison that you put forward. You have to look beyond the surface comparison to the deeper interactions that the two licenses have upon works they impact. You must agree that in totality these are radically different approaches: GPL and BSD licenses. Since that is obvious then it's easy to see how a simplistic comparison fails.
Take one point in particular that devastates your assessment: the GPL virally requires new changes to be under the GPL license while the BSD license doesn't - however the original work MUST remain under the BSD license and that includes all the code expressed in it unless you take a tiny portion under fair use. How can this be? Since most changes, modifications, updates, or additions to most software projects that are open source or free source, and like the patch to the BSD based driver that is in question, are not significant enough or don't change the original work to be different enough they are not derivative works and thus not entitled to be copyrighted under copyright laws regarding derivative works.
The implication of copyright laws for BSD licensed original works is that minor changes, such as a patch for Linux, fail to achieve their own copyright status meaning that the BSD license is in full force. Good legal advice (and yes I did ask a software lawyer about this point since this story broke) has it that it's best to consider one's "contribution", such as the "patch" in question, as a gift to the original author(s) - a gift in the sense that it's a transfer of ownership from the minor change author to the original author(s) in a legal sense. Once the "patch" is merged with an original work it no longer is owned by the author of the patch in it's merged form (assuming it's not a derivative work under copyright law).
The implications of minor changes that don't qualify as derived works that are merged into original open source or free source software programs is that most of them are gifts and not copyrightable by the authors of the minor changes.
This is very serious indeed and requires careful analysis in this case with the "patch" to the BSD driver in question as well as in every contribution by anyone to any software project (open source, free source or proprietary in nature). This could shake the foundations of the whole basis of open source and free source software and require additional clauses in licenses to deal with this gray area. For there is no doubt that it's a gray area with the potential for many legal victories and defeats for our intrepid heroes involved.
It's a gray area since the question of what constituents a derivative work under copyright law and court decisions isn't black and white. It's clear that minor changes don't qualify as derivative works. The changes must be significant in size or cause the resulting work to be different enough from the original work for the new resulting work to be considered copyrightable on it's own. Naturally one can see that this also depends on many factors such as how large the original work is in comparison to the resulting work. For example, adding a few subroutines to Firefox or Apache wouldn't result in a new derived work due to the size differences. Furthermore, it would take quite a bit of work to significantly change Firefox or Apache to be "different" enough in it's fundamental operation to be considered a derivative work. Following this reasoning most changes to these projects are not derivative works and the merged code enters this gray area where the courts are likely to rule in favor of the original authors due to the language of copyright law in regards to derivative works.
So, yes, in this case it would seem that IF the author of the "patch" isn't the original author of the BSD driver AND IF the "patch" doesn't constitute a new derived work under copyright law (and applicable court cases) THEN the "patch" M
See my earlier comment for a more indepth reply.
m l#derivative/ [copyright.gov]
No, you can't relicense BSD software even if you create a valid derived work with it. Why not? Copyright laws and the BSD license terms. Read them again. Read copyright law again.
To be copyrightable, a derivative work must be different enough from the original to be regarded as a "new work" or must contain a substantial amount of new material. Making minor changes or additions of little substance to a preexisting work will not qualify the work as a new version for copyright purposes.http://www.copyright.gov/circs/circ14.ht
Since the original authors have not given up their rights to derived works they still have control over them allowed by copyright laws and court cases. The portions of the original work must still be made under the original license since the BSD license terms state that. That can't be changes without violating copyrights even if the original work is embedded within a derived work! You must give credit due to the BSD license terms! You must include the BSD license terms even in derived works or works that include even tiny portions of BSD code!
Since most changes to open source software are not derived works the original authors still have control over them. This seems to the be the case with the software driver patch in question.
How did you obtain that assessment? I never said that.
Let's think it through though now that you brought it up. Assuming the dual licenses are BSD and GPL it would seem that there is a conflict between the two licenses with the GPL saying that source must be shipped with any binary distributions while the BSD saying that binaries may be shipped with or without the source code at the developers choice. This is one of the quintessential gaps between these two licenses that is at the core of the philosophical battles raging in many places and projects.
Since the BSD explicitly permits the binary only distribution option developers may ship only the binary if they so choose as the license permits This is true if both licenses are alternatives since the developer can choose either license. All they need do is ship with the BSD license and indicate that that was their choice. This assumes that the work isn't a derived work under copyright law - as most changes, additions, updates, or modifications don't qualify as derived works under copyright law the new work isn't copyrightable.
Regardless derived works (as defined by copyright laws and court cases) must preserve the terms of the BSD license since that is explicitly stated in the license of original works licensed under BSD style licenses. This means that the BSD license can never be removed! This also means that the original code is forever under the BSD license even when embedded or fractured into a new derived work.
It should also be noted that the original authors retain all their rights to derived works! This has serious implications.
The GPL terms only come into play when the developer chooses to distribute their changes (assuming that they pass the test of being different enough and thus a derivative work under copyright laws and court cases) under the GPL terms. However, if the changes - when merged with the original work - don't qualify as a new copyrightable work the new authors have no say in the matter and the changes MUST BE DISTRIBUTED under BOTH licenses!!! This is a crucial point and one that will likely be tested in court, possibly as a result of this dispute or one like it.
Why must minor changes be distributed under both licenses at the discretion of the original works authors? Because they are the ones who control the original work and when the new author makes changes to the original work that don't qualify as derived works (as defined by copyright law and court cases) the new author has no control over their work once they merge it into the original work. Legal advice obtained a few days ago on this point suggest that the new authors consider their changes as a gift to the original authors to minimize the legal problems they could face. For proprietary software the original authors would likely seek an injunction to prevent the new changes. In open source the original authors usually welcome the "gift" of minor changes from new authors even if these changes are unsolicited. Often these changes are incorporated into the original work and redistributed. The key point to understand is that it's optional for the original authors to extend any copyright ownership in their original work to new authors minor changes - often they might do so out of courtesy and often they simply don't. It's up to them. With major changes though (see the definition of derivative works under copyright law) the work may qualify as a derivative work and the new authors may gain copyright status of their own. At that point the original work if merged with the new work gains a new co-author and the license must be updated to include all the authors of the new copyrightable work and the original work (unless a fork occurs in which case they are now two distinct works).
This has serious implications for forking and how much the original authors may control or impact forks of software systems.
How deep does this rabbit hole descend? I'm afraid we will find out and that the damage to open source and free source projects will be significant unless they cooperate with the spirit of sharing fairly and with integrity.
Yes you are correct you can take it or leave it. That point is valid but misses the point of valid criticism that is often raised about the GPL and it's method of restrictions.
The point is that once you "commit" to extending a GPL'd piece of software you give up your choice to choose at any time in the future for that software to be not shipped with source. As we all know this is one of the defining characteristics of GPL'd software - you must publish or make available the source code of your changes that you distribute. You agreed to that and must obey if you intend to follow your agreements. The community even enforces this point legally. The "commune" also promotes this aggressively in many ways such as your non-relevant point which I hear all the time from GPL advocates.
Compare two software projects, one GPL'd and one BSD licensed. They both have similar features and capabilities. If you choose the GPL you've effectively joined a commune that will enforce your adherence to their restrictive covenants, including their over zealous restriction on sharing source code which you author. By choosing the BSD licensed software you have freedom now or in the future to choose to distribute the source for your changes or not assuming that your changes are a new derivative work. If your changes are not a derivative work and you choose to distribute them you must keep the BSD license. See earlier analysis comments by itsybitsy in this thread for the in depth analysis on these points. Yes you are free to do what you want but you are still bound by copyright law and the BSD license terms.
Once you commit to the GPL there is no going back! That binds your hands in the future as many have found out the hard way.
Also, as many have also found out, the GPL attempts to infect other software that co-exists with it in a system in sneaky ways that are just downright tasteful and overly restrictive. This is often called the viral nature of the GPL.
I'd rather choose a license that keeps my options open for the future so that I as a developer can choose at any point in the future to ship or not ship the source code modifications that I create for others original works under the BSD or other license. That's the freedom of choice that GPL takes away at the time you commit to using GPL. That's why GPL is less free than BSD. That is a major reason for the GPL license being considered "restrictive" and the BSD license is considered "permissive".
If you don't like this assessment then that's simply too bad for you.
Obviously your freedom to choose at anytime isn't important to you. Obviously you have chosen the path of joining the GPL commune - if it works for you all the more power to you - just don't enforce your communistic and socialistic ways upon us freedom lovers.
That also means don't steal BSD software and attempt to change it into GPL'd software.
That also means sharing non-derivative software changes with BSD software authors under the BSD license if you choose to share them as you must with dual BSD and GPL'd software. Thank you.
Let's go through the logic of that one more time just so you and everyone is clear. Software that is both GPL'd and BSD licensed has some unique interactions. For example, if you make a change to said software the GPL license requires that you share the source code (if you distribute the binary). Since you are sharing the source code you must publish it under the BSD license as well IF it doesn't qualify as a derived work as defined by copyright law. Why? Once minor changes are merged you don't have a copyright in it and the original authors rights and license take priority. Even if your changes do qualify as a derived work the original licensed code embedded within the derived work must retain the BSD license per the BSD terms and per copyright law. Also the original authors retain their rights in derived works even with BSD terms as a result of copyright law.
It's often better to ask for permission than to beg for forgiveness. Th
First, there are a lot of people who have trouble separating hype from reality. The fact is that well-run BSDL projects promote software freedom to at least the same degree as well-run GPL projects. I personally think that people who won't give back to BSDL projects in the name of software freedom are hypocrits. And yes, there is a moral issue there.
However, there is a second issue to contend with. Well-run BSDL projects can create a pace of development which makes it very difficult to justify not giving back. When this pace of development reduces, then you have to worry about further restrictions etc both open source and proprietary. I think that it is also wrong for BSDL developers to complain about this too much because when it matters, it always means that there are issues keeping the pace of development high enough to thwart competition. Hence hiding behind morality in order to cover one's own failings isn't much better.
This issue is quite interesting however, because the GPL3 provides any individual who merely distributes the software (i.e. has no copyright claim to it whatsoever) to remove additional permissions from the copies he/she distributes. I wonder if these sorts of issues are going to be more common as software packages upgrade licenses to the GPL3 if for no other reason than differences in interpreting that license.
LedgerSMB: Open source Accounting/ERP
of course the point is to allow both licenses, which is why both licenses must be kept intact. But you are wrong about permission to remove the BSD copyright. If the original work was released under the auspices both licenses, it must continue to be so, otherwise you are de-licensing something. Unless the meta-license says you can remove one. But it doesn't in this case. It simply says it can also be distributed under the GPL, that's all.
"This code can also be distributed under the terms of the GPL license version 2"
"This code can also be distributed under the terms of the BSD license."
Removing one or the other means no more dual licensing, and therefore means violating the original license of the copyright holder. That's my opinion, it makes more sense than your opinion, but I don't know (from a legal standpoint) which is the correct one.
If it's licensed under, say BSD and comercial, then whoever gets the commercial licensed version can strip the license out as long as they are using it under the restrictions of the closed license.
If it's licensed under GPL and BSD then you can either use it under the restrictions of the GPL (which doesn't require you to keep the BSD license header but does require you GPL the entire work) or the BSD (which merely requires you keep the BSD license header.
which is what happened in this case.
*I* cannot decide to add GPL code to your BSD code and dual-license your code under GPL and BSD. I *can* dual license my addition to GPL and BSD, though, but ONLY my addition.
When MS taking and (for years denying) the BSD TCP/IP stack? MS said it was all their own work until someone ran "strings" on the code and turned up the Regents text string. Now saying that some work is yours when it isn't IS illegal, even though the code is left intact. Two things are done by MS's actions that, mysteriously, neither you nor Theo have a problem with: plagiarism (they said it was their code until caught) and misrepresentation (they used someone else's code without a BSD license text file).
Now the only reason why the (c) notice needs to be kept in the source is because taking it away makes you seem to be the owner of the code. Since BSD people all like to say all they want is recognition, this is rightly hated in this case (though I believe the (c) notice was left in, so it doesn't apply if I'm right). However, where's the outrage for MS's statements that there was no BSD code?
Theo (and you and several other BSD proponents) hate the GPL. I suspect because, in ensuring END USER freedom, the GPL is putting restrictions on the developers (you and Theo et al) and you don't like it.
Well, tough titties.
I wrote: "I can't abide it as a server, of course, but servers aren't really Apple's market."
I'd like to clarify this, since I didn't notice until after I posted that the antecedent of "it" is uncertain. I'm referring to OS X here, not Linux. Linux is a perfectly competent server OS, and I've used it in that role in the past when appropriate. I (obviously) prefer BSD (FreeBSD to be specific, though I did give OpenBSD a trial), but that's a preference... not a litmus test.
The GPL is just more honest and upfront
The BSD license says "You may do what you like with this code, so long as you let others do the same."
The GPL says "You may do what you like with this code, but if you do anything publicly you have to share the changes."
The latter is not more honest or upfront, it is just more restrictive.
It is a flat-out LIE that the code can't be used in the BSD project - it certainly CAN.
It can be used in ANY project, by anyone. They simply must give back to the world using the GPL if they want to distribute the code. It's FAR more free than the BSD license, as the code can't be closed.
The code can flow both ways, easily. The "shackles" of the GPL are not shackles at all, but keys to the shackles of closed source for everyone to use.
I understand this point of view but I don't see it coming into play. You are correct. Not that it makes any sense. You are essentially saying that all copies have a license with terms to pick the terms of a BSD license or a GPL license. In essence, it's becoming the license who's terms you choose. If that's not the case, then the license becomes a BSD license since any GPL'd copies can be BSD'd and the GPL can't be used since the restriction added by the dual license (always allowing BSD). Either you're right, and dual licensing is pointless and illegal or you're wrong and the meta license is replaced by the license of choice. The latter is the wish of the original author but that doesn't mean it's legal or the correct interpretation. IANAL
If you honestly think that an API built up from the horrible Win32 environment, completely alien to UNIX, and controlled by Microsoft, is preferable to an API that's based on UNIX, controlled by Apple, and which *also* has an open source implementation (GPL, even) that's actually native on UNIX... we're just coming from such different views of open systems and open source that we're never going to communicate.
If you honestly think that an API built up from the horrible Win32 environment, completely alien to UNIX, and controlled by Microsoft,
.NET compatibility.
Mono has full bindings to all the standard open source APIs; that's what makes it such a great choice for developing Linux applications: there is almost no learning curve, and it's a well-designed and well implemented modern platform.
In addition, as a kind of bonus, Mono also provides full
And who cares who came up with it? When GNU and Linux started, UNIX was completely controlled by AT&T.
is preferable to an API that's based on UNIX, controlled by Apple and which *also* has an open source implementation (GPL, even) that's actually native on UNIX...
First of all, Cocoa is "based on" Smalltalk, not UNIX; Cocoa uses completely different APIs from any used on Linux or any UNIX workstation vendor. Objective-C and Cocoa syntax are completely different from all other UNIX and Linux libraries. GNUStep is incomplete as an implementation, and barely used on Linux, let alone other platforms.
Even if Cocoa were "native to UNIX", it wouldn't matter: Cocoa and Objective-C are obsolete.
we're just coming from such different views of open systems and open source that we're never going to communicate.
Evidently. For someone to argue that Cocoa is an "open system" or "UNIX based" is just bizarre.
Mono has full bindings to all the standard open source APIs
.NET applications, even written under Mono, are going to be written to Microsoft's APIs... not open ones... because damn few people are going to write Mono apps if they don't plan on them being portable to Windows.
So does Windows NT. That's the same argument that Microsoft used to claim NT was POSIX compliant. Real Windows applications did not use the POSIX API, they used Microsoft's proprietary API. Virtually all real
And even aside from that, Mono apps do NOT run like standard UNIX applications on UNIX. Set your environment variables, start up a Mono app, it doesn't see them because it's running in the same background VM as the one you started three hours ago as a side effect of running some other Mono app for some unrelated purpose.
Mono apps do not run native under UNIX, and are not written to UNIX APIs.
And who cares who came up with it? When GNU and Linux started, UNIX was completely controlled by AT&T.
And AT&T did not have a history of creating trojan horses, and they did not create UNIX as a trojen horse. The UNIX API was simple, easy to implement on other operating systems tin a way that left the resulting applications behaving as native applications. AT&T's treatment of UNIX and the UNIX APIs pretty much *created* the open systems movement. The AT&T that existed *at the time UNIX was developed* did everything to *avoid* control. Their turnabout in the '90s (after they finally managed to shake off the inertia of decades as a regulated monopoly) was 20 years too late.
And by the way... Linux is a newcomer. The first non-AT&T implementations of UNIX were in the late '70s, long before Linux and even before GNU and most of the events that led to the GNU manifesto. Linux wouldn't exist without that history of disparate yet interoperable instances of UNIX... no proprietary operating systems could have developed the kind of common code base... outside of UNIX pretty much all you had were user group libraries... each for one particular OS... and high level libraries written in painstakingly portable Fortran. Even non-OS-specific languages like COBOL and Modula made portable application programming painful.
Programmers today have no idea how much work it was writing portable code before UNIX and C... my first programming job was porting COBOL libraries from one Honeywell OS to another. EVEN WITHIN THE SAME VENDOR you didn't have a portable environment for writing code... and there was NO vendor-independent platform for writing portable code other than the Software Tool model of UNIX. Later, I found myself porting a Ratfor compiler from a textbook because it was *easier* to use that to compile Ratfor code from the Software Tools tape than to port a supposedly "portable" Fortran program from a user group tape for the wrong OS. And the Fortran community was more interested in portability than just about ANY group. If AT&T hadn't laid a light hand on UNIX we wouldn't have anything like the open systems and open source environment we do today.
If you didn't live through the start of the open systems revolution you have no idea how messed up things would have been if AT&T had been just another software company like Microsoft, able to act free of regulation.
First of all, Cocoa is "based on" Smalltalk, not UNIX
The low level APIs that are exposed through that interface are *all* UNIX APIs. Even Apple's file system extensions in HFS+ are second-class citizens. A Cocoa application runs as a native UNIX application, without a virtual machine, and properly inherits and uses the UNIX environment it's run under.
Objective-C and Cocoa syntax are completely different from all other UNIX and Linux libraries
The native UNIX APIs are the ones in the UPM, section 2 and some of section 3. Not the ones in the Qt or Gtk manuals.
Syntax? UNIX is an OS, not a programming language. But even so, the native programming lang
So does Windows NT. That's the same argument that Microsoft used to claim NT was POSIX compliant. Real Windows applications did not use the POSIX API, they used Microsoft's proprietary API. Virtually all real .NET applications, even written under Mono, are going to be written to Microsoft's APIs... not open ones... because damn few people are going to write Mono apps if they don't plan on them being portable to Windows.
b le("foo"));
NT's POSIX compatibility is indeed just a marketing gimmick--nobody uses it. But Mono/Gtk# has lots of actual users. Here is a lost of Mono/Gtk# applications from 2 years ago; many more have been added, and several ship standard with Ubuntu and Debian.
Set your environment variables, start up a Mono app, it doesn't see them because it's running in the same background VM as the one you started three hours ago as a side effect of running some other Mono app for some unrelated purpose.
$ uname -a
Linux box 2.6.20-16-generic #2 SMP Fri Aug 31 00:55:27 UTC 2007 i686 GNU/Linux
$ cat test.cs
using System;
public class Test {
public static void Main() {
Console.WriteLine(Environment.GetEnvironmentVaria
}
}
$ mcs test.cs
$ foo=a test.exe
a
$ foo=b test.exe
b
$
I don't have any significant Mono projects right now (although I hope to in the future), but I use several Mono programs on Linux (all of them Gtk#-based) and it's a good platform that a lot of people have invested a lot of their time in. Neither the Mono developers nor end users like myself deserve to be hurt by BSD or Apple fanboy propaganda and lies, so cut it out.
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, and provided that no derivative works may be licensed under any version of the GPL, because it is evil. Relicensing derivative works under a proprietary license is permitted and encouraged because someday the companies that use this code may throw us a bone. Stay back dirty GPL hippies!