Licensing

How do you spell licence?

If you are British you spell it differently from Americans, sometimes:

http://www.tiscali.co.uk/reference/dictionaries/english/data/d0082350.html

As usual the American spelling rule (always use s) was less painful and arbitrary, so I (MB) went for that.

Current plan

In general we have a preference for BSD licensing, for compatibility with SciPy, and to increase input from developers in industry. Wherever possible we will keep packages that can have BSD licensing separate from packages needing a GPL license. These packages will of course have dual GPL, BSD licenses.

Background

Licensing is a difficult issue. Our choices are between:

John Hunter feels strongly we should go for a BSD license - and put his views very clearly in JohnsBsdPitch.

Richard Stallman, as you might imagine, thinks we should all be using the GPL.

I see the primary advantage of a BSD license is that we are far more likely to get real support from companies, including open-source software companies. Enthought and Kitware are the most obvious example.

The primary advantage of the GPL license is that we can use other GPL software. Qt is one example, but others are imaging software such as SPM, AFNI and VoxBo. Another advantage is that it may make it more difficult for our respective employers to try and reduce access to the software by insisting on a change of license.

There are also dual licenses, e.g. the Qt-type dual license.

We need to make sure that we can separate out parts of our code that depend on other GPL software and parts that do not. The main NIPY trunk will be a BSD licensed package of code. But we will also have separate trees with GPL code, including code that depends on GPL software; for example, the fff code developed by the team from Orsay (see Alexis' comment below).

Note that we do not have this problem with LGPL, which allows us to link without ourselves having a GPL.

Alexis: fff is based on the GSL (GNU Scientific Library GSL, in GPL), which provides a variety of useful numerical routines that we don't want to re-implement: basic & advanced linear algebra, random number generation, statistical functions... If we are to change that (which would require a substantial effort), we need to have GSL replaced with a comparably powerful numerical library that does not have a GPL license. Would for instance LAPACK be a good candidate? Any other suggestion?

Matthew: To Alexis - yes see the problem. What do you use from the GSL that is not in NumPy / SciPy, or LAPACK? Is that easy to work out?

Matthew: we should think hard about what parts of our software would really attract support from a company. Image format converters might be an obvious example. If there are any developments of wider use to matplotlib, or ipython, obviously these should be under their current (BSD-type) licenses. For the main package, I can't see that we will have much input from companies, and we are likely to have great need for GPL software.

Just for reference, the NIH appears to (formally) have a preference for software than can be "commercialized". Quoting from: NIH NATIONAL CENTERS FOR BIOMEDICAL COMPUTING grant application document:

A software dissemination plan must be included in the application.

There is no prescribed single license for software produced in this project. However NIH does have goals for software dissemination, and reviewers will be instructed to evaluate the dissemination plan relative to these goals:

1) The software should be freely available to biomedical researchers

and educators in the non-profit sector, such as institutions of education, research institutes, and government laboratories.

2) The terms of software availability should permit the

commercialization of enhanced or customized versions of the software, or incorporation of the software or pieces of it into other software packages.

There is more discussion of licensing in this na-mic presentation. See also these links (from the presentation): http://www.rosenlaw.com/oslbook.htm

http://www.opensource.org

http://wiki.na-mic.org/Wiki/index.php/NAMIC_Wiki:Community_Licensing

What NIH-funded agencies actually do seems to differ though. For example, AFNI is the major NIH-supported imaging package, and uses the GPL.