The GNU GPL - a software license for yesterday, today and tomorrow

The GNU GPL - a software license for yesterday, today and tomorrow

With the draft of the GNU General Public License Version 3 (GPLv3) have come many interesting comments, although not all of which I have found positive. While I understand proprietary vendors have offered complaints against a license they do not even use, I was surprised that Linus Torvalds had taken some issues which I thought were in any case misguided criticisms.

For my part, I maintain a few packages that are part of the GNU project. Our software has always been licensed under the GNU GPL, version 2 or later. Naturally I am concerned with the drafting of GPLv3, and I have had to ask myself why I use the GNU GPL.

For some the GNU GPL is seen as a means to create a proactive and self-defending public domain. Others see it as an extension of the idea of code as speech. I however see software as a scientific process, and use the GNU GPL in part as a means of preserving equality of opportunity; that is, I know through it I can offer others the very same freedoms and opportunities in writing software that I myself initially received. This fundamental idea, remains a constant in the GPLv3, and so I find no reason not to use the license when it is formally released for current and future packages.

There are those who have raised questions about the Digital Restrictions Management clause. I find that while not expressed there, the idea is fully consistent with the original intent and purpose of the GNU GPL v2, and is at least strongly implied by the existing language. The GNU GPL v2 does not allow one to redistribute the software you receive if you cannot do so offering the same freedoms you enjoyed, and this surely means that if you redistribute software in source for a DRM platform that does not allow one to actually run self compiled and modified binaries because the keys needed to operate the hardware are not actually provided, you clearly have violated the stated intent and purpose of the GNU GPL v2. Hence, I see the DRM clause simply as a clarification of something that already was true, rather than something added that is new.

Given my personal interpretation, I have come to believe removing the DRM clause would actually weaken the protections already offered under the existing GNU GPL v2 license for those packages which are licensed GNU GPL v2 or later. In a related way I have come to a similar view on the question of software patenting as expressed in the new license. Again, I believe that if software patenting, as well as defective by design methods like DRM, had been commonplace at the time of the drafting of earlier versions of the GNU GPL, I would have expected explicit language covering them as we see today in the GPLv3. But clearly they are implied as part of the GNU GPL all along.

I will be away at LinuxWorld in San Francisco later today, so I expect to have something interesting to write about that very soon as well.



Scott Carpenter's picture

Thanks, David. I would have liked a brief description of the software patent language in the new license. Obviously there is a lot of information out there and I can read further on it, but you did elaborate a little bit on the DRM clause and for people who haven't been following the discussion on the new license closely, it would have been helpful to likewise introduce the patent language. (For people like me, that is :-)

From what I've read of the DRM clause, I don't have any objection to it. I also like what you said about software as part of the scientific process. I agree. I know techie people can be overly optimistic about technological solutions, but that's where I'm placing my hopes for our society, and to me, free software offers us a much better chance at a free technological society.

Crosbie Fitch has been paying better attention to the debate than me and has some thoughtful commentary on the new license. He brings up a concern about private-use issues, saying:

Unfortunately, some people have decided that the GPL should mandate openness, rather than freedom. They see the strength of the GPL not in nullifying copyright, but in obliging visible, collaborative development processes. I’d suggest that visible, collaborative development processes are simply a natural consequence of copyright’s nullification, and do not need to be enforced. There is no further encouragement needed, or restriction to be removed. To actually go so far as to seek to prohibit private use and development is to lose sight of the ‘free’ in free software, and stoop to churlishness.

The essay is titled Understanding Private vs Public. I haven't reviewed the license to form my own opinion about what the license says in this area, but I think he brings up some good points about privacy and it seems like this is a subject that needs to be addressed and answered satisfactorily. It doesn't "feel" like freedom to me if someone can compel me to give up something I'm working on privately.

Note that I don't have plans to build some super-duper software on top of free software that I would keep to myself. I'm all for the public and free sharing of software and culture, but I think we need to have private space.

Scott C.

David Sugar's picture

The GNU GPL actually says nothing about private use, because it is a copyright license. Hence, it's conditions only apply when you actually distribute software to others that include, is linked with, or otherwise derived from GPL software. It does not force you to distribute, nor does it impose any obligations or conditions if you choose not to. An undistributed (private) work can never be in violation of the GNU GPL. An undistributed (private) work however can be in violation of the terms of a proprietary software license, since many proprietary licenses try to impose contractual conditions on how many copies you can run, perhaps binds the software to specific individual machines, etc.

