wiki:Licensing

This page is currently a work in progress and should not be considered an official statement or accurate description of the status quo.

What license does Xapian have

The short answer: Xapian is currently licensed under the GNU General Public License (GPL).

The long answer: Xapian was initially developed and released by BrightStation under the GNU GPL (see also the Xapian history). Some of the copyright holders for the Xapian code are no longer reachable or are currently unknown which makes it impossible to a different license. More recently the Xapian contributors prefer to use the more liberal MIT/X license and have been dual-licensing their contributions under the GNU GPL and the MIT/X licenses, preparing the way for a possible future license switch.

Components

Xapan consists of several components:

xapian-core:

We clearly want to have libxapian.so relicensed, but the tools probably matter less, and the testsuite could easily just remain GPL.

xapian-bindings:

Since Olly Betts rewrote most of the SWIG interface file to directly parse the C++ headers, there isn't actually a lot of the older code left here, but there is still some. It would be good to sort out the PHP bindings in particular, so they can be packaged again (currently GPL and PHP licences are apparently incompatible due to the rather pointless naming restriction the PHP licence imposes).

xapian-omega:

This can probably remain GPL.

xapian-letor:

New code, so easy to relicense.

Code copyright status

Most contributors have agreed to changing the licensed for their code to MIT/X. Code from the following copyright holders is still GPL-only:

  • BrightStation PLC - it's not even clear who actually holds this copyright now, and we've heard competing claims. This is where the code Xapian has evolved from was originally developed, so the oldest code (1999-2001) has this copyright, and over time it has been gradually replaced, but there is still a significant amount left.
  • Ananova Ltd - Another old copyright (from 2001-2002).
  • Orange PCS Ltd - From 2003 and only affects one file, which is also (C) BrightStation and Ananova. Orange bought Ananova, so it's unlikely we'd get this relicensed either, but it doesn't really matter as we'd need to replace this file anyway.

We've been careful to keep all code history, and every source file in Xapian lists the copyright holders for that file which should aid copyright auditing. Buildbot keeps an updated summary using this data. There is also an audit tool under xapian-maintainer-tools which could be extended to give more information about the files where copyrights are found. It does output license_classes.csv which gives an estimate about how licensable a file is.

When replacing GPL-only code there are few guidelines that we want to use:

  • do not use conditional compilation to define separate GPL and non-GPL code paths
  • do not mix multiple licenses in a single source file
  • preferably do not rewrite code just to change the license - make some real improvements at the same time
Last modified 22 months ago Last modified on 16/02/16 20:49:58