DSL, GPL, etc.

Recent threads at the DSL Forums have covered issues pertaining to licensing, the GPL in particular. Many people casually praise the GPL without considering what it actually says and what it means to casual users and developers alike.

The first issue arose when someone posted links to his remasters of DSL. I was annoyed that he posted the same information twice in the forums, and in places where it wasn’t really on-topic. I asked how I could get sources for GPL software he used. I reminded him of the judgment of the FSF/SFLC that downstream and/or derivative distros (like Knoppix, Mepis, DSL, Slax, Vector, etc.) had to maintain and provide sources regardless of availability of sources for unmodified binaries taken from upstream repositories. This led to some heated discussion (and also some productive discussion as well) about the whole issue and whether it was appropriate for distros to sell media with their sources.

This gets at the heart of many misunderstandings about GPL. It is NOT about free/no-pay transmission of software. It’s about the freedom to see and change source code. As FSF very clearly says throughout the gnu.org site and elsewhere, you can charge a billion dollars for GPL’ed software. The only restriction is that you cannot charge an excessive amount to restrict access to the sources.

Second, DSL has another GPL controversy today. DSL had switched from using flua, lua with a set of FLTK bindings, to murgalua (which has FLTK bindings and a lot of other stuff thrown in) several months back. Unfortunately, murgalua requires the full runtime of lua and fltk and libz and sqlite and luafs and who-knows-what-else to be run all at once even if it’s for a simple lua non-GUI task.

So DSL refactored the bindings so lua can be run on its own and FLTK and all the other bindings can be used independently as-needed — something much more suitable for the needs of DSL and its users.

John Murga is the author of murgalua. He licensed his bindings under GPL even though the bulk of the parts of his runtime — lua, etc. — are under much more permissive licenses like LGPL, MIT-X, and BSD. Today he’s posted a notice on his forum that DSL has transgressed the GPL and linked to another post he made on his forum in which he said (or suggests) he won’t condone or support the re-use of his bindings apart from the runtime. He reiterated that

Either way I am unhappy with MY CODE being used in this way (if that counts for anything).

The GPL gives users freedom to change the code to suit their own needs so long as redistribution follows the rest of the GPL’s terms. If Mr Murga has ANY objection to others using his bindings under the license he used, he should re-license it in manner which will give him as much control over how others use it as he wants. The more permissive licenses used by lua, sqlite, etc., certainly allow that.

Both issues relate to similar problems. First, most users and developers wrongly associate GPL with things it doesn’t mean. It doesn’t mean zero-cost, it means sources must be made available (directly or via normal computer-readable media) when distribution occurs. Second, it doesn’t give anyone the right to determine how it’s used on anyone else’s computer. THAT IS WHAT THE FOUR FREEDOMS ARE ALL ABOUT — the right to see and change the code as well as the right to redistribute it as it was received or as it has been changed. So, to Mr Murga I say: no, your feelings REALLY DON’T matter.

I’m not a fan of the GPL. I’ve written plenty of places here and in other places why I object to it. Some of its demands are onerous, such as the requirements that downstream derivatives maintain their own source trees for unmodified binaries, for requiring a hypothetical user who compiles an app for his friend or relative to make the sources available, etc. I’ve found that it appeals to two groups of people: one is the zealot who sees software as a political (or even religious) issue and the other is the uninformed who makes the false link between GPL and “free as in beer” with nary a thought about the actual meaning of the license. Sometimes the line is crossed and you have a hybrid — you can find many instances of that in the Linux/FOSS advocacy with lists of reasons that give very little about “you can see the sources” (even if you don’t know wtf it all means) and a whole lot about how your only costs for Linux is the CDs onto which you burn a zillion distros to try and find one that works for you.

These recent spats have only served to reinforce my objections to the GPL.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: