So the first GPLv3 draft has been released. Already we’re seeing the usual BSD (freedom as in freedom for developer) vs GPL (freedom as in freedom for user) holy wars start. Personally my stance has always been to not have a stance, i.e. choose the license which is most appropriate. For example the X11 windowing system’s reference implementation was intended to be extended in specific directions by many varied vendors in many varied markets and its license reflects freedom for the developer to do so. Something like the Linux kernel was intended, initially, for a small subset of hardware and, partially, for the education of at least its primary author and the GPLv2 suits that, slightly more central, development model nicely.
So will the GPLv3 occupy the same niche as the GPLv2? It would appear that the GPLv3 has been subject to a great deal of Stallman-isation which was, I suppose, to be expected. New things include explicit discussion of patent issues and Digital Restriction Management[1]. Despite its attempt to be a dry legal document there exist certain emotive words when dealing with these touchy subjects. If we strip these away to bullet points it aims to say, in addition to the usual GPLv2 stuff,
- DRM is bad m’kay?
- GPLv3-covered software may not be protected, in object or source form, with DRM.
- Any keys, etc, required to make a GPLv3-covered piece of software work on a particular system must be considered part of the source code.
- Patents are bad m’kay?
- If you knowingly rely on a patent license to distribute a bit of GPLv3 software one must either license the patent to all users or protect said users from any patent suits.
- The format used to distribute the source code must be unencumbered by patents. Interestingly, until recently, this would’ve meant you couldn’t distribute source in a ZIP-file. Similarly tricks like reading the source aloud in an MP3 file (a la DeCSS) is not allowed, although reading it in an Ogg Vorbis file would be.
- The licensee may impose additional patent retaliation restrictions on the license when they modify and distribute GPLv3 software. For example IBM might add a clause to any GPLv3 software distributed by them for AIX saying that if you try to sue them for patent infringement then you can no-longer make copies this software.
- Copyright law is mostly OK.
- Distributing a but of software is now anything that would require permission under local copyright law except making private copies and executing it on a computer. This puts a great deal more in the lawmakers hands than there was previously.
Basically if you agree with the above and are already using the GPLv2 then you’ll probably be happy using the GPLv3. The devil will be in the detail. For example, Philips have patents on some aspects of CD-ROM production. Strictly interpreting the GPLv3 seems to indicate that one cannot distribute software licensed under it via CD-ROM or indeed any patent-protected media. These restrictions on both the user and developer arise due to the proliferation of patents and their popularity beyond the software realm. Can I transport GPLv3 software in a vehicle with a patented ABS system?
The DRM clauses are less troublesome mostly due to the smaller footprint DRM has at the moment. It is still perfectly possible, and normal, to completely avoid DRM in most of one’s life. One might see the GPLv3 as an attempt to close some stable doors before the horse bolts.
Overall it isn’t as bad as it could be; indeed the DRM restrictions are far better than I expected. I fully expect the patent-restrictions to reveal a large number of annoying special cases in traditional software firms however and I especially see the clause about protecting your users from any patent infringement to be controversial.
[1] Choose your own spin-modified acronym here.