LWN.net Logo

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Simon Phipps writes on Richard Fontana's GPLv3 fork being developed on Github. "To date, Fontana's changes mostly relate to the concerns of the corporate voices in the GPLv3 process. The preamble -- 'an inspiring and important political statement,' according to Fontana -- has been removed, as has the 'How to Apply' appendix. Those simple steps alone dramatically shorten the text. The rest of the changes seem to fix apparently redundant compromises that made their way into the text as part of the negotiation process among all the corporate participants."
(Log in to post comments)

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 6, 2012 16:24 UTC (Fri) by rfontana (subscriber, #52677) [Link]

Note that the removal of the Preamble (and at least a rewrite of the How to Apply) are necessary to meet the FSF's conditions for creating derivative works of the GNU GPL text (as stated in the FSF's GNU licenses FAQ). However, I believe these two sections are worth removing from the license document anyway. (They of course have value as distinct documents.)

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 6, 2012 16:40 UTC (Fri) by rahulsundaram (subscriber, #21946) [Link]

A list of differences between GPL.next and GPLv3 along with rationale for each of these changes would be useful. How can I get that? Also, what is the timeline, roadmap and eventual goal of the project?

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 6, 2012 16:44 UTC (Fri) by rfontana (subscriber, #52677) [Link]

The timeline of the project is uncertain, but let's just say there's no rush.

The immediate roadmap is to somehow convince Bradley Kuhn to get involved even though he is morally opposed to Github. At the moment there is no other roadmap.

The eventual goal of the project is to produce a free, strong copyleft license, suitable for software and, perhaps, non-software works.

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 6, 2012 16:46 UTC (Fri) by hadess (subscriber, #24252) [Link]

Wouldn't the easy fix to move to gitorious? Similar functionality, but "Free Software".

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 6, 2012 17:01 UTC (Fri) by rahulsundaram (subscriber, #21946) [Link]

Yes, indeed. Setting up a gitorious mirror for the project or even making it the primary instance with a github mirror is easy enough and if it gets more people involved, especially those who have a keen interest and experience in Free software licensing like bkuhn, then it makes it worth the effort.

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 7, 2012 15:25 UTC (Sat) by rfontana (subscriber, #52677) [Link]

I plan to follow Rahul's suggestion (which I believe will be agreeable to bkuhn) of making Gitorious the primary public instance with a GitHub mirror. See: https://github.com/richardfontana/GPL.next/issues/6#issue...

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 6, 2012 17:36 UTC (Fri) by webmink (guest, #47180) [Link]

Does Gitorious have an integrated issue tracker? I didn't see one instantly, and for a non-code project, that's a key element as it allows focussed discussion rather than the free-ranging meta-trolling that arises in discussion venues for contentious topics.

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 6, 2012 18:01 UTC (Fri) by michel (subscriber, #10186) [Link]

free-ranging meta-trolling: I very much like that description.

standing up for one's own software freedom is "free range meta-trolling"?

Posted Jul 6, 2012 18:24 UTC (Fri) by bkuhn (subscriber, #58642) [Link]

webmink, are you seriously arguing that if someone says: I don't want to have to use proprietary software just to participate in this community, that they are free-range meta-trolling?

What if you invited me to speak at a conference and said I had to give my presentation using a Mac running OSX? I know that's your preferred laptop, but would you call me a free-range meta-troll for criticizing that requirement?

BTW, Fontana has admitted that the issue tracker on GitHub is inadequate for the needs of issue tracking for a license, so even your expedient “prefer proprietary software when it's technically better” argument fails here, at least according to Fontana.

Fontana and I would probably both agree that the right issue tracker for a license doesn't clearly exist yet. Orion and I designed stet for texts that are “like legislation”: a document already nearly complete that needed public input. Co-Ment is stet's AGPL'd intellectual heir, but it isn't the right fit for a license text in high flux.

I've asked Fontana to draw up a feature set for what an issue tracker needs to have for license development. I'm happy to be part of the solution and help create one. But in the meantime while that doesn't exist, why is a proprietary solution substandard for the task being used?

standing up for one's own software freedom is "free range meta-trolling"?

Posted Jul 6, 2012 19:18 UTC (Fri) by k8to (subscriber, #15413) [Link]

That's not at all what he's saying. He's saying that unfocused venues lead to nonsense.

standing up for one's own software freedom is "free range meta-trolling"?

Posted Jul 6, 2012 20:54 UTC (Fri) by webmink (guest, #47180) [Link]

What k8to said. Cool it. I was not talking about you at all.

standing up for one's own software freedom is "free range meta-trolling"?

Posted Jul 7, 2012 1:28 UTC (Sat) by bkuhn (subscriber, #58642) [Link]

Sorry if I misunderstood; since I'm the one who suggested switching to Gitorious, I wasn't sure who else you could mean.

But, regardless, that still leaves the question: is a known-to-be-inadequate proprietary issue tracker solving any problems here? We don't have what's needed, that's clear, so we just use inadequate proprietary software? This seems deeply wrong-headed to me for a project that seeks to write a license to uphold software freedom.

standing up for one's own software freedom is "free range meta-trolling"?

Posted Jul 8, 2012 5:02 UTC (Sun) by jra (subscriber, #55261) [Link]

> What if you invited me to speak at a conference and said I had to give my presentation using a Mac running OSX?

I was faced with that very dilemma. I told them (Apple) to bugger off :-).

http://www.samba.org/samba/news/articles/low_point/column...

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 7, 2012 1:25 UTC (Sat) by lkundrak (guest, #43452) [Link]

Is there anything in the world that sucks more than the GitHub bug tracker?

GitHub Issue Tracker

Posted Jul 7, 2012 12:53 UTC (Sat) by man_ls (subscriber, #15091) [Link]

Plenty of things suck more. Github's tracker is minimalistic but it has three good features:
  • it does not speak about "bugs" but about "issues";
  • issues can be closed and reopened effortlessly;
  • comments can be added keeping the whole history.
But alas, it is not practical for any kind of software, so no wonder it is useless for license discussions.

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 7, 2012 14:39 UTC (Sat) by liw (subscriber, #6379) [Link]

Blatant advertising follows.

Instead of a pure git hosting site, you might also consider a git-based wiki, such as one hosted by Branchable (http://www.branchable.com/), which additionally runs purely on free software (some of it AGPL licensed, too).

The wiki software, Ikiwiki (http://ikiwiki.info/) is powerful, and while it is not a full issue tracker, it provides tools to have a reasonable one; see http://ikiwiki.info/bugs/ for an example.

(I am partly responsible for Branchable; the software is by Joey Hess.)

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 6, 2012 23:07 UTC (Fri) by gmaxwell (subscriber, #30048) [Link]

Thats unfortunate, because the GPL is full of ambiguity once you stray from the direct use cases that were considered during drafting. The preamble sets a framework for interpreting the agreement in terms of end goals and not just mechanisms.

Absent such principled guidance reasonable minds are far more likely to disagree about the probable outcome of litigation and so would be more likely to end up there. A boon for trial attorneys, perhaps, but not for free software.

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 6, 2012 17:45 UTC (Fri) by landley (guest, #6789) [Link]

Sigh.

Remember when copyleft meant GPLv2 (or things one-way convertible to GPLv2), and there was one big pool of reusable code that was "sticky" in a visibility sense so you could always see forks of your code and reuse the code from the forks? And the network effects from that rendered it as unstoppable in open source as Windows was in shrinkwrap PC software?

Remember when Sun tried to split copyleft into incompatible forks with CDDA, and got laughed out of town?

I miss those days.

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 6, 2012 17:52 UTC (Fri) by rfontana (subscriber, #52677) [Link]

The current version of GPL.next is (one-way) compatible with all present or future versions of the GNU GPL and GNU AGPL.

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 6, 2012 17:53 UTC (Fri) by landley (guest, #6789) [Link]

So you're saying I could re-use linux kernel source code under your license?

Rob

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 6, 2012 19:41 UTC (Fri) by mlinksva (subscriber, #38268) [Link]

Note "one-way". You could re-use GPL.next'd code in a GPLv2 project, not vice versa, which I think is what you asked.

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 6, 2012 17:54 UTC (Fri) by rfontana (subscriber, #52677) [Link]

Although I suppose you (Mr. Landley) might argue for giving the licensor the ability to explicitly opt out of allowing full or partial GNU GPL / AGPL compatibility. This is something I've considered adding.

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 6, 2012 19:43 UTC (Fri) by mlinksva (subscriber, #38268) [Link]

Please don't do that. Opting out of compatibility adds complexity and AFAIK the existing example of such (MPL2) only has this to satisfy some users of MPL1.1. GPL.next doesn't have this problem.

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 6, 2012 20:57 UTC (Fri) by landley (guest, #6789) [Link]

Actually I switched my projects over to the simplest 2-clause BSD I could find when I became convinced the GPL fragmentation had started doing more harm than good to software developers trying to read and re-use code.

I liked the quid pro quo of GPLv2. I don't like navigating a rights minefield. I learned the elaborate ins and outs of _one_ license, and then all I had to know about anything else was "can your code fit into this box (y/n)".

It's now more complicated than that. This is not an improvement. Now I can't avoid worrying about the _interaction_ of licenses, and IANAL. This strikes me as just as dangerous as a non-security specialist trying to figure out the interaction between selinux and no_new_privs. I know there are potential problems here, I don't feel confident in my ability to have spotted them all, and given the way random third parties tend to drive a truck through these things I'm just not going there.

"Copyleft" no longer means "code you can use in your project without looking further", and neither does "GPL". Saying "this code is GPL" doesn't say whether I can use it in a kernel driver, or in Samba, and you can't move code from one project to the other even though they implement two ends of the same protocol.

One way convertibility means that if somebody else takes my code, and they patch it, that patch can't go back upstream to the original project. Once upon a time this made the full GPL a black hole accumulating the canonical version of everything, and you could only re-use that giant mass of code if your project was also GPL.

Sure, long before Affero and the need to distinguish "GPLv2 only" from "GPLv2 or later", this led to some fun corner cases with the gcc linking exception clause and QT being GPL (not LGPL) which meant you _couldn't_ link against them without buying a license but the kernel headers were GPL (not LGPL) and you _could_ link against them...

But there was a safe haven: full GPL meant you didn't have to care. I could avoid being a half-assed laywer by shipping GPLv2 and rejecting code that wasn't compatible with GPLv2. That safe haven option no longer exists, because there isn't one full GPL anymore.

I had this brought home to me when I inherited a project (BusyBox) that had incorporated "GPLv2 only" code from kernel developers into its "GPLv2 or later" codebase, meaning that to be compliant we had to either audit every contribution ever or fail closed to GPLv2 only. I cared about being scrupulously compliant because we were looking to break new ground trying to _enforce_ this license by suing people over license violations. Getting our house in order preparing to launch license enforcement suits is actually how this came up in the first place.

This "GPLv2 only" vs "GPLv2 or later" distinction had never mattered until there was a GPLv3 for the "or later" clause to apply to in a non-theoretical way. Dealing with this was _annoying_, because I just wanted to do development. (And because some clueless troll who'd never posted before in the history of the project's mailing list showed up to harass us because he personally wanted us to switch to GPLv3, but he's irrelevant except as a source of annoyance.)

That project took advantage of the "universal receiver" at the 11th hour, back when there still wasn't any GPLv3 code in the wild, and ever since it (like all projects) has had to filter contributions with more than just "is it GPL". Now there's at least three states: GPLv2 only, GPLv2 or later, GPLv3. Not counting Affero, and this new thing.

In the absence of a viable universal receiver, I've switched my code to being a universal donor. There's no longer one terminal node that lets me re-use essentially everything, just multiple unconnected leaf nodes. (And the leaf node containing the single largest open source project in history _isn't_ the one this article's talking about.)

If picking a non-leaf node means one way convertibility off what my project can accept as a contribution has become more or less unavoidable, I can at least pick the license that converts _to_ as many things as possible, so my code can feed _into_ those others. Hence the simplest (2 clause) BSD, essentially public domain with a fig leaf against frivolous lawsuits.

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 9, 2012 3:44 UTC (Mon) by kevinm (guest, #69913) [Link]

Would a dual-licensed GPLv2 / GPLv3 project be a universal receiver?

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 9, 2012 11:25 UTC (Mon) by pbonzini (subscriber, #60935) [Link]

No, because as soon as you copy in GPLv2-only code, GPLv3-or-later, or GPLv3-only code your code is not anymore GPLv2/GPLv3 dual-licensed. It has a large GPLv2/GPLv3 dual-licensed core, but it can only be distributed in its entirety under GPLv2 or GPLv3, depending on the license of the code you took.

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 16, 2012 3:20 UTC (Mon) by kevinm (guest, #69913) [Link]

I don't think that's true. If you copied in, say, GPLv2-only code then that code says "you must offer to license your derivative work under the GPLv2". Licensing your derivative work under either GPLv2 or GPLv3 fulfills that.

Of course the GPLv2-only parts cannot ever be included in a third party GPLv3+-only project, but we're only trying to make a universal reciever here, not a universal donor.

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 16, 2012 4:07 UTC (Mon) by dlang (✭ supporter ✭, #313) [Link]

no, if you include GPLv2 code only, you have no rights to distribute it under the GPLv3, it makes your resulting codebase GPLv2 only when combined.

This means that you can't then include code from a GPL3+ project, because you don't have any terms under which you can distribute the result.

you can't use GPLv2 because of the GPLv3 code

you can't use GPLv3 because of the GPLv2 code

Busybox realized that they had included GPLv2 only code, and so they went through and made sure they didn't have any GPLv3+ code and properly documented that the result was GPLv2 only, not GPLv2+

dual licensed codebases can be distributed under _any_ of the licenses, you can't use one license for some and a different license for other. If you could, then the CPL would be meaningless as you could 'dual license' your code GPL + proprietary and not give out the source to the proprietary bits.

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 6, 2012 18:27 UTC (Fri) by ajd (guest, #58225) [Link]

Does anyone else find it highly discouraging that the next version of the GPL is being built using the non-free Github platform?

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 6, 2012 18:38 UTC (Fri) by apoelstra (subscriber, #75205) [Link]

Any data you can put into it, you can get out of it, and the point of git is that you can't ever delete anything, so I don't see the problem. Syncing works properly, so if there are other bugs, you are welcome to use another (open) git client to manage your own changes.

So the usual arguments against nonfree web applications don't seem to be too important here.

Plus, Github works much better with noscript than gitorious does.

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 6, 2012 20:55 UTC (Fri) by jimparis (subscriber, #38647) [Link]

> Any data you can put into it, you can get out of it, and the point of git is that you can't ever delete anything, so I don't see the problem

Note that you'd have to regularly run something like https://github.com/joeyh/github-backup to make sure you have a copy of all of your data. And there are a few minor limitations, for example: "the GitHub API does not seem to provide a way to access notes added to commits and notes added to lines of code"

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 6, 2012 19:21 UTC (Fri) by karim (subscriber, #114) [Link]

Maybe I'm just old school, but I preferred a world where there was only GPLv2.

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 6, 2012 22:29 UTC (Fri) by felixfix (subscriber, #242) [Link]

Same here. It covered 99% of the problems, and that's good enough for me. Sure there were some things for which GPLv3 was an improvement, but I would rather they had been covered by separate licenses rather than try to make the GPL handle everything and thus handle nothing well.

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 8, 2012 17:44 UTC (Sun) by BeS (subscriber, #43108) [Link]

>It covered 99% of the problems, and that's good enough for me. Sure there were some things for which GPLv3 was an improvement, but I would rather they had been covered by separate licenses

You mean such "minor" improvements like taking care of international law and not being US-law centric. Or increasing license compatibility?

For me GPLv3 is a clear win and I still wonder what GPL.next actually want to fix and if the author really think that this is worth license scattering?
I would think we have far more than enough free software license ranging from really simple non-protective licenses over weak-protective licenses to strong-protective licenses. Additionally you can get all of them with or without additional software patent clause. Where is the actual need for yet another license aka GPL.next?

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 7, 2012 3:48 UTC (Sat) by slashdot (guest, #22014) [Link]

Do we REALLY need this?

It seems to me the negatives of fragmentation will far outweigh any possible benefit, unless some truly brilliant improvements come up.

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 7, 2012 9:31 UTC (Sat) by hummassa (subscriber, #307) [Link]

> Do we REALLY need this?

NO. Absolutely not. But my guess is that we will get it, and have o deal with its consequences anyway.

> It seems to me the negatives of fragmentation will far outweigh any possible benefit, unless some truly brilliant improvements come up.

Every single brilliant improvement was given as input in the GPLv3 process. There was ample debate then, and mos or all input was taken in consideration in the final version (even *my* own)...

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 7, 2012 10:25 UTC (Sat) by hummassa (subscriber, #307) [Link]

There is (obviously) a problem with my typing of the "t" letter. s/\bo\b/to/; s/\bmos\b/most/; etc...

New repo location

Posted Jul 7, 2012 21:15 UTC (Sat) by corvus (subscriber, #82) [Link]

It looks like Richard Fontana has renamed the project to Copyleft.next and moved the canonical repo to:

https://gitorious.org/copyleft-next

With a mirror at:

https://github.com/richardfontana/Copyleft.next

New repo location

Posted Jul 7, 2012 21:31 UTC (Sat) by rfontana (subscriber, #52677) [Link]

That is correct. This new name reflects the will of a majority of the current committers of the project.

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 7, 2012 22:34 UTC (Sat) by cmccabe (subscriber, #60281) [Link]

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 8, 2012 0:10 UTC (Sun) by hummassa (subscriber, #307) [Link]

Applies completely. Kudos.

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 8, 2012 5:10 UTC (Sun) by jra (subscriber, #55261) [Link]

It's license proliferation, no matter who is doing it (and I like Richard a lot).

http://google-opensource.blogspot.com/2008/05/standing-ag...

IMHO the best thing to do is ignore it, and hope it dies a deservedly ignominious death.

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 8, 2012 5:50 UTC (Sun) by rahulsundaram (subscriber, #21946) [Link]

Licensing proliferation only becomes a problem due to incompatibilities. There are dozens and dozens of revised BSD variants and nobody is bothered about them for instance. As long as copyleft.next has the compatibility provisions or better yet, becomes a successor to GPLv3 in some way, there isn't a reason to shoot it down just yet.

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 8, 2012 13:28 UTC (Sun) by rfontana (subscriber, #52677) [Link]

There may be multiple valid concerns about license proliferation, but the concern about introduced license incompatibilities is certainly one of them. The experimental Copyleft.next license document is already compatible with all present and future versions of the GNU GPL and GNU AGPL and all licenses compatible with those licenses (with one marginal category of exception). One GNU GPL-incompatible license I'd like Copyleft.next to achieve compatibility with is the Eclipse Public License 1.0, but I think this will require an approach somewhat like that taken by MPL 2.0 or by GNU GPLv3/AGPLv3 to achieve cross-compatibility.

The marginal category of exception is the set of GNU GPLv3 + limited badgeware licenses; Copyleft.next is currently designed to remove compatibility with such terms. A notable example is the license of SugarCRM Community Edition.

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 8, 2012 13:30 UTC (Sun) by rfontana (subscriber, #52677) [Link]

Actually you could get around that by relicensing under GNU GPLv3/AGPLv3, I suppose. I'm not sure if that's a bug or a feature.

The next GPL: Why it's being shaped on GitHub (InfoWorld)

Posted Jul 9, 2012 4:51 UTC (Mon) by rfontana (subscriber, #52677) [Link]

It has now been clarified that Copyleft.next is not a fork.
https://gitorious.org/copyleft-next/copyleft-next/blobs/m...

Clarifying relationship with existing GPL

Posted Jul 16, 2012 12:00 UTC (Mon) by bignose (subscriber, #40) [Link]

Thank you, Richard. That document nicely addresses several concerns I had when first reading about this effort.

Thank you, also, for publicising it here where I first found out about the work.

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