Saturday, 30 June 2007

The best GNU GPL vs BSD comparison ever

Ok, this is not my work. But it deserves to be shared. Here is an OSNews comment about GPL vs BSD :

If you want to give your software away for free, use BSD. If you want to share your software, use the GPL.

Software under the GPL is not free. Microsoft office is not free, you have to pay Microsoft money. The Borland developer tools are not free, you have to pay Borland (or whatever they're called these days).

Lastly, software released under the GPL is not free: if you choose to copy and paste GPL code into your own program you have to share it. This is how you pay for GPL code. This is a very egalitarian idea: I share my code, and if you use it in your own program, you pay me back by sharing your code or else you ask me to relicense the code under a different license to suit your needs (which was always possible).

To make sure no-one can escape sharing (after all, this is how they're paying to use the software), GPL v3 requires the following

(a) You make the source code available

(b) You don't use patents to prevent people from using your code, which would effectively block code-sharing despite (a)

(c) You don't use DRM to prevent people from using your code, which would effectively block code-sharing, like (a)

The GPL is no more viral than any commercial license, the only difference is in how you pay to use the software. And it's always worth remembering that you don't have to share until you distribute the source-code (and as corporations are legal entities, you can give a copy to all your 1000-odd co-workers without legally distributing it). It's further worth remembering that if this is a problem, you can always ask the original author to re-license their work under a commercial license if you would rather not share.

This GPL is viral/evil/not-as-cool-as-BSD thing is rubbish. It does what it sets out to do: encourage people to share code. There's no excuse for "accidentally" using GPL code in your own software, just as there's no excuse for "accidentally" installing a pirated copy of MS Office on your friends PC. Both place value on software, and if you choose to use it in a certain way, then you have to pay for them: the only difference is in how you pay.

From Bryan Freeney.

Just an additional opinion: A lot of people bash GNU GPL because they feel it's too much restrictive. Disliking the actual concept of copyright, I feel sympathetic about them. However, what they often fail to grasp is that GPL is a licence made to mimick, in the copyright world, what would be a copyleft world. It is surely paradoxical the fact that the GPLv3 restrictions mean more freedom, but it's true, if you count the other's freedom as much as your one.


Alex Turner said...

A good point well made.

What seems to be missing is a BSD like license that 'gives away' software but protects it from being controlled by someone else later. Consider this: I writing something and give it away. Later someone patents it. I have no money to wage war on co-oration X so, not only have I now lost the right to use my own code, but no-one else can use it.

What I would like to see - but don't know enough about law to create - is a GPLv3 style license with these properties. Is there a GLPv3 lesser?

m. s. said...

You mean: we lack a copyleft, BSD-like license?

I don't know if there is one between the plethora of OSI approved licences. Let's have a look...

Marco said...

What seems to be missing is a BSD like license that 'gives away' software but protects it from being controlled by someone else later. Consider this: I writing something and give it away. Later someone patents it. I have no money to wage war on co-oration X so, not only have I now lost the right to use my own code, but no-one else can use it.
No you have not lost your code at all- you clearly have prior art which prevents a corporation from patenting it. Assuming that your previous source code is available this also leaves users with the freedom to use your product instead of the commercial one. If people prefer the commercial one they can use that instead- everybody wins.

The possibility to relicense source could be a redeeming feature of GPL but of course it's just a cop-out of GNU advocates. If the source has seen any amount of modifications how will you come to a license agreement with all contributors, not to mention finding all contributors in the first place..

m. s. said...

Prior art means plain nothing in the world of corporations, unless you're willing to really fight hard.

pbsl said...

thanks for sharing this site. various kinds of ebooks are available in this site

The dEvolutionist said...

The more I study this issue, the more disenchanted I become with the GPL, not so much with the goal of ensuring the availability of free software for everyone, which is a relatively noble aspiration, but due to the Orwellian culture of double-speak that seems to pervade the FSF (why use "negative" terms like "requirement" or "obligation," when we can just redefine "freedom" to suit our needs?) The fact that the FSF feels compelled to mask the nature of the GPL with misleading language places it uncomfortably close to other causes that buy into the concept of "the end justifies the means" for my tastes. I am concerned that the FSF deliberately misrepresents the nature of the GPL to attract developers and integrators who would otherwise shy away from using copyleft software. Richard Stallman (who, to his credit, seems to live by his professed beliefs) betrays the underlying philosophy behind the FSF when he claims on one hand to support the idea of free enterprise while on the other hand condemning the notion of private property. You can't have it both ways. As to the idea that someone can "steal" your idea by patenting it, well, there are other licenses that cover this eventuality without incurring the obligations of the GPL. You can use BSDL code without restriction and even patent your own improvements to the code. The original code, however, remains free for others to use. If you are unwilling to let people use your code the way they want, then why give it away?

Loup Vaillant said...

One big mistake: The only time when you have to licence your code as GPL is when you distribute it. As long as you just use it, study it, or copy-paste it, you don't have to share anything.

If you had to, it would hamper your freedom of thought. Not great. The only exception the FSF allowed is the Affero GPL: when you use AGPL code under certain circumstances (code executed over a network on behalf of a user which is not you, IIRC), you have to share it. But it is proposed as an alternative, not as the main licence.

amnoerifio said...

Have fun using BSD license! Just keep in mind that Apple used lots of BSD code for their OS without paying the original programmers! How do you feel? The BSD license is there just to help big corporations become even bigger and let us stick with the "non-free" GPL that will not let things like that happen and will give to the world the opportunity to have the source study it and gain knowledge from it! And one last thing about those who still want to use the BSD license: Apple will pay you for that code if you work for them, there is no reason to give it to them for free.

Sean McCartin said...

All I can say is READ THE LICENSES! Don't take one side's word as fact.

The BSD License basically states that if you want to redistribute the program or any custom version of it, you have to ask the original creator's permission.

In other words, it's proprietary without lawyers breathing down your neck. Exploitable by big corporations who care only about the latter and nothing about the former (OSX is a derivative of FreeBSD OS, so Apple is going to get yet another slap in the face from me).

@Alex Turner - The GNU GPL protects it. When I release anything, I include the source files and resources anyway and add a request (not an addition to the license) that if they do redistribute, they also give credit to the original developers (a lot of my stuff is actually covered under the GNU LGPL).

Anonymous said...


And guess what, many a FreeBSD developer has taken themselves AND THEIR CODE to go work at Apple.

With GPL they wouldn't have been able to do that, they would actually not even be able to work in the corporate world unless they changed languages cause they would have given any creative thought they had to the free software movement.

I don't code for you or the next guy, i do it for me. Sure, I might give MORE than half of what i make to charity, but i'm not gonna sign my soul over to free software either.

Anonymous said...

Spare me the John Lennonesqe "Imagine"(ary) concept of it all.

You can't feed your family writing free software.

Isaac David Reyes González said...

GNU GPL = freedom
BSD license = debauchery

Chris said...

There's a point that many in the GNU community don't seem to get. What makes the open-source community unique is not what the license the code is under, but the motivation by how willing the people are going to contribute back.

Let's say one example: the TCP/IP stack. Imagine, if for instance, that the stack was licensed under the GPL. The GPL advocates would have seen that as a good thing because the code will always be open. However, I think what would have happened is that there would be much more fragmentation. We probably would have seen GPL TCP/IP, Microsoft TCP/IP, and probably a version made by Apple, all of which would be incompatible with each other. Making the code open is pointless if it's not mobile. That, to me, is a huge strength of the BSD license is that even if the actual application is proprietary, it still creates a common foundation from where that code is derived from (essentially preventing reinventing the wheel). The GPL's restrictions forbid that.

As for corporations, I think again it's silly to say that they don't do anything. Apple, for instance is doing a lot of work with Clang, which will be a nice alternative to the bloated gcc and KHTML, which is now Webkit. Red Hat also contributes a ton to the open-source world. Again, the black-and-white stance that Stallman and is advocates use doesn't really work.

Plus, you also have to consider the thought process of the person who created the license and Stallman has some pretty messed up views. Here's one as an example:

Rick C. Hodgin said...

This incorrect understanding of the GPL blows me away. So many people have no idea what they're talking about regarding true freedom.

The purpose of the GPL (it's only purpose) is to ensure that all software released under the GPL will always be free for everybody forever. No other license guarantees that. Not BSD.

BSD allows you to take code and use it for any purpose, including a proprietary one (such as Apple using a BSD-licensed core for their OS).

The GPL absolutely and categorically ensures that everyone using any software released under it will always have the four fundamental freedoms that are essential in having truly free software:

Freedom 0 - the freedom to run the software as you wish
Freedom 1 - the freedom to examine the source code and modify the software as you wish
Freedom 2 - the freedom to distribute exact copies of the software as you wish
Freedom 3 - the freedom to distribute modified copies of the software as you wish

With these four freedoms, you have truly free software. That is the sole purpose of copyleft as well, to use the existing copyright system to forever ensure that these freedoms are guaranteed to all who would receive and use the software, that they'll always have the four freedoms.

Please ... do not spread this false information. The GNU GPL is a master stroke. It is a system designed to empower everybody forever. The BSD license falls into the trap that Richard Stallman identified back in the early 1980s as being the one problem with something in or close to the public domain.

There's a movie on YouTube which explains this. Google "YouTube Revolution OS" and watch its explanation of why "free software" is different than "open source software", and why the GPL was created.

TechZilla said...

JUST an FYI, if you want a 'BSD' like licence, with patent protections and a liability liability waiver, one does already exist. Its called the Apache 2 Licence. It was conceived and proofed by lawyers, and has all the legal protections one would want, if you want to release 'permissibly'. I don't advocate 'permissive' licences, I am a strong FSF and GPL supporter. Yet as far as licences go, Apache 2 is the best to replace the informal 'BSD' licenses.

Raksu said...

Maybe WTFPL is answer if one want to license software for real freedom.

rxantos said...

Just wanted to clarify a misconception.

You cannot simply take and patent a BSD code. The BSD license requires attribution. And attribution in turn is an admission that you are using someone else code.

Another misconception is that GPL is free. Is not. A license by its very nature is placing a restriction what you can do with X or Y. Saying that GPL is free software. Is simply put lying.

This is the basic criticism of GPL. Its wording are made to deceit. Just saying that the sun is green doesn't make it so.