I consciously stayed away from this GPL/BSD thread having participated in one too many times, but just for the sake of those reading this thread and are on the fence (as opposed to KG, who is a known BSD ..erm ...weenie if you may :) ), I'd like to point out the essential difference. It basically boils down to this argument always ...
On 01/05/2011 01:21 PM, Kenneth Gonsalves wrote:
On Tue, 2011-01-04 at 22:30 +0530, Shamit Verma wrote:
please do - very curious to know why people who develop code in
closets
choose the GPL for their so-called 'community versions'.
So that someone can not take community version of their code and create another commercial clone. If somebody does that, that clone would have to open the source under GPL.
so the purpose of GPL is to prevent people from making proprietary clones? I totally fail to understand the rationale behind this. If I have a plot of land, and someone encroaches on it - then I no longer have the land, unless I evict him. But software? Even if someone takes a copy and makes it closed - I still have my copy. So what do I lose?
You lose the improvements that the other person makes.
In an ideal world the other person would contribute the improvements back without having to be legally obligated to do so (as in the case of GPL), however in the BSD world this does not happen as often as it should (ask the BSD folk what they gained from Apple and M$ copying their code and improving on it). This is not to say that the other people copying/forking /never/ submit back -- it does happen -- with GPL tho' making it a legal obligation ensures that it always happens.
Software is not a commodity that can be bought and sold. Whether I give my software to someone, or sell it - I still have it on my repo, on my hard disk, on forks and on my backup. Why should I worry about it?
...because unlike a commodity, software also grows and improves with more people contributing back.
I love the way Linus once put it:
"Let me put this in source management terms, since I've also been working on a source control management project for the last few years: the BSD license encourages 'branching', but the fact is, branching is not really all that interesting. What's interesting is 'merging': the branching is just a largely irrelevant prerequisite to be able to merge.
"The GPLv2 encourages *merging*. Again, the right to 'branch' needs to be there in order for merges to be possible, but the right to branch is actually much less important than the right to 'merge'."
cheers, - steve
[1] http://kerneltrap.org/node/8382