Search This Blog

Tuesday, June 26, 2007

Slashdot: The GPL vs. DRM

I suppose if I'm posting my posts on Slashdot, I might as well post the other, as well (going by the theory that it's marginally better than no blog posts at all :P). The post I was replying to (though you may have to read further up to get a feel for the context):
If you don't want to respect their license, that's fine, but then you shouldn't expect them to respect the GPL either.
There's an inherent difference here. Microsoft's licenses try to restrict you from doing things you would otherwise have the right to do. The GPL gives you rights to do things that you would not otherwise have. If you don't want to respect the GPL, that's fine, but you'd essentially be a software pirate if you distribute GPL software in violation of its terms. On the flip side, if you violate some of Microsoft's license terms, you might not have done anything illegal at all (running Vista in a VM, for instance). So I really do see a huge difference between the two licensing models, and therefore a difference between the nature of respect for them.
My response:
That is a beautiful piece of logic you have there. If you violate the terms of MS' license, you're okay, because they were artificial and arbitrary restrictions, anyway. If you violate the GPL's equally artificial and arbitrary limitations, you're a pirate and a lawbreaker, because you've violated the terms of the license. See how absurd it is?

Now, I'm a programmer. I've recently been working on releasing a couple of my programs as open source, so I've had to take a good look at the various licenses, and see which one is closest to my ideals. Just about anything but the BSD license (and arguably even that, though that would almost be splitting hairs) is indistinguishable from DRM, save for one exception: most open-source licenses attempt to achieve maximal collective benefit (rights), while DRM seeks nothing more than to maximize the benefit (profit) of the creators. That is, DRM and source licenses both prevent you from doing things with the code/media that you would otherwise be able to do; if you think differently, you surely have given up the term "DRM" in favor of "consumer enablement" (which it actually looks like you have, from your post).

The CDDL, the license closest to my ideals, is based on a single restriction: that if you modify the open code, you have to keep the CDDL for your changes, keeping the work open; so long as this rule is followed, you can use the code in any way, in any project. This is an arbitrary restriction on the ability of other people to use my code. However, I justify this restriction with the reasoning that I want as many people as possible to be able to make use of my code (and thus any advances to it). I'm sacrificing the ability of individuals to use my code in an unrestricted manner for the calculated benefit of the whole programming community.

While the GPL does this as well, it does something else that I consider uselessly arbitrary (that is, it limits the freedom of users without contributing significantly to the common good) and, for that reason, particularly obnoxious. Anyone who's read the GPL knows what I'm referring to: the requirement that any project which so much as uses GPL code must itself be GPL in its entirety. This is a political rather than practical requirement: the GPL serves to promote free software, and will restrict the freedom of users to attempt to increase the amount of free code available in total. I'd imagine the reasoning is that if all software were free and open, the world would be a better place; but I can't really agree with the sentiment or the means used to achieve it. The LGPL is better, but not as close as CDDL to my ideals (if you want more info on the topic, I wrote a several-page justification of my choice of license on my blog).

No comments: