The Fellowship / Fellows / ciaran / Ciarán's free software notes

Ciarán's free software notes

Ciaran O'Riordan's irregularly kept software freedom journal

Limit entries displayed: [ 2 ] [ 4 ] [ 6 ] [ 8 ]

Why GPLv3 says additional permissions are removable

  1. Intro
  2. Why this changes nothing substantial
  3. If they're removable, is there a point?
  4. Can't I require that others preserve my additional permissions?
  5. Permissions and requirements

Intro

As with any copyright licence, software developers who use any version of the GPL can also grant additional permissions to recipients for code that they hold the copyright of. That is, they can say that you can distribute the software under the terms of the GPL, and they can additionally say that, at your option, you can also distribute the software in this way or that way.

About such additional permissions, the following words are proposed for GPLv3, in discussion draft 2: "When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it." As I see it, these words actually don't change the nature of such additional permissions at all. This topic has come up a few times when I've been discussing GPLv3 with people, so here's my understanding of this issue.

Why this changes nothing substantial

If person A writes some code and puts a notice on it saying "this software can be distributed under the terms of the GPL, or, at your option, you can blah blah blah...", and person B gets a copy and writes some more code and person B puts a notice on their code saying their code "can be distributed under the terms of the GPL", then the only way to distribute the combination of A's code plus B's code would be to distribute it under the GPL. The additional permission, which is only on A's code, would not apply to B's code and would therefor not be an option for distributing the combination as a whole.

Thus, third-parties can always render additional permissions inapplicable to their forked versions of a project. This is true for any version of the GPL. The third party just has to modify the software in some way and add their copyright notice to their modifications. GPLv3 doesn't change this. The meaning of the change proposed for GPLv3 is simply that you don't have to keep those inapplicable legal notices in your project. If you like, you can delete them.

The benefit is that it avoids the messy situation where some code in a project previously had additional permissions, and now it's hard to separate the old code from the new code. Instead, if someone wants to use the additional permission, they should get an old copy from when the additional permission applied to the whole program, and use that. This doesn't change what code can be used with the additional permission, it's ensures that people do it in the legally clean way.

If they're removable, is there a point?

Some people have asked "But if they can be removed, aren't additional permissions meaningless?"

Whether some third-party removes them or not doesn't change that they are available in the original version.

If you publish your software with an additional permission, and I start redistributing your software but with the additional premission removed, then anyone who wants to make use of the additional permission will simply ignore my version of it and get it from you.

Can't I require that others preserve my additional permissions?

Some people also asked "But what if I want my additional permission to apply to all later versions of the program, including other people's modified versions of my program?"

The problem there is that if you only allow people to add code to your project when their code is under the GPL plus the same additional permission that you're using, then, obviously, you are prohibiting people from adding plain GPL'd code to your project or combining your project and another project that is under the plain GPL.

If you do that, then you've made a new GPL-incompatible licence. No one can use your code in their GPL'd projects, and you can't use anyone else's GPL'd code in your project. Version 1 of the GPL was written in 1989 to replace the various incompatible licences of the GNU projects. Version 2 also ensured that all GPL'd projects could share code, and version 3 will too.

Permissions and requirements

Additional permissions should not be confused with additional requirements. Additional requirements are another topic altogether and have almost nothing in common with additional permissions. For some explanation of additional requirements, see How GPLv3 Tackles Licence Proliferation.

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

How GPLv3 addresses the EUCD and DMCA

Draft 3 of GPLv3 should be out Real Soon Now, so I'd like to review some of the topics. I couldn't find a thorough explanation of how GPLv3 will deal with the "anti-circumvention" clauses of the DMCA and it's EU counterpart, the the EUCD (see Article 6), so here's my layperson understanding.

These laws harm society in a number of ways. Some general information can be found on FSFE's EUCD page but here I just want to look at how these laws could cause problems for free software developers and distributors, and what free software licences can do about them.

I see two potential problems:

  1. A copyright holder could publish a work and authorise one free software application to access that work, and if a software developer wrote another application to access that same work, the copyright holder could accuse the second developer of copyright infringement for using an unauthorised piece of software to access the copyrighted work.
  2. A copyright holder could publish a work and publish a free software program that is authorised for accessing that work, but if a software developer modified that free software program, the copyright holder could accuse that software developer of copyright infringement for using software other than the single authorised version.

I hope both cases would be thrown out of court by any judge, but there's no reasons to leave it to chance or to leave such uncertainty there.

Section 3 of Draft 2 of GPLv3 contains this wording:

3. No Denying Users' Rights through Technical Measures.

Regardless of any other provision of this License, no permission is given for modes of conveying that deny users that run covered works the full exercise of the legal rights granted by this License.

No covered work constitutes part of an effective technological "protection" measure under section 1201 of Title 17 of the United States Code. When you convey a covered work, you waive any legal power to forbid circumvention of technical measures that include use of the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing the legal rights of third parties against the work's users.

The meat is in the last paragraph. Sentences one and two seem to address problems one and two, respectively, that I described above.

Some people have wondered if this will work. Some say this is like declaring "this leaf is not cannabis" - but the situations are not analogous. That cannabis leaves are what they are is a fact of nature, but whether or not a software mechanism is an anti-circumvention system, that depends on the intent of the person who created the mechanism. Eben Molgen answered this last June:

I expect that US courts will be instructed on the intention of the licensor to reject the features of DMCA as it applies to GPL software. I expect the United States courts to listen closely to statements of the licensor's intent, because under US copyright law it is the licensor's intent which normatively determines the content of licence.

In the typically cuatious words of a lawyer, I guess he's saying that he can't predict the future but it looks like it should work.

Another document with information about this the "Opinion on DRM" which was published along with draft 2 of GPLv3:

The rise of free software is accompanied by a rise in the incentives for opponents to find loopholes and ways to exploit our licences. The extra clarifications like these are being added to the licence to protect the right of everyone to modify the software and distribute modified versions. These clarifications make the licence longer, but I think they reduce complexity at the same time because if GPLv3 said nothing about certain issues, then users of the GPL would have to additionally investigate the status of a program that has no explicit statement about that issue.

A complete solution to the EUCD/DMCA involves getting laws changed, and that means either getting involved in lobbying or supporting lobby groups which are representing positions you agree with. Like software patents, GPLv3 can't make the whole of this problem go away, but it can protect us in some situations, so now is the time to think of when and how GPLv3 can protect us in these and similar situations.

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


[ RSS Feed ]

Right menu

Fellow Events

<< Septiembre 2008 >>
Mon Tue Wed Thu Fri Sat Sun
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 
Selected Day Today


FSFE Card


DRM.info
© FSFE