If you haven't been living under a rock the past decade (I suppose Stonehenge qualifies) you may have walked in on some incarnation of the famous GPL vs BSD flamewar. It's up there with the most famous flamewars (now *there's* a research question for a brimming sociology student!) of our beloved Internet society.
Both licensing models have been around for a very long time. I don't know which predates which, but it really doesn't matter. The spirit behind both licenses is very similar: free software is good. But they realize this idea in different ways.
In the GPL license you have the four freedoms: to run the software, to have the source code, to distribute the software, to distribute your modifications to the software. What this implies is that when you obtain the software, you have the *obligation* to ensure that these four things hold true for the next person you give it to. After all, someone had to go to the trouble of preserving these rights for *you*, so you have to do the same for the next guy.
The BSD license is different, because it gives *you* the right to distribute the software, but it does not oblige you to make sure that the next guy has any such right. Well, that's not really a problem, the next guy can ignore you and get the software from the same source that you did (if that source is still available). But if you change it and you give it to him, you can forbid him from passing it on.
So who is right? Well, the BSD camp is. The BSD is no doubt a freer license, it gives you the right to decide what rights to bundle with the software. That is much closer to the absolute meaning of "freedom" than the GPL. Alas, it's not "completely" free, because you can't remove the name of the software's author and replace it with "Leonardo da Vinci".
What the GPL terms "freedom" is actually fairly subversive, because it *forces* you to do certain things. Most people who are forced to do something call that a "restriction" rather than a "freedom". It's true that you have certain freedoms when you get the software, but if you want to pass it on you have restrictions, so they could just as well call it the four freedoms and the four restrictions.
Therefore, if we take the philosophical ideal of freedom to heart, even though both of these licenses promote free software, none of them represent freedom, and the GPL is far less free than the BSD.
Harmless restrictions
Suppose you're a parent and you give your kid a candy bar and say this is for you and your brother, you can have half of it, and when he comes home give him the other half. Do you think that is going to happen just as you instructed? How confident are you?
Well, your intentions were good. You tried to ensure fairness. But we humans are scheming devils, aren't we? So our philosophy is a bit of an idealization, we just don't live up to it.
Is there some way we can find a measure of freedom that is good enough? The fact is that we live with a lot of implicit restrictions without worrying too much about them. If you tell your kid you're free to wear anything you want, eat anything you want, be anywhere you want, and do anything you want, except you can't burn the house down most kids would find that a very satisfying degree of freedom, despite the restriction. They would probably say well I wasn't going to do that anyway, all my toys would go up in smoke.
So what can we do about sustainability?
Freedom in its pure form is a wonderful thing, but it's not inherently sustainable. You can take something and compare it up against freedom and tell if it's free, but you can't use freedom to enforce freedom. That would be absurd.
The GPL model is sustainable. It offers freedom, but with the pragmatic twist that there needs to be some kind of force to keep the freedom in place. In that sense it could even be said to be more free, because the *accumulated* freedom over all people involved is higher than when one person has all the freedom and everyone else has none.
GPL freedom is isomorphic. If OpenOffice needs a way to open jpeg files, and the gimp already has code for this, OpenOffice can just take it. Then two years later if OpenOffice reads jpegs much faster, the gimp can take the modified code from OpenOffice and use it. Both parties have the same degree of freedom, and no freedom is lost along the way, the process is "lossless".
BSD freedom, on the other hand, is "lossy". If I get BSD code I have a lot of freedom, but the next guy doesn't. It's fairly well known that there is BSD code in Windows. And obviously, whatever Microsoft did with that code, they have no obligation to release their changes. So the code *was* free at one point, but it didn't *remain* free. Furthermore, even if they didn't change it one bit, if the original author is no longer around, Microsoft is still sitting on BSD code that is free for *them*, but it's no longer free for anyone else.
So what can we conclude from all this? Both license models make software free, but only GPL software is sustainably free. The BSD gives greater freedom, the GPL gives more freedom. Choose which one you value more.
For a more in-depth discussion see this essay, not only for itself, but also the many many references it contains to other relevant texts.
UPDATE: Alexandre Baron has written a French translation.
i think i agree with you,
one rhetorical question:
since microsoft has used bsd licensed code (and altered the license), why is it so bad the madwifi developers to alter the dual license madwifi to gpl only? why bsd developers were claiming that this is illegal?
Is this really rhetorical or what? :D
I'm not BSD expert, and "the BSD license" is more of a concept than a text, because there are so many different ones. But as I recall the whole thing revolved around taking code from OpenBSD, and I don't know what precise license they have. But, if we can assume that this is the license text, then the problem would be the first point in the list. "Redistributions of source code must retain the above copyright notice", ie. while BSD does not require releasing the source code, *if* you grab BSD code and re-release it, you *can't* remove the BSD license from it. That's my understanding of it.
Great summary that hit the nail on the head.
BSD might sound more free, but the one extra rule that the GPL introduced makes all the difference. BSD is a license that is kinda "naive" (and I don't mean that negative): It assumes that people will give back cause they realize that it is right. The GPL realized that many people will give back, but there's a bunch of people and companies that need some extra ... persuasion.
The GPL gives you the freedom to redistribute the code under the condition that you ensure other people this same freedom. That is, of course, a restriction - but in the long run it helps to maintain freedom.
In a way this idea is similar to modern democracies where you can freely advocate all kinds of viewpoints - unless these intend to fight democracy itself. In Gemany we have a term for this principle which can be translated as "defensible democracy".
After all, the GPL is not that of a different thing: defensible freedom.
Wonderful piece :D
You know what? I guess I lived under a rock all this time :D
Great read Martin, from your article, I would side by GPL tbh. Any law that would give Microsoft the right to "steal" code and retain it as it's own, is evil to me :P
If you want to code for Microsoft and other proprietary software companies, there's no doubt, you must choose BSD: You release the software and anyone can get it and turn it into a proprietary piece in just one step. If you prefer to keep building a community that shares code and improve it over time, choose GPL.
Tio: I don't know if this is what you're advocating with the Microsoft example. But a common motivation mentioned with BSD is the fact that you can get your code into a popular commercial product. But as a developer you don't really win much recognition over this, the code is closed, and you can't show it off to anyway that you have code in Windows. It comes close to a fact that can't be proven. So what's the motivation?
I think this article explains very well the basic difference and it's implications between GPL and BSD (type) licences. It's so easy to think "BSD licence is better because it's more free. Isn't freedom what it's all about after all", while GPL actually brings more freedom to the society.
There's one minor thing that I'd like to point out in the article. The paragraph five begins "So who is right?", but nowhere before that is it actually clearly said what about. One would expect there to be a sentece like "the flamewar is about which licence is more free", or something. The rest of the article ofcourse implies this, but because the question "So who is right?" is so clearly worded, also the claim should be, I think.
> The BSD is no doubt a freer license,
A country without law is not a freer country.
Law are here to protect the freedom. As GPL do.
strange, for a non-sustainable license, BSD products seem to be sustaining pretty well. Look at the huge number of projects under the Apache project - or the Python stuff, or postgresql or perl, python, php or ... it would be more appropriate if you stuck to facts rather theorising.
it's not just microsoft (microtheft?) that has stolen code under the BSD license, the BSD license also allowed Apple to steal a whole OS, all the modification that was done by Apple to the BSD OS source code were never and will never be released back to the opensource community, and we can only blame the BSD license for this, i'm sorry but the BSD license is just plain STUPID (i know i should try to be more objective on this). it's the only opensource license that allows corporations, which, by design, throughly despise the opensource movement to benfit and abuse it, personally, i'd encourage any opensource project to drop that stupid, stupid license, and get on with any of the 8+ available GPL licenses! just my two cents!
For those who are intereested in in depth comparison there was an old interesting article that discuss BSD vs GPL from several angles. See
Social aspects of the BSD vs. GPL debate
http://www.softpanorama.org/Copyright/index.shtml
I disagree with some statements but it is well researched.
>Both license models make software free, but only GPL >software is sustainably free. The BSD gives greater freedom, >the GPL gives more freedom. Choose which one you value >more.
Very good description and good post.
I work on GPL projects only because I want the work I do benefit others and to pass on my work on as others have passed it on to me. I agree that the definition of freedom is stretched if I tell you HOW to use that freedom but I see the GPL as a quid pro quo: you want my info, you do it on my terms and you carry those same terms on to the next person.
The GPL is a great collaborative tool which has benefitted the company I work for tremendously and even though we are not Google, Im allowed to contribute to some Open Source projects as a way to thank the eco-system.
No one forces my bosses to do this but they feel that is the least they can do. The only thing they ask is that my work be covered by the GPL.
Its not a religion but a great way of making sure everyone benefits.
I appreciate my BSD friends as much as my FSF friends, we need both kinds for sure.
Tante has it wrong. The BSD license doesn't assume anything. Full stop. You, or they, or whomever, wrote some code and it is his/her/their right to do with it whatever they please. That includes either not sharing it or giving it away with permission that the recipient need not share it. Or not. The only thing to remember about the whole GPL/BSD license squabble is that most of it is hot air from people who don't know what they're talking about-perhaps people like me...
My personal take is that, with the GPL, the freedom is granted (forced upon) the code, such that even the coder or others cannot inhibit its distribution once it is released under that license.
With the BSD license the freedom is granted, not to the code, but to the coder (or user). Even if that subsequently entails _not_ sharing said code with anybody. Yes, someone might change the code, maybe even in a way that benefits you if they would share it; but they won't. That's not stopping YOU from making your own improvements is it? Isn't that what one often reads in Linux lists? 'Why don't you jump in and help the cause'. Remember, people are also free not to do what you want. That's the less glamorous but more honest, accurate and mature view of the world. It is certainly not naive.
Which is more free; for the individual or the group ?
The extra restrictions in the GPL require sharing modified code.
Consider a group with no source, they import some source from outside;
- If its BSD everyone in the group gets equal access to the same outside source, not to any resulting inside source (from modifications within the group).
- If its GPL everyone in the group gets equal access to the same outside source AND to the resulting source (from modification) from inside the group.
The result is that the extra restriction in the GPL on the individual increase the diversity of source available to the group.
Result is that BSD grants more freedom over items, GPL grants freedom over more items.
Or put in other ways:
* BSD gives freedom to the indivdual, whearas the GPL give more freedom to the community.
* BSD gives you the freedom to be selfish, GPL gives you the freedom to be selfless.
Freedom is a finite resource, like money, with only so much to go around. If one person gets more, others get less. The GPL tries to spread freedom around more or less equally, whearas the BSD looks only at individual freedom. Under the GPL each individual person might have slightly less freedom, but at least they all get the same.
In the end I guess it comes down to whether you are selfish or not. If you are, the BSD is better. If not, either will do.
stolennomenclature says:
* In the end I guess it comes down to whether you are selfish or not. If you are, the BSD is better. If not, either will do.
I would turn that around:
In the end I guess it comes down to whether you are selfless or not. If you are, the GPL is better. If not, either will do.
I'm in the GPL camp. True reedom isn't simply allowing for anything, but rather it's more focused and purposeful. The GPL is closer to this because it defines the four freedoms. Software is not free for the user if they cannot exercise those freedoms, and many BSD-style programs end up as non-free software (e.g. Microsoft, Apple do this).
It's not free software if you can make it non-free, and it is still free software if you're not allowed to make it non-free. Isn't that the obvious restriction on freedom? You have freedoms like the freedom of speech or of religion which are granted to the fullest extent, so long as they don't encroach on other freedoms. The one restriction is to maintain freedom.
In a simple example, true freedom in driving isn't the ability to drive wherever you want to or on whichever side of the road. Then, no one would have the ability to drive anywhere safely. Restrictions (rules of the road) are necessary to exercise freedom (driving).
True freedom isn't anarchy. True freedom is when your freedoms are protected.
GPL is restrictive because it lacks flexibility. it is not comfortable even with some free software license (e.g. MPL, EPL, CDDL etc) therefore GPL may not be the best license for all situations, on the other side BSD license doesn't encourage collaboration because it allows open source software to be used as property software. In my opinion open source license should make sure that open source libraries and software remain open source, but at the same it should allow attaching property libraries along with open source libraries because i think that people give preference to choice. I believe that an open source license should preserve freedom, encourage collaboration, ensure standardization, and should be flexible. I think license such as MPL and EPL are better license because these licenses have almost all qualities of an ideal open source license.
The author of this post uses the word "freer" to describe a modified BSD license compared to the GPL. A better way to describe the BSD is that is it permissive, not "freer".
I disagree about which license is more free: the GPL enforces my right to
prevent theft of my software and of my good name with it. If I published
my software under a BSD license, I would have no recourse for the problems
I have had with mis-appropriation, followed by alteration without attribution,
and then distribution in some closed binary-only product.
And let me tell you: such things *do* happen!
The article is from the point of view of a software developer, not a software user. For the software user, both licenses are identical: the use of the software is not restricted in any way. (Both the BSD-style licenses and the GPL restrict only the redistribution of the software.)
Talk of which is "freer" is rhetoric. Interesting and worthy of discussion, but rhetoric nonetheless.
The example with Gimp and OpenOffice is wrong. Gimp is licensed under GPL but OpenOffice is under LGPL. This means that Gimp can use OpenOffice's code but OpenOffice can't use Gimp's code.
@Azrael: That's correct, I misread the license for OO.
"So who is right? Well, the BSD camp is. The BSD is no doubt a freer license, it gives you the right to decide what rights to bundle with the software. That is much closer to the absolute meaning of “freedom” than the GPL."
Under this analysis the US was "freer" before that pesky first amendment was introduced terribly restricting the right to sue people for what they say.
Well, the article sums up the things well, but the author is obviously pro-communist GPL. You see, once EVERY software gets GPLed, that will be a communism.
Luckily for pragmatical people, you can easily ignore GPL "obligations" and just use the code any way you want - for smaller pieces, it is highly unlikely that anyone ever finds that out. Actually, in Russia (and I bet in China and India too) there are no practical differences between GPL and BSD-licensed code, at least for game development companies.
The idea that Microsoft can steal code that is free is quite ridiculous. The idea that they should give back is idealistic. The fact that most people who discuss licenses are not trained in matters of law is funny but annoying.
[...] another blog post on this topic earned a fair bit of attention. It described the GPL/BSD dilemma as a question of freedom’s sustainability. So what can we conclude from all this? Both license models make software free, but only GPL [...]
[...] this interesting article here « Quick links FreeNAS 0686c (BETA3) released [...]
All this talk about the relative freedom of the GPL vs BSD license brings up and interesting point:
All of the major linux distributions include some non-free code in the form of hardware drivers (for graphics accelerators, flash card readers, etc). On the other hand, there is a bsd which does not include any non-free code. When BSD is supposed to be so much more commercially friendly, how could this be?
Well, the BSD of which I speak calls the vendors associated with those drivers and asks for programming documentation. Moreover, it refuses binary drivers and NDAs. Imagine if the GNU/Linux community, with all of its immense power, did the same. People would be much more free!
Well, yes and no. I'm inclined to agree with you, but then there is to consider that Linux through its driver policy now supports more devices than any OS ever has. I dislike binary drivers as much as the next guy, but the compromises that have got us here perhaps are worth what they have achieved? I'm far from celebrating yet, my laptop has an ATI card and I've cursed that particular binary blob for years. But now things have changed, the specs are being liberated, and maybe if we're lucky we'll have a solid driver for ATI cards in a few years.
It's really a matter of power and you assert that we (as in the Linux community) have enough pull to say our way or the highway. I guess both methods have been tried, I don't know which has been more successful, I suspect the path of compromise has.
Liberte', Egalite', Fraternite':
http://en.wikipedia.org/wiki/Liberte,_Egalite,_Fraternite
"The Declaration of the Rights of Man and of the Citizen of 1789 defined Liberty in Article 4 as follows:
"Liberty consists of being able to do anything that does not harm others: thus, the exercise of the natural rights of every man or woman has no bounds other than those that guarantee other members of society the enjoyment of these same rights."
Equality, on the other hand, was defined by the 1789 Declaration as judicial equality (art. 6):
The law "must be the same for all, whether it protects or punishes. All citizens, being equal in its eyes, shall be equally eligible to all high offices, public positions and employments, according to their ability, and without other distinction than that of their virtues and talents."
Fraternity is to treat others as you would have yourself be treated (The Golden Rule, in both positive and contrapositive form):
Do unto others as you, in your best self, would wish others to do unto you. And what you would consider hateful, with utmost self-respect, do not unto others.
That's what the GPL is supposed to preserve in software. You can do anything you want with the software as long as it doesn't restrict the rights of anyone else. Your rights to the software are no more or less than anyone else's. And both of these rights are given in the spirit of fairness, that you treat other users of the software as you would wish to be treated yourself, and you impose no restrictions on others that you would not with to have imposed on yourself.
After 220 years, is this still a subversive idea?
[...] GPL vs BSD, a matter of sustainability [...]
Very useful post for us. We're creating an open source solution for use in the developing world and trying to figure out what solution to use. Thanks!
[...] to figure out whether to use the GPL or BSD license. Numerodix had a good simplified explanation on [...]
I'm wondering: why would an open-source fanatic choose BSD over GPL? What if some company decided to use BSD-licensed open-source code to develop closed-source software. That's not what we want, is it? Is it about getting support from companies?
I'm a big GPL enthousiast. The freedom of software should always be priority number one. And GPL ensures this, unlike BSD.
Like many things, it's all about tradeoffs.
GPL all the way.
GPL = True Feedom
BSD is not freedom,
if you are not obliged to make sure that the next guy has any such right or freedom
then there is no freedom.
GPL = true freedom its as simple as that.
"but it’s no longer free for anyone else."
Actually the original BSD code that MS took is still free. Their modifications to that code (ergo the proprietary bits) are not free. Is this any different to MS just writing the code themselves.
Thomas: "to develop closed-source software. That’s not what we want, is it?"
IMHO it is irrelevant what the proprietary vendors do. MS can go on making closed code, it has no bearing on me. I just choose not to use it because it is not free.
What I don't want is to go around forcing my beliefs on those who don't agree with what I say. If I'm promoting freedom then I want people to be free to choose what to do. If they want to use closed code then fine. I wont stop them - I might highlight the negatives of doing so but I wont stop them.
Netaxis:
That makes no sense. I am free if I can do what I choose. The GPL protects a restricted freedom - possibly (and I mean possibly) meaning in 100 years time there will be more free code out there for everyone to use.
A better approach would be for everyone, instead of bullying non-free code away with legalese, to stop using/paying for non-free code. Then in 100 years time instead of some code being free and some being non-free, it would all be free. If there is nothing to be gained from releasing non-free code then people just wont do it.
As a user (and system administrator) it makes no difference to me to use software with a certain license or another.
But as a developer I only release software under GPLv3. I let everyone to use my code freely - the least they can do is to feed back their improvements.
Allowing people and companies to close and resell software by using BSD-like licenses will harm the Open Source community. It gives them an advantage and creates fragmentation.
I didn't RTFA really, but what GPL vs BSD really boils down to is the freedom of CODE (GPL, the code has to stay free) vs freedom of USE (If you get it, you can do almost anything with it). If the latter is your goal anyway, why not just release the code into the public domain?
A. Because it completely removes any mechanism for the author to get credit.
B. Because certain countries do not support any mechanism like public domain by law.
I think a lot of people are missing something here. If software is released under a "BSD-license" and Microsoft or [INSERT BUSINESS HERE] decides to use it or incorporate some of its code into one of its projects, the original source code isn't relicensed. The creators still have the rights to produce and modify their own code. When a business takes BSD licensed source code, at the very worst it's as if it never happened, and at best they may choose to contribute modifications back into the project.
I think your keyword in there is "fanatic". I think you'll find that very few BSD license advocates are open source "fanatics".
Indeed. Whilst corporate entities such as Microsoft, Oracle etc. may fork BSD licensed software, and then publish binary-only propriety versions of that software under their own licenses, the open source community has not lost out in any way. A Free and open version of the BSD licensed software still exists for the open source community to improve upon and learn from. We're talking about the freedom of information here. As well as the freedom of that informations application. Not the dominance of open source software over closed source software.
It sometimes seems as though the Stallmans of the OSS community are more interested in fighting a war against corporations who don't distribute their source code, instead of creating an environment of true unrestricted freedom that the BSD license creates. That same environment that breeds and drives talented software hackers to work on low level projects like hardware drivers, or to create an operating systems that is almost completely secure out of the box (OpenBSD).
Peace
--Raja_Guy
Interesting comparison, but I do see a problem:
"GPL freedom is isomorphic. If OpenOffice needs a way to open jpeg files, and the gimp already has code for this, OpenOffice can just take it. Then two years later if OpenOffice reads jpegs much faster, the gimp can take the modified code from OpenOffice and use it. Both parties have the same degree of freedom, and no freedom is lost along the way, the process is “lossless”."
The faulty argument here is that it doesn't correlate to the section about BSD. If OpenOffice and GIMP were under a BSD-license, they could still do this. What motivates software developers to give away code is not some cheesy statement from the FSF or what Stallman thinks is good, but by the commitment from the developers themselves. We see this perfectly in the BSD community where, despite their differences, still manage to contribute to one-another Putting software under the GPL does not give you any advantage of distribution or "community-building" if no one cares about it.
The other problem is that it's not a fair comparison. Let's re-visit Microsoft's use of TCP/IP. Suppose that at the time the TCP/IP stack was instead released under the GPL. What would've happened instead is that Microsoft would have developed their own proprietary protocol. In essence, the GPL would have made it a lot worse because the GPL would have indirectly contributed to the creation of more closed-source software. The reason why the GPL is not a good license is that it forbids code from crossing boundaries. It basically states that, "You must release this code under the GPL or you will never use it.", which means that companies that need to protect their trade secrets can't use any GPL'd code. In addition, if the GPL was so successful in its ideology, then why bother with the creation of the LGPL?
[...] http://opendevice.blogspot.com/2007/06/best-gnu-gpl-vs-bsd-comparison-ever.html http://www.matusiak.eu/numerodix/blog/index.php/2007/12/15/gpl-vs-bsd-a-matter-of-sustainability/ http://en.wikipedia.org/wiki/BSD_licenses http://www.linfo.org/bsdlicense.html BSD, GPL, [...]
You lie when you say the BSD code adopted by a commercial project cease to be free. The code remains free as it was for this commercial project from the version this project took it. You can still use it in exactly the same way that project used it.
In case of BSD you would have to use a free and an unfree project to do a fair comparision:
If Gimp were licensed under BSD and Photoshop were unfree, then Photoshop could take code from Gimp without telling anyone and Gimp would never be able to profit from the improvements.
And the LGPL exists for simple strategic reasons: Make people reliant on free software - and make sure that the parts they rely on stay free. If the TCP/IP had been licensed under LGPL, Microsoft could have taken it, and we would have gotten their improvements.
In my opinion, a BSD license is only useful for free software, if you want to get an already finished technique into the programming community. It allows the biggest spread of your already done work.
On the other hand, the GPL gets more people to work on improving the code instead of reinventing the wheel all the time (because someone else did it under an unfree license).
Consider why Google released webm/vp8 under an almost BSD-style license. They wanted it to become a standard. They did not want to prompt developing even better video codecs, but to push mp4 out of the net.
And for that, the codec had to get into unfree software, so the choice is quite sound.
For a free software community on the other hand, it is quite detrimental, because you lose momentum of code development: Less overall programmer hours for the code all people can use. The only reason I see, why BSD is working, is that there are many companies who are opposed to free software, but who want to profit from the ongoing work of the BSD folks. So they contribute back to get free maintenance. But that means that free software programmers have to invest more time into maintenance, because the companies have no incentive to help there (otherwise they could just do it inhouse and get an edge over their competition).
Why do all the BSDs offer monolithic platforms while in the GNU/Linux community, coders and distributions are seperate?
The code release under a BSD license is always as free as the person who wrote the code wants. The BSD license does not force people who modify that code to also release it under the license. THE BSD CODE IS STILL ALWAYS FREE. ITS ALWAYS AVAILABLE IN THE ORIGINAL FORM. Other code that other people write or modify IS NOT FORCED TO BE FREE. That is freedom. The BSD license lets anybody use the code however they see fit. if they don't want to release their modifications or additions under any particular license, they don't have to.
BSD license users tend to want people to use the code. When OpenBSD code goes into Windows, BSD coders don't complain. When FreeBSD code makes its way into Mac OS X, FreeBSD developer's don't get offended and Apple even gives back. BSD license users want the code out there in any way it helps. They are socialist whiners like Stallman. The end.
In saying that commercial companies do not contribute back to bsd is not true. I believe one of the good examples out there is hadoop. They are worked on by multiple big companies that contribute code back to it when the time is right. Granted they don't publish everything back but they do publish code back to it where everyone else gets it use it. I believe common functions that almost everyone will use will be built into bsd licensed products quickly. Probably why the reason hadoop was built because multiple companies found the need to keep their trade secrets but found that building a singular software alone was difficult and not productive. Those features that grant commercial companies unique advantages over others will not be published. I am sure yahoo and google and facebook all publish code and quite a bit of it under similar to bsd license. I believe on the internet you can find the code that facebook publish for mysql under bsd license. They publish code even though there was no requirement to do so.
How about a license comparison
selfless
you can modify and do whatever you can do the code
(you can even say you wrote the code without adding credits to the original source)
public domain
no license
slightly selfish
(you can modify and use it however you want but you need to provide credits)
bsd and similar
selfish
(pay related licenses)
(licenses that require you to inhere to their terms and more conditions other then to provide credits to use their code)
(licenses that require you to share back code and credit sources)*if you distribute it
gplv2
pay related licenses
more selfish
(licenses that require you to open code back to users if you are providing cloud services)
gplv3
most selfish
(codes that you have no source over)
really?! Licenses i don't care the restrictions!!
it was WORK to read and understand the code and adapt it to my code/or adapt mine to theirs.
i would maybe attribute it IF AND ONLY IF it is WORTHY/BRILLIANT/INGENIOUS ... anything else its just the short cut to the code i would have written. i dont waste my time on licenses longer than 40 lines. SUE ME.
GPL? For real? literary GPL view: if you would write a book and cite something in it, not only reference (link) but cite it !! if GPL was on that source you would have to give away your book for free (except the physical medium, paper) and make sure anyone receives it.
Man, think of it as if you're writing a book and you're citing someone.
every line you write yourself is obviously yours, its your human right: you are not their slave! Just because they were to lazy (or worse) to implement that feature doesn't mean they can force you to unlock YOUR CODE.
Their code, still is open ... at their place !!
I maybe should add that i don't like closed source code and during my spare time i usually code open source, with an own short (LT30lines) attribution & fair share license and i encourage everyone to do the same who ever writes open source.
if you make you're code open you want that you're code is read, understood, modified, made better and shared .... but do you really want those that think they can use it on a commercial product not to attribute you and if it works out give you money? really?
you have nothing to loose but everything to gain!! ditch GPL and arrive on a FAIR new DAWN!!
this are my 2 cents to this subject. you may cite this and spread the word freely!!
It is inherently obvious that "the code *has* to stay free" is un-free.
The GPL is democracy looking down the barrel of a gun. This fact is parroted repeatedly by its adherents. How much more obvious does it have to be?
The BSD license may not be perfect, but it's the most reasonably free and open license of them all (apart from the MIT license and public domain). It lets authors reap the benefits of copyright while giving themselves enough legal protection without being caught up in a bunch of legalese. The GPL, on the other hand, is purely idealistic and micro-managing.
Personally, I'll take reason over pipe dreams.