LWN.net Logo

first package with v3 is out

first package with v3 is out

Posted Jun 30, 2007 17:07 UTC (Sat) by zooko (subscriber, #2589)
In reply to: first package with v3 is out by xose
Parent article: GPLv3 is out

I released some Free Software yesterday ( http://allmydata.org/trac/tahoe/wiki/News ), but unfortunately I couldn't use GPLv3, because it contains language that might confuse people about our intent with regard to the transitivity of a "grace period" during which one is allowed to distribute proprietary derived works.

Specifically, while the GPLv3 makes it easy for us to express: "You may use this software under the GPLv3, with the added permission that if you are obligated to release the source code of a derived work you may delay the fulfillment of that obligation for up to 12 months.", it makes it hard for us to express: "... and you are obligated to extend this same 'grace period' permission to everyone to whom you distribute your derived work".

This is a deliberate design decision on the part of the drafters of the GPLv3 -- they wanted the transitive obligations on the third party to be (at the option of the second party) just the provisions of the GPL. (I refer to section 7.)

I understand why they did that, but I don't want to release Allmydata's source code under a licence in which the second party can omit the grace period on their extensions and release their extensions under pure GPL.

For those interested in the details, this issue hinges on whether the grace period hack is an "additional permission" (re: secton 7) and whether the clause that you are not allowed to remove the grace period hack is an "additional restriction". It's kind of a funny philosophical issue as to whether an addition restriction which consists solely of forbidding you from removing an addition permission is a "restriction". This funny philosophical issue is, of course, the funny philosophical issue of the GPL itself. :-)

Regards,

Zooko


(Log in to post comments)

first package with v3 is out

Posted Jun 30, 2007 18:10 UTC (Sat) by khim (subscriber, #9252) [Link]

For those interested in the details, this issue hinges on whether the grace period hack is an "additional permission" (re: secton 7) and whether the clause that you are not allowed to remove the grace period hack is an "additional restriction". It's kind of a funny philosophical issue as to whether an addition restriction which consists solely of forbidding you from removing an addition permission is a "restriction".

It can be funny philosophical issue, but it's very clear practical issue: if the thing can not be done with stock license, but can be done with "license+clause" - it's additional permission, if the thing can be done with stock license, but not with "license+clause" - it's additional restriction.

This funny philosophical issue is, of course, the funny philosophical issue of the GPL itself. :-)

Not really. If I'll give the permission to postpone "fullfillment of obligation" for 1'000'000 years and forbid you to remove this permission then for all practical purposes I've got the BSD license. You can modify GPLv3 license but then you'll get separate, GPL-incompatible license - and that's good: we don't need a tool to convert GPL-licensed code to BSD-licensed code, do we ?

variants of the GPL

Posted Jun 30, 2007 18:44 UTC (Sat) by zooko (subscriber, #2589) [Link]

I'm afraid I may have confused you by saying this is "the" funny philosophical issue of the GPL itself. I guess there are multiple interesting issues of the GPL itself, but the one I meant was that the GPL imposes restrictions in order to cause a broader proliferation of permissions. (Quite successfully, I might add.)

I'm not sure I quite understand your point in the last sentence. As far as I know you <em>cannot</em> modify GPLv3 (see the copyright statement at the top of the GPLv3), except by adding clauses, the transitive imposition of which is determined by the stock GPLv3 itself.

I certainly hope you don't think that my grace period hack is a tool to convert GPL-licensed code to BSD-licensed code. It certainly is not -- indeed it is intended to have the opposite effect: to impose a restriction in order to cause a broader proliferation of GPL-licensed code.

Oh, I think I understand what you meant. If the GPLv3 had not constrained the transitivity of additional clauses, then it would be possible for there to be additional clauses which effectively just rendered the GPLv3 functionally equivalent to a permissive licence. I agree that there isn't any value in having a variant of the GPLv3 which acts the same as a permissive licence, and I approve of the way the GPLv3 tries to prevent licence fragmentation.

(Note, however, that even if there were such a clause -- one which effectively said "This code is licensed under the GPLv3 with the added clause that you can do everything as though it were licensed under the BSD licence." -- that this would not, of course, have any effect on already GPLv3-licensed source code. Therefore, there is simply no possibility of a tool which converts GPL-licensed code to BSD-licensed code, even if the GPLv3 didn't have transitive-permission-dropping and transitive-restriction-dropping.)

Regards,

Zooko

variants of the GPL

Posted Jul 2, 2007 6:41 UTC (Mon) by sitaram (subscriber, #5959) [Link]

you guys keep saying "transitivity". Do you mean "automatic transferability"? Strictly speaking, transitivity does not apply here.

variants of the GPL

Posted Jul 2, 2007 16:42 UTC (Mon) by zooko (subscriber, #2589) [Link]

I guess there is a specific meaning of "transitivity" that you are using. Care to enlighten us?

When I said "transitivity", I meant "whether something is required to be applied to derivative works". In the message to which you were replying, I was discussing the fact that the GPLv3 prevents a first party from adding a clause when granting a licence to a second party, which clause the second party is obligated to apply to a third party, should the second party redistribute the work or a derived work to a third party. This means that we can't use GPLv3 and add a mandatory transitive clause to it -- the second party can always choose to remove that clause.

Regards,

Zooko

variants of the GPL

Posted Jul 6, 2007 0:41 UTC (Fri) by lysse (guest, #3190) [Link]

> the GPL imposes restrictions in order to cause a broader proliferation of permissions.

No, it doesn't. Under basic copyright law, redistribution is not permitted at all. Period. That's about as restricted as it's possible to get! Therefore the GPL doesn't *impose* restrictions, it *relaxes* them.

So does the BSD, or placing a work in the public domain. The difference is that the BSD relaxes the restrictions of copyright law almost unconditionally, whereas the GPL only relaxes them conditionally - the condition being that none of the restrictions it relaxes may be reimposed.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds