Technical Advisory Group Forum

Climsoft Open Source license

 
 
Steve Palmer
Climsoft Open Source license
by Steve Palmer - 24 November 2014
 

From the meeting in July, we need to make a decision on the software license to use for Climsoft V4 and later. There is a really helpful discussion of the alternatives and issues at:

http://www.gnu.org/licenses/license-recommendations.html

It would not make sense to write our own license, so we should use one that already exists. From the discussion at the meeting, we want to ensure that Climsoft is open-source, so that it is free to use by any National Met Service (continuing the situation for versions up to and including V3.2) and by anyone else wishing to manage climate and environment observations and other data.We want Climsoft to be used as widely as possible, to improve the management of climate data.

We also wish to ensure that any add-ons to Climsoft which are provided by commercial enterprises cannot change the free nature of Climsoft. If any such paid-for add-on is produced and sold, it should be clearly marketed as an optional add-on which does not restrict the functionality of the free version of Climsoft. Also any organisation selling commercial services connected to Climsoft must make clear that the Climsoft software is freely available and can be freely modified by the users. Ideally all add-ons to Climsoft should be offered under the same open-source license terms as Climsoft, and be offered for inclusion into the core of Climsoft. The aim of the license is to stop any organisation from denying others the use of Climsoft.

My suggestion is that Climsoft uses the GNU General Public License as the most appropriate for what we need it to do.

Please will colleagues on the Technical Advisory Group check the references, and reply with questions or ideas. Then we will make a recommendation to the Steering Group.

Thanks, Steve

Picture of Ian Edwards
Re: Climsoft Open Source license
by Ian Edwards - 6 April 2015
 

Hi Steve, hello everyone,

One issue with the GPL licence is that if a developer wishes to include functionality from another third-party library (e.g. to do some additional processing) then that library must also have a GPL-compatible licensed otherwise it cannot be used.

GPL is very restrictive in this sense. Oddly, GPL v3 software can not include weaker-licenced GPL v2 software unless the second software was licensed as “GPL v2 or above” (because GPL v3 was made more restrictive).

 

The main decisions are:

  1. Do you want Climsoft to only make use of other open source software that is GPL-compatible (this rules out many other open licences)?
  2. Do you want to ensure that anyone who makes software that builds on top of Climsoft (but does not modify Climsoft itself) also uses GPL?

A more permissive licence is the LGPL licence used in the SciTools project you mentioned in another post.  This “Lesser” GPL licence avoids the incompatibility problems, whilst ensuring any changes to Climsoft must continue to be open under the same LGPL licence (it removes some of the ‘viral’ aspect of GPL).

If you do use GPL then the most flexible option is to select “GPL v2 or above”

I hope this helps, unfortunately open source licensing has become a bit complicated.

Ian

Steve Palmer
Re: Climsoft Open Source license
by Steve Palmer - 8 April 2015
 

Hi Ian and colleagues,

That raises important issues which I had not fully understood. GPL v2 and LGPL are similar. The text of the GPL v3 is substantially different from either GLP v2 or LGPL. The difference is that GPL v2 and LGPL are about the responsibilities of the person distributing the work, while GPL v3 is much more concerned to define the rights and responsibilities of the person receiving and using the work (and potentially modifying it for their own and others use).

I am not sure the GPL v3 is actually quite as restrictive as Ian says. Under "Source code" section 1, there is a discussion of "System Libraries" which are outside the scope. Also the concept of the "Corresponding Source" says "However, it does not include the work's System Libraries or general purpose tools or generally available free programs which are used unmodified in performing these activities but are not part of the work".

For question 1, the problem of conflicting licenses will only arise when we want to incorporate with modifications the source code of a routine which has some other form of licensing.

Therefore, there is no detriment in using, say, the VB.NET libraries and tools, or even of incorporating unmodified packages to do certain jobs, provided the attribution of those packages is preserved.The specific example would be to use some of the Scitools library functions (which are under LGPL). Provided these are used but not modified within Climsoft, there is no conflict.

For question 2, the key passage is in section 7, where it says "If the program as you received it, or any part of it, contains a notice stating that it is governed by this license along with a term which is a further restriction, you may remove that term." Hence distributing a package which contains the whole of Climsoft plus some add-ons would imply that the add-ons inherit the GPL v3 rather than any other conditions. However, distribution of add-ons separately from the Climsoft core does not carry any such implications. In favour of using GPL v3 is section 10 - Automatic Licensing of Downstream Recipient, which very clearly prevents anyone from imposing further restrictions - LGPL is much weaker.

The danger for Climsoft is that some other developer changes something in the program and then imposes a condition which takes control away from the Project Team - GPL v3 specifically prevents this. I am relaxed about people adding extra functionality outside the core, and this could be done commercially. GPL v3 section 4 allows commercial consultancy services for e.g. installation and training. Commercial consultancy could also include changes to the program - but they would still be under GPL v3, and therefore those changes would be available to everyone.

The discussion at http://www.gnu.org/licenses/why-not-lgpl.html says that the LGPL is appropriate for libraries intended for use by others, including commercial developers. I can see this is the better option for Scitools, but Climsoft is not a library, it is a complete program.

My opinion is that we should use GPL v3 because it will not stop us doing anything we need to, and it stops others from doing things which would damage the use of Climsoft. Final point - GPL v3 is much stronger on the Disclaimer of Waranty and Limitation of Liability in sections 15, 16 and 17 (section 17 is missing from GPL v2).

Opinions and thoughts please.

Steve