Wed 13 Apr 2016

When would you pick GPL?

Cam Findlay Public Seen by 359

In this thread, we'd like to explore the situations in which GPL is a good, practical choice of license for the release of new open source code in government.

For context please read over the thread discussing the current draft defaults and options.

Please keep the discussion on the merits of GPL and when it is practical to select it.

The outcome of this thread is we'd like to generate some consensus on useful guidance that helps users make good license choices in the right situations.

We'll also have a thread along the same lines for the MIT discussion, please feel free to comment in both. :thumbsup:


Dave Lane Wed 13 Apr 2016

You use the GPL when you want people to contribute to the project in the knowledge that their contribution will never be used to profit without their being able to benefit on the same basis. The GPL focuses on protecting the rights of the user, and assumes that any user might become a developer. This is most appropriate for end-user applications. Consider AGPL for end user centralised web applications/SaaS models, as the GPL v3 does not protect user rights in this situation (as the "distribution" provision of the GPL v3 is not triggered in that case).
If you are trying to get businesses and/or other software projects to adopt a library (to achieve a standardised API, for instance) you might license under a more permissive license like MIT to allow incorporation of the library into proprietary applications.


GasparI Fri 15 Apr 2016

LGPL is perfect for libraries - can use it anywhere and also the community benefits. Win-win.


Cam Findlay Wed 13 Apr 2016

Thanks for that feedback @davelane - could you please post your MIT comment over at https://www.loomio.org/d/0J9qHdsT/when-would-you-pick-mit- I'm going to use these threads as a capture of collective wisdom on the aspects of these two license approaches :smiley:

So just to see if I get your point correctly, for GPL is that it is appropriate to pick this license when the application is a self contained application (may there is a better word for this?) that an end user (be it govt, business, citizen) can use as is or customise (with the understanding that distribution of this customisation needs to be GPL too).

For example, a Learning Management System such as Moodle (which is GPL) can be installed and used even altered at a code level. It is unlikely this application would become the base source code of a derivative commercial application that is further on sold. It's used for the purpose it was developed for, in this example, Moodle allows anyone to setup an e-learning platform for online learning.


Dave Lane Thu 14 Apr 2016

Regarding your question - if the goal is to optimise a contributing developer community for an end-user application, GPL seems a very good license choice. I think GPL is good for the whole stack, personally, and prefer to prioritise the rights of the user over a hypothetical "developer" who (e.g. in business) wants to exploit someone else's code for their own gain at the expense of the user (which is one of the circumstances facilitated by a non-share-alike FOSS license like MIT) creating an implicit developer-user dichotomy. The GPL fundamentally assumes that every user can and should have the ability, without requiring permission, to be a developer, too, removing the developer-user distinction. This freedom to afford oneself the role of developer rather than just user is equally relevant for infrastructural resources (e.g. libraries) where the typical user is actually a developer farther up the technology stack.


Rob Elshire Thu 14 Apr 2016

To riff on Dave's example above: The GPL can provide a mechanism for playing nice between NZ government funded entities. Given our competitive funding mechanisms and that some institutions are using similar (same) technologies, a share alike license makes space to work together while keeping any actor from taking advantage of the others.

In my view, it is not just a 'stand alone' application for which the GPL is appropriate. It could be used to foster an ecosystem of interrelated applications. This could smooth the political issues around otherwise competitive organisations and allow them contribute to the development of applications that they would benefit from.


Edward Abraham Wed 20 Apr 2016

A bit of an anecdote: we developed a website for MBIE that displays regional information in map and time-series form, see http://webrear.mbie.govt.nz/summary/new-zealand. We are wanting to open source the framework so that other data sets can be displayed in the same way. MBIE have indicated to us that a GPL licence would be their preference. I think this is primarily so that other developments get contributed back to the project. (cross-posted).


Danyl Strype Wed 20 Apr 2016

If this MBIE mapping software is a server-side package, then as @davelane has said, AGPL(v3) would be a better choice than vanilla GPL, because otherwise a modified version of their software can be run on a server without triggering the copyleft provision, and therefore without obliging the modifiers to share their code.


Don Christie Wed 20 Apr 2016

That's great. MBIE are not the only agency that has plumped for GPL for new work. I am fairly sure Archives NZ did as well.


Danyl Strype Thu 21 Apr 2016

One advantage of using GPL or AGPL is that it mostly gets rid of the need to consider copyright ownership. When a person modifies and distributes your code, the copyright for the new code stays with them, but unlike with a non-copyleft license, doing that triggers the copyleft provision. This means their modified version is automatically licensed under the same license as your original, which means you can safely use, modify, or redistribute it under the terms of (A)GPL, without needing their permission. The only times copyright ownership matters in practice with copyleft licenses AFAIK are:

  • you want to reissue the code under a different license. If you don't own the copyright to the whole codebase via a copyright assignment agreement, you'd need each external contributor's consent to include their bits of code in the re-licensed version
  • you want to enforce the license. Copyright law only allows the copyright owner to press copyright violation charges. Small GPL projects lacking the resources to enforce their license sometimes give copyright ownership to the FSF to enforce on their behalf.

BTW IANAL and I assume those involved in this drafting process have made contact with Eben Moglen or someone from the Software Freedom Law Centre, who can confirm or dis-confirm anything those of us who are not lawyers are saying?


Russell MIchell Thu 21 Apr 2016

The very fact there is so much discussion around "which license" suggests it is not a mere trifle in deciding which to use. OSS developers already know this, but others new to the area, e.g. I.T. professionals having worked with pay-to-license software for the entirety of their careers, perhaps would not.

I think the development of an online tool that helps users in their decision is one way forward here. See http://choosealicense.com/. Luckily the site's codebase is itself OSS and available here: https://github.com/github/choosealicense.com and could therefore conceivably be modified for NZGOAL-SE's uses.


GasparI Mon 25 Apr 2016

It's a great site, thanks for the link!


Danyl Strype Mon 25 Apr 2016

True. If picking a license was simple, all NZ GOAL-SE would need to say is "choose a free software license" and collate a list from the lists provided by the FSF or OSI ;)

At the risk of going slightly off-topic, the CC license chooser is a really good model. Some folks from FSF, OSI and/or other free code organisaions like Software Freedom Conservancy, Software in the Public Interest (Debian parent body), Linux Foundation, or Apache Foundation, might be keen to collaborate on creating a similar license chooser for software.