The Free Software Foundation (FSF) was launched in the 1980’s and was widely perceived as a philosophy deriving from academic curiosity rather than a viable experiment. The underlying idea of making software "free" gained impetus by the beginning of the 1990’s when it became clear to the industry (i.e large computing interests) that there were commercial opportunities involved. Much against the expectations of conventional wisdom, the free software movement has now become a well-established player on the software scene.

The FSF initiated its actions on the premise there must be an alternative to the stifling patent and copyright restrictions which prevented software from circulating and being modified freely. The General Public Licence was drafted with the specific intent of countering restrictive legislative and contractual provisions relating to software use. The aim was and still is to make software free. The term "free", however, implies technical rather than pecuniary matters. The General Public Licenses are designed to make all relevant information (i.e the program’s source code) available to users so as to enable them to modify the program they are working with but also to legally copy and distribute it, be it in the original form they initially received it or with the modifications they have applied. The meaning of the word "free" can best be grasped in the sense of "free" in "free speech", not as in "free beer'', hence when it is stated that the software is free, this includes:

  • freedom to run the program, for any purpose;
  • freedom to modify the program to suit your needs;
  • freedom to access the source code;
  • freedom to redistribute copies, either gratis or for a fee;
  • freedom to distribute modified versions of the program, so that the community can benefit from your improvements.

After 15 years of service, the GPLv2 is in the process of being revised in order to face recent technological developments, namely Digital Rights Management, and legal trends, notably the use of patent infringement actions, which the FSF considers as big enough a threat to warrant a revision of the current GPL. The first draft of GPLv2’s successor, GPLv3, was unveiled in January of 2006. Its aim remains unchanged; its provisions have been altered to include a number of clauses that have been contested by Linux, one of GPLv2’s partisans.

Salient DRM traits of GPLv3
Source code as an anti-DRM crusader
Much like its predecessor, GPLv3 aims to give users the freedom to distribute copies of (free) software, to receive source code (the preferred form of the work for making modifications to it) and to modify the software. There are no limitations to the latter: it can include translation, extension but also covers using pieces of the software in new free programs. The draft of GPLv3 specifies that for the developers’ and authors’ protection, it does not make for a warranty covering this free software. As a consequence: "if the software is modified by someone else and passed on, the GPL ensures that recipients are told that what they have is not the original, so that any problems introduced by others will not reflect on the authors".

The Rationale Document accompanying the draft of GPLv3 is thorough in that it anticipates hypothetical confusion as to the definition of source code. It not only clearly states it retains GPLv2’s definition of it but also greatly broadens it by adding a definition of object code as "any non-source version of a work". This means that object code will encompass any transformed version of source code such as bytecode and serves as a deterrent to those who would consider resorting to "shrouded source or obfuscated programming" with a view to escaping GPL obligations. When seeking to alter a software program, it is this source code which enables users to proceed to such modifications.

The introduction of the "Complete Corresponding Source Code", which users adhering to the License must make available when copying or distributing a work in object code, serves the same purpose of pre-empting circumvention of the GPLv3 terms. The Complete Corresponding Source Code must not only be revealed as such, it also encompasses any access keys or codes. As a result, the source code of modified versions of a GPL’d program which might need to be signed with a key or authorized with a code in order for it to run on a particular machine and function properly must be disclosed. Hence, a modified program based on a free program should not be able to defy the purpose of the GPL by subjecting subsequent use to encryption, authorization or decryption. This requirement can be interpreted as an anti-DRM clause since it in effect neutralizes access codes by obliging GPL users to supply the source code deployed for encryption.

The anti-DRM clause
DRM techniques are referred to in the Rationale Document both as Digital Restrictions Management and Digital Rights Management. The nuance is not explained in the document but clearly the former points to a user’s perspective (restrictions imposed on users) whereas the latter refers to an author’s standpoint (protected rights of the author). In essence, both terms mean the same thing: usage restrictions are technically imposed on the user to safeguard the rights of the author. DRM are described in the Rationale Document as a threat to free software, section 3 of the draft is entitled Digital Restrictions Management (quite in line with a document which takes the user’s standpoint). It declares:

"As a free software license, this License intrinsically disfavours technical attempts to restrict user’s freedom to copy, modify and share copyrighted works. Each of its provisions shall be interpreted in light of this specific declaration of the licensor’s intent. Regardless of any other provision of this License, no permission is given to distribute covered works that illegally invade users’ privacy, nor for modes of distribution that deny users that run covered works the full exercise of the legal rights granted by this License."

It goes on to discount Technological Protection Measures (TPM) by stating:

"No covered work constitutes part of an effective technological protection measure: that is to say, distribution of a covered work as part of a system to generate or access certain data constitutes general permission at least for development , distribution and use, under this License , of other software capable of accessing the same data".

Though these provisions deal directly with DRM, they are to be read in conjunction with the provisions relating to Source Code. They seem to serve as much as a manifesto, i.e. a declaration of intentions, as an anti-DRM clause. The authors' intention is to prevent GPL-covered software from being utilized as an instrument for implementing DRM. In the words of one of the authors:

