At 10am Eastern (3pm GMT) tomorrow, The Free Software Foundation is going to unveil the first draft of version 3 of the GPL. I thought it would be profitable to have a think about version 2, while my mind was still unbiased by knowing their suggested improvements.
Tweaks To The Existing Text
Section 2 a) (“You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change”) is the most widely-ignored piece of the GPL, and for good reason – such notices would be a pain in the rear to maintain, and having changelogs inside files messes up your source control. What was the original purpose of this clause? Is it necessary any longer?
Section 2 c) (that the program must print a licence banner on startup if its an interactive command-line program) is anachronistic. One merely needs to say that users of the program must be made aware of their rights.
With regard to the two above, licences should require results rather than specify methods to achieve them. That will make them much better suited to withstanding the progress of time.
The last paragraph of section 3), which says that ‘equivalent access to copy’ is sufficient to fulfil the requirement to distribute source, should also allow a similar scheme when distributing via other methods than download. I.e. you should be able to buy GPLed binaries on CD, and optionally request the source CDs at no extra charge if you also want them. Potentially, in this world of cheap bandwidth and cheap CD-Rs, the principle of equivalent access could replace the “written offer” provisions.
Potential Change: Requiring Source for Web Applications
Some have argued that source distribution should be required for GPLed applications one uses with a web browser and a network, as well as those one uses by downloading and installing them. If this ties into the already-existing legal concept of public performance of a work, and merely states that source code need be made available in an equivalent manner to if you had distributed the binaries to the user, this would be OK. If it forces particular abilities on the software, like the Affero GPL does (download over HTTP), this would be bad and non-free, as the software would then have an “invariant section”.
Potential Change: Patent Defence Clauses
Some have suggested a form of mutual defence clause, where suing someone for patent infringement in GPLed software terminates your right to distribute all GPLed software. I personally would like to see that, but I suspect it might split the community. Companies like Sun and IBM would be faced with either giving up their rights to sue authors of GPLed works for patent violations, or giving up their right to distribute GPLed code. One would hope they’d choose the former… There are more mild forms of anti-patent clause which might cause less friction. I don’t know what the FSF will go for.
Potential Change: Requiring ‘Trusted Computing’ Keys
Some embedded GPLed software can’t be modified in practice because the binaries need to be signed, and the hardware checks the signature. Section 3) needs beefing up to make it more clear that you need copies of everything which allows you to use a modified binary in place of the original binary. And that means Trusted Computing or DRM encryption keys.
Various Debian people have also put forward their views.