Ticket #191 (assigned defect)
Possible license conflict with the PHP bindings
Description (last modified by olly) (diff)
Current status
We believe it's OK to distribute the source code to the PHP bindings, but distributing binaries is problematic. So for example, the PHP bindings are disabled in the Debian packages (it's pretty easy to build your own php-xapian binary package, but you probably can't safely distribute it).
The ways this situation could be resolved that we can see are:
- PHP gets relicensed without the problematic clause which restricts the names you can use for derived works, which is the assumed incompatibility. This clause doesn't really achieve what they're aiming for since it only applies to derived works - if I create a work not derived from the PHP source, the PHP licence doesn't apply and I can use PHP in its name - even if it's written in PHP (e.g. phpBB, PHP-Nuke, CakePHP). A trademark on PHP would be a more appropriate option for protecting the name. Looking at past licensing discussions between Debian and the PHP developers, this isn't likely to happen.
- We can get legal assurance that the problematic PHP licence clause is compatible with the GPL. The FSF have stated that it's incompatible with GPLv2, but I never found a clear statement that this was still the case with GPLv3 (GPLv3 7c allows requiring that modified versions of such material be marked in reasonable ways as different from the original version, so if the PHP naming restriction is "reasonable" then the licences appear to be compatible). I emailed the FSF licensing people seeking to clarify this, but they never replied.
- We add an exception to Xapian's licence which explicitly allows linking with PHP. This isn't going to happen because some of the Xapian copyright holders have no interest in doing so.
- We eliminate the code we can't relicense from Xapian, and release it under a licence compatible with the PHP licence. This is probably going to happen eventually, as we've agreed a more liberal licence is appropriate and the older code is gradually getting replaced as the codebase evolves, but it's not likely to happen overnight. But I suspect this is how this issue will eventually get resolved.
How to build your own php5-xapian binary package
On Debian or Ubuntu:
sudo apt-get build-dep xapian-bindings sudo apt-get install php5-dev php5-cli devscripts apt-get source xapian-bindings cd xapian-bindings-1.2.* rm debian/control debian/*-stamp env PHP_VERSIONS=5 debian/rules maint debuild -e PHP_VERSIONS=5 -us -uc cd ..
And to install the built package:
sudo dpkg -i php5-xapian_*.deb
Original description:
I am reporting this on behalf of Adel Gadllah <adel.gadllah@…>, who is looking into packaging the bindings for Fedora 7.
The PHP license and the GPL aren't compatible but xapian-bindings links PHP licenced and GPL licensed code.
Quotes from the conversation on IRC with Fedora developers : "the problem i'm seeing is that xapian-bindings has bits of code that are GPLv2+ and PHP" "and it is merging them together into one .cc file and compiling _that_" "except, the GPLv2 and PHP are incompatible" "BOOM" "tell upstream that they can't compile PHP code with GPL* code"
We need this solved first before continuing with building the other bindings in Fedora.
Fabrice
