GPLv3: Simplicity and Length

Everyone wishes that free software licences were shorter. The good news from the GPLv3 process is that by changing the LGPL from being a whole licence to being an additional permission that can accompany the GPL, the LGPL has shrunk drastically and the proposed GPL and LGPL texts, combined, are shorter than the current GPL and LGPL combined. But GPLv3 itself will indeed be longer than version 2 is.

Additional words are necessary to protect against additional problems, to ensure it works the same across national boundaries, and to clarify the meaning of the licence. Since FSF started soliciting comments in January 2006 about how to improve the GPL, there have been few or no suggestions as to how it could be significantly shortened.

But longer doesn’t have to mean more complex. GPLv3 is simpler in some ways, and I’d like to describe how it was made simpler so that maybe some people can see other parts of the licence that those same principles can be applied to.

  • Clarity of wording: When something is not defined, the reader will have to check their local laws to see what happens in undefined cases. For example, "distribution" was undefined in GPLv2, but re-labelled as "conveying" in v3 to avoid clashing with existing definitions of "distribution" in local laws, and it has been defined. This should make it easier to comply with the licence.
  • Clarity of intent: Similarly, GPLv3 adds words to clarify what is intended to happen in new circumstances, such as described in the recent piece I wrote on GPLv3 and the EUCD/DMCA.
  • Labelling: Each section in v3 has a descriptive title, unlike version 2 where each section only had a number. This just makes it easier to find what you’re looking for.
  • Layout: All related things should be grouped together, and each clause should be in the section you’d most expect it to be in.

The number of words needed to ensure that software users had the four freedoms in the 1970s was zero. There were no software patents, no DMCA/EUCD laws, software generally came with source code, and there was generally nothing limiting a person from redistributing software.

As software distributors started blocking these freedoms by legal and technical means, it became necessary for software that was intended to come with those freedoms to be accompanied by licences granting those freedoms and requiring others to pass them on when they pass on the software.

GPLv1, written in 1989, had 1,500 words. GPLv2 has 2,300 words. Draft 2 of GPLv3 has 4,000 words. The most important implementation detail is that it has to work in court, and this can’t be compromised for the sake of making a shorter text. But if you can see ways to make it simpler, that would be very useful because it’s not only technology lawyers that have to read the GPL, it’s software developers and judges too.

Ciarán O’Riordan,
Support free software: Join FSFE’s Fellowship