Terry Hancock's picture

This is certainly true of the GPLv2, but the v3 has various clauses that do appear to affect use rights. I don't think we've heard the last of the debate on that.

I'm still highly skeptical of the FSF position on DRM and source keys. They've made a couple of posts on the FSF site claiming things that in my opinion are just plain false. For example, Moglen has posted claiming that embedded device makers could put Linux in ROM rather than using a DRM lock on a flashable device. But I'm not so certain -- it seems to me that ROM is arguably a TPM measure and thus even such a use might be blocked by GPLv3. It might be a stretch, but we know from the history of the GPLv2 that they will change their song and try to extend terms after the fact (the FSF's position on dynamic linking changed significantly as dynamic and RPC linking became a popular way to work around the limits of the GPL -- then the FSF decided that the license didn't allow it, though it pretty clearly did).

I feel some of the same distrust of the GPLv3's DRM and "corresponding source" clauses.

The GPLv3 is a completely new and untried license, and I don't feel the kind of confidence about it that I do about the GPLv2. Not to say it's necessarily bad. It's just that I do have doubts.

Broadly, I feel a lot of ambivalence about DRM. I don't like it, so I like to see anti-DRM developments. But I don't want the cure to be worse than the disease, either.

The question I have is whether the new language will block uses I consider legitimate. I don't think it's desirable to block potential business models that might continue to fuel free software development and also make FS based solutions available to me as an end user. OTOH, I don't want to live in DRM Dystopia World, either!

Crosbie Fitch's picture

The Affero license, and HPL (Honest Public License) exploit copyright's default prohibition on unauthorised preparation of derivatives (in private) and unauthorised reproduction of copies (in private).

As many have found to their cost, copyright doesn't only kick in at the point of distribution, but at the point at which copies or derivatives are prepared, manufactured, or even 'made available' - whether this occurs in private or not.

The GPLv2 limited itself to distribution (aka publication).

The GPLv3 however, is entertaining accommodation of those who would police private use in order to restrict public exploitation of unpublished modifications - even though no binary or source has been distributed.

I think the problem people are having is thinking that the purpose of free software is to prevent anyone hiding source code, or to force anyone who exploits free software to publish their modifications. This is the disclosure or visibility agenda (open source extremism).

The GPLv2 simply said if you PUBLISH/distribute software based on free software then you must not reduce its freedoms - which includes obscuring the source code by obfuscation or binary encoding.

There was no attempt to dictate what people could or could not do with the software in private - which includes modifying it or using it to manage published documents and make them publicly available (a website CMS).

I hold that the purpose of free software is to restore the public's freedom to use and make derivatives of published software that has been removed by copyright (or patents).

I further hold that free software (as per GPLv2) should also restore respect for the human right to privacy, i.e. make no attempt to breach the public/private boundary and police the use of a copyrighted work in private (irrespective of whether private use is used to enable a public service).

Free software is NOT about establishing a code barter economy and necessarily needing to prohibit private exploitation. A nascent software gift economy may be a side effect of the GPL, and some people may have wrongly inferred it as an objective, but it is not actually an objective - just as it is not an objective for the GPL to provide a financial incentive (as copyright aimed to do).

So, whilst the statement 'An undistributed (private) work can never be in violation of the GNU GPL' may have been true with GPLv2, it is in jeopardy of being untrue with the GPLv3, i.e. if the Affero clause remains. And some people are even trying to twist the definition of 'distribute' to include 'providing a public service based on the software'.

* * *

NB A software license actually permits things otherwise prohibited by copyright (this is the meaning of 'license': to permit). A license cannot actually further constrain anyone. Unfortunately, people have started to conflate it with a contract where installation of the software or removal of the 'shrink wrap' constitutes a signature to acceptance. And judges in their inifinite wisdom have allowed precedents to be set in this regard. :-(

As for DRM, there may be rare cases where this is used to guarantee availability of the source and anyone's ability to run modified versions (on platforms that require DRM), but DRM in its typical use to constrain is clearly in contravention of 'free' in free software.

Author information

David Sugar's picture


David Sugar is an active maintainer for a number of packages that are part of the GNU project, including GNU Bayonne. He has served as the voluntary chairman of the FSF’s DotGNU steering committee, as a founder and CTO for Open Source Telecomm Corporation, and currently owns and operates Tycho Softworks.