Friday, December 01, 2006

GPL: DRM for source code...?

Over a very nice lunch with a gang of work buddies, the topic of GPL3 and proprietary versus open versus Free came up, and eventually led to a comment that the GPL is "DRM for source code". If you know me, and you know what that means, then you know that it rubbed me the wrong way. :^) Granted, this was said by someone who is no stranger to playing a devil's advocate role, but it got me thinking, and it's been a while since I've posted anything with even the slightest hint of substance.

First of all, I would define most implementations of DRM the way Richard Stallman and the rest of us pinko hippies do, as "Digital Restrictions Management", as opposed to its intended expansion of "Digital Rights Management". Chunks of code and signed keys wrap the stuff you buy on iTunes, the DVDs you buy, and other things where some party is claiming exclusive "rights" to the distribution of whatever we're talking about. The effect is that you can't use the thing you paid for in just any old manner you see fit. (Say, making a copy.) You can only do with it what the rights-holder sees fit. To me that smells more like "restrictions". It's an artificial and arbitrary limitation. I understand why it's done, but I find it insulting, so I whine about it.

The GPL is something of a bill of rights that someone can apply to the software they write. The Linux kernel is GPL. The GNU utilities are GPL. My silly game Tong is GPL. The authors of those programs have decided to use a software license that says, "I give you this program and its code, which you have the freedom to use and modify as you see fit." Most importantly, the GPL also states that if you turn around and give the program (as it was, or your modified version) to someone else, you must afford them all the same freedoms. Technically speaking, that is also an artificial and arbitrary limitation.

So yes, the GPL places restrictions on what can be done with a program's source code: I can't modify it and/or pass it on without also passing on the right to modify it and/or keep passing it on. (That should already sound pretty different than DRM.) The still-being-drafted GPLv3 adds some further stipulations, because people (well, businesses) have found ways to distribute GPL code while following the letter of the GPLv2 but not actually passing on those freedoms in practice. Tivo is the obvious example. It runs GPL software inside (GNU/Linux), but if you grab the code, tweak it, and try to run that, the hardware won't let you, because it only runs software digitally signed by Tivo's developers. You still have the right to modify it and/or pass it on, but now, that doesn't do you or anybody else any good. GPLv3 spells out that doing that sort of thing is cheating, and closes those loopholes. This is naturally upsetting to businesses who gain from their use of GPL code but don't agree with the spirit of the GPL, so they whine about it.

Now, suppose that all media and all programs were public domain. Neither DRM nor GPL exist, and there are no artificial or arbitrary restrictions on any set of bits. Film studios don't try to equate copying movies with robbery and murder on the high seas, and Richard Stallman doesn't get his undies in a bundle over businesses locking up and selling their own secret-ingredient versions of the software he and the rest of the Free Software Foundation's contributers created. That's total freedom. It isn't particularly respectul, but it's complete and unrestricted freedom.

I bring up respect because that's the key conceptual difference between the licensing restrictions of DRM'ed media and GPL'ed code. DRM respects only the initial provider. DRM says, "You can't do that, because I must have total control." GPL respects everybody, on the condition that everybody also respects everybody. GPL says, "You can't do that, because everybody must have control." I guess they both say, "you can't do that," but it hardly seems like the same deal.

There's another face for all this, the unsettling idea of using legal agreements to dictate ethical behaviour. In principle that's not desirable, at least to me, given the number of legal agreements made by parties whose ethics I would call into question. As it works out, however, I would much rather (and have done) enter a license agreement that tries to guarantee freedoms for myself and others, than one that leaves me and my activities at the legal mercy of, say, a large publisher. Now, if someone can come up with an ethical argument against the effects of the GPL that's not a form of "but I want money!", then I'll be glad to entertain it. (If money's what you want, then Free software is at best a means to an end for you, not an end itself.) Otherwise, at least it's a positive set of ethics that the license is imposing.

In any case, I can see an abstract similarity. But look into it from any direction, and I just don't see GPL and DRM having anything substantial in common. I guess they're both buzzy TLA's.

("Three-letter acronyms." I was attempting to make a joke...)

No comments: