Posts Tagged ‘gpl flamebait’
A defense of the GPL January 3, 2010 | 01:10 pm

OK, I’ve had it.  I’ve read one too many “the GPL is bad for (my) business” screeds.

Let’s put the shoe on the other foot for a moment.  Say you’ve written some software and are selling it.  The price you’re selling it for is clearly stated on your website, in all the advertising materials about the software, in the license for the software itself, etc.  Then someone comes to you and demands the software for free- refuses to pay you for the software.  When you respond “um, no”, they call you a communist, and claim you’re opposed to them making any money on the software.  What’s your opinion of that person, at that point?


Here’s the point- GPL’d software is not “free” (as in “free beer”) than Microsoft software is- there is a payment expected for the use of that software. The difference is, the payment demanded is not money, it’s payment in kind.  It’s a code swap- my code for your code.

If you don’t like the cost imposed for using the software don’t use the fucking software.  Write your own, or use someone else’s software.  It’s as simple as that.

It’s not like that the consequences of using the GPL, or GPL’d software, hasn’t been discussed to death a million times over.  Just consider, for the moment, the phrases “free as in beer” and “free as in speech”.  You can’t say you weren’t warned.  Although I will admit that it’s a toss up which is more tedious to read, the pages and pages of terse lawyerese of a Microsoft license agreement, or megabytes and megabytes of slashdotters playing lawyer/revolutionary on the internet.

If you’re using the BSD license, which allows other people to be able to require payment for your software, don’t be surprised if other people take you up on this- including people who decide to require payment in kind, and wrap your code up with GPL code and make the whole thing GPL’d.  You explicitly allowed them to do that, so stop whining that they took you up on your offer.  If you didn’t want that to happen, you should have used a different license.

There is a cost to using the BSD license as well, I comment.  One that is less obvious, at least now.  People have forgotten the great Unix schism of the 1980′s.  Heck, a lot of the people debating the pros and cons of various licenses weren’t even alive back then.  Here’s a short history lesson: what today we call BSD Unix was the first real open source operating system in history.  And the success of Unix was due, in largest part IMHO, due to the fact that it was open source.  But the license permitted people to not give their improvements back, and a lot of people- including companies like Sun, IBM, HP, Dec, and Microsoft took advantage of this.  They took the core unix source code, made improvements, and sold the improvements as their own propreitary version of Unix.  This meant the same problems were solved over and over again, in slightly different ways, in different propreitary unix versions.  This is why, for example, we have wait, wait3, wait4, waitid, and waitpid- the original unix just has wait, which had various limitations.  To work around those limitations, Sun would introduce one new version of wait, while IBM would introduce a slightly different one.  And so on.  And so we get almost half a dozen different variations of the wait system call (and remember, these are just the ones that pretty much everyone ended up implementing sooner or later- more variations were introduced but didn’t flourish).

In addition to incredible wasted effort, as the same problems were solved redundantly multiple times, this also lead to it being very hard to write code that ran on multiple different unix versions.  The GPL was developed at the height of the Unix schism, and being a Unix programmer, Stallman was very aware of the problems the BSD license was creating.  Say whatever else you want about the GPL, it prevented a great Linux schism from happening.  Yes, there are differences between the distros, but they are nothing compared to the differences between the various BSD-derived Unix versions suffered.

But you know what: who cares?  There are upsides and downsides to all licenses.  Including just leaving your code out on the front lawn with a sign that says “free toliet” on it.  License your original works however you see fit- it’s not my code, it’s not labor, so it’s not my problem.  GPL it, BSD it, sell it for cold, hard cash, whatever you will.  If you’re using (including extending) someone else’s work, then respect their right to do the same- if you don’t like what they’re charging for their software (including payment in kind), don’t use the software.  All you’re doing by whining about how the GPL makes it impossible to make money off of someone else’s work is to convince me that you’re a greedy asshole who deserves no respect.

That is all.