"The way we do this is not by restricting which technical jobs the program can do. (That kind of restriction would make the program non-free.) Instead, we make sure that users retain the effective freedom to change the software and run their changed versions". By stressing that GPL-covered software is not to be used with a view to denying users the rights granted by the free software philosophy (translation, extension, modification of software .etc.) on the one hand, and by ensuring TPM implemented with the help of GPL-covered programs can be legally circumvented by users on the other hand, GPLv3 seeks to undermine all efforts directed towards upholding DRM. "Since DRM is based on restricting the user, effectively maintaining the user’s freedom to change a certain program thwarts use of that program to implement DRM" is the author’s concluding remark.

GPLv3’s other innovations
The patent retaliation clause
Unlike its predecessor, GPLv3 makes for a very explicit response to new developments such as the multiplied use of patent infringement suits and DRM. The GPLv3 Rationale Document singles out changes in legislation rather than in computer technology as posing the greatest challenge to the free software community.

It considers patent law and its use to ensure proprietary software to be the chief culprit that has instigated a necessary GPL readjustment. This readjustment takes the form of a patent retaliation provision which appears in sections 2 and 7e of GPLv3. This provision entails termination of the right to privately modify and run a GPL’d program if the licensee brings a patent infringement lawsuit against anyone for activities relating to a work based on the program. The purpose of this provision is to pre-empt any actions taken by a GPL licensee towards securing a patent on unreleased modifications of GPL’d code to subsequently sue the original developers (or others) for making their own equivalent modifications. In other words any derivative work based on GPL must remain in the realm of GPL. Whereas section 2 is the only form of patent retaliation that GPLv3 imposes by its own force, section 7e is designed to offer licensees the possibility to make use of this provision in their dealings with other users, albeit in two cases explicitly defined (and thus limited) by the authors of the GPLv3 draft.

License compatibility
The mechanism by which the GNU GPL requires modified versions of GPL’d software to be GPL’d themselves is referred to as Copyleft . It is best described as a cascading provision which seeks to perpetuate the GPLv3 terms in licenses granted by each user to the next who will in turn impose it on the next and so forth. This mechanism has characterized the General Public License since its beginnings. GPLv3 has turned its attention to another problem relating to licences: that of license compatibility.

Section 7 of the draft concentrates on license compatibility. That is, it formalizes the conditions on which a licensee may release a covered work that includes an added part carrying non-GPL terms. The underlying principle is that combinations of code covered by different licensing terms are permitted, however, GPL terms must not be contradicted in their free software philosophy: a licensee can release a covered work with an added part and is authorized to license it under broader conditions but under a limited list of additional requirements (read restrictions) to be found in section 7a,b,c,d and e.

Critique of GPLv3
GPLv3 has been criticized by one of its predecessor’s enthusiasts: Linux’s founder, Linus Torvalds. The discord revolves around DRM which he describes as being "not necessarily bad" in so far as digital signatures and cryptography can afford much needed security to software programs. Whereas Richard Stallman, the founder of the Free Software Movement, views Digital Restrictions Management as fundamentally unjust as it technically restricts the public’s use of published works. The paradox already appears here: the philosophy upon which the Free Software movement rests is sharing and making everything available to anyone not only because it fosters innovation but also and especially because the public should have access to everything.

The GPL was specifically designed for software programs rather than content, yet in the past decade it is the latter which has been "locked up" by DRM techniques. Where the GPL fought a battle to free software from proprietary tendencies by issuing and propagating provisions which would effectively counter these tendencies, it is now witnessing the same kind of tendencies on the content-front. It seeks to take on this battle with the same instruments it has used for software. In attempting to provide for free use of content by prohibiting GPL-based software to engage in DRM activities, it goes beyond the software realm and pushes the battle onto the content-territory. Linux’s leader has in effect pointed out the fact the anti-DRM clause is more sensible in the context of the Creative Commons licenses than in software licenses.

DRM technology does everything from encrypting movies and music to permitting only digitally signed software to run on a specific computing device. By including provisions which indiscriminately target all DRM techniques including digital signatures and cryptography, the FSF is not only dictating what hardware designers should do, it is also undermining valid use of such DRM techniques in certain industries where security is paramount.

Another objection to GPLv3 is its complexity, in its effort to control all possible situations, the wording is at times obscure. The Rationale Document recognizes that the changes made have increased the complexity of the license. According to the document, the justification for the prolific use of words to the detriment of concision and simplicity lies in the purpose to be served: protecting users’ freedom. Thus, the Free Software Foundation’s GPLv3 is yet to be perfected. This draft, which has been described as a constitution rather than a legal document, should be finalized by spring 2007. The analogy made with a constitution stems from the fact that the terminology used by its authors somewhat resembles a pledge and oscillates between belligerence and proselytising.


About the author: Mara Rossini is editor and researcher for the Institute for Information Law based in Amsterdam, the Netherlands. She graduated in Communications Law and specialized in Intellectual Property Law. The emergence of DRM and the widespread dilemma of labelling it friend or foe are therefore of interest to her.

Status: first posted 07/03/06; licensed under Creative Commons