I must admit that I haven’t really been following the whole GPLv3 debate very closely. I don’t publish code under the GPL very much (although I did just recently) because most of my open source code code is in libraries rather than applications (which GPL fits much better, IMO). However it’s been interesting to watch the ‘polite disagreement’ going on between the FSF and the maintainers of the Linux kernel in recent days, and I decided to post my musings on the matter.
For those who aren’t up to date, GPLv3 is the draft new version of the ubiquitous open-source license, and adds clauses to prevent companies using DRM to restrict what users can do with GPL’ed software. The point is to preserve the freedom (as in speech) of the user of the software to do as they like with that software. If, like me, you dislike DRM in general this all sounds fairly sensible on the surface.
The counter argument, raised initially by Linus and ratified recently by other kernel developers is that there are also quite a few ‘white hat’ uses of DRM, and content encryption in general, and that by ruling it out completely, including DRM support in the hardware the software runs on, is stepping over the line that circumscribes the software’s mandate. In laymans terms, it’s getting too big for its boots. 😉
When considering this in more detail, I find myself agreeing. When we think of DRM we tend to gnash our teeth about abuses of it, like record companies stopping us from listening to our CDs etc, but this is just one facet of the technology - we can’t let this colour our thinking about the technology as a whole. Things like protecting game content against modifications for cheating or even reuse in other projects could benefit from encryption or modification-preventing signatures. And that’s only in the relatively frivolous world of gaming - in some ‘serious’ applications, protection of the integrity and use of vital content is almost certainly required in some quarters. The DRM clauses in the GPLv3 don’t just prevent ‘evil’ DRM, they also prevent perfectly valid technical reasons for using it. Baby. Bath water.
Open source works for most normal people, not because it’s a social or political statement, but because in practical terms, it’s a well balanced system. The responsibilities and restrictions (releasing modifications & enhancements) that come with using it are well balanced against the benefits (cost, flexibility & control). As soon as you start tinkering with that balance, you’re on dangerous ground, and in the opinion of many (including myself), GPLv3 may well be tinkering with it too much, over-emphasising the political / social message at the expense of the practical utility.
There’s a philosophical argument here that probably splits people down the middle depending on whether they’re a free software purist, or an open source pragmatist. I’m definitely in the latter camp - I use open source and release open source because I think it’s a good way to get things done in many cases, and is a good balance like I said. I don’t subscribe to the belief that the conclusion must therefore be that all software should be ‘free’ - and I have to say that I find such absolutism distasteful in any form.
So on the DRM front, I think the choice here is to prevent all use of DRM in the interests of protecting everyone, or letting people make their own decisions about what software to adopt, factoring in any restrictions that come with it. And guess what - that choice is about more than just the license. I’m a grown adult - when I’m evaluating what software to use, I weigh up lots of factors in additional to the license - quality, support, community, ease of use, reputation of the maintainers etc. I don’t need someone to tell me ‘all software under this license is good, all software under this license is evil’. Sure, access to the source and the unrestricted right to modify is a big plus in that evaluation, certainly, and that will factor into my decision. But does that mean I’ll forgo another non-free option if, on balance, it’s better even when taking into account positive benefits of the free software version? Of course not. Would the fact that DRM is allowed in justifiable cases put me off? No - because the impact has to be evaluated on a case-by-case basis, I don’t intend to cut off my nose to spite my face.
The FSF clearly has a mandate to protect the freedom of software. That’s laudable, but real life is messy with lots of shades of grey. Adopting too much of a broad-brush, ivory-tower purist approach could be a turn off for the everyday, centre ground, I-just-need-to-get-something-done people, whose ‘votes’ the free software crowd need more than they probably want to admit in order to avoid returning to being an inward-looking niche movement. Interesting times.