For awhile, I've had this signature:
DRM? Trusted Computing? Fine, but not with my code.
I do start to feel like a hypocrite looking at that. After all, I'm now working as an HD-DVD developer, making quite a bit of money, enjoying what I do, and not at all close to wanting to quit in outrage about the DRM.
But while I don't have to deal with DRM every day, I do have to deal with it often enough. While I have not personally written any code that does DRM, all my code will eventually be DRM'd on-disc, and one of my co-workers has, in fact, written some utilities to manage AACS stuff.
And, in general, I still feel that DRM is useless and should not be done, but I also have seen it done in ways that aren't really that bad, and even seen some things which benefit the consumer. Steam, for example, allows me to download the same game (unless it's Bioshock) anywhere I want to, anytime, so long as I remember my password and only log in at one place at a time. (So that's one download and/or game being played at a time.)
Steam is actually an example of "not that bad", as everything they do which benefits the consumer, they could've done without DRM. No, an example of something which benefits the consumer are the "music rental" services. After you get to a certain amount of music, it just makes more sense, financially, to simply rent your music rather than buy it. If the service goes away, and the DRM isn't cracked, then yes, you lose a bunch of music -- so you join another service and download the same music again.
I prefer to own my music, but I'm a bit of a fanatic.
So, while most days I'd rather see DRM go away forever, this signature is starting to be a bit hypocritical. After all, DRM is being done with my code, and most of what I write is not GPL'd.
So why do I have it?
Simple: Since I started using this signature, I've seen almost none of the retarded arguments against GPLv3 -- the arguments which talk about the GPL being used to attack DRM, that it's overstepping its bounds as a software license and attacking hardware... Whatever.
Because this statement makes all of those arguments go away. Licensing software under the GPLv3 is not directly attacking DRM, it's not even saying that you hate DRM and want to abolish it. It's simply saying that you may not use it with this code.
People point to the TiVo as an example -- shouldn't I want to license my software such that people can make cool stuff like the TiVo? Well, why should I, unless I'm getting a cut? It's simple: TiVo can either have my code for free, on my terms, or they can go somewhere else. There's plenty of GPLv2 or even BSD-licensed stuff they could have for free, or they could buy some commercial software -- maybe even from me.
I don't see that as inconsistent with what I do for a living, but this whole essay doesn't exactly fit in a signature. So I am posting a consistent position here:
I don't like DRM, and I don't like closed software that I don't have access to. Therefore, software which I release for free will have no part in this. If you're willing to pay me a living wage to develop software, I will develop pretty much whatever you want, so long as it's not wholly unethical (I won't write Lotus Notes for your Killbot). But if I release something as free and open, it's probably because I intend for it to stay that way.
So, if you have a problem with me using the GPLv3, either hire me or use somebody else's code.