On Mon, Aug 20, 2007 at 08:53:31AM -0700, Alexander Lind
wrote:> I just read in bug-post 191 [
> http://www.xapian.org/cgi-bin/bugzilla/show_bug.cgi?id=191 ] that there
> are some incompatibilities with the GPL (xapian) and PHP licenses, that
> makes it so you can't legally compile the two together.
The incompatibility is that the GPL doesn't allow additional
restrictions to be imposed, while the PHP licence imposes additional
restrictions. This means you can't distribute the combination, but I
believe it's legal to combine such pieces and compile them.
But being unable to distribute the result is still an issue (it would
prevent the bindings from being packaged by most Linux distributions,
for example).
At the moment, there are also issues with distributing the generated
xapian_wrap.cc source files, but they are hopefully easier to resolve.
> Richard B ends the discussion with saying that the future of the Xapian
> PHP bindings is looking bleak.
I think that's probably a little pessimistic. I suspect the outcome may
be that you'll have to build it yourself from source.
> These are devastating news to me, who has got a lot of apps running
> using the PHP bindings, and absolutely love Xapian!
>
> Does anyone know exactly what the outcome of this will be, and when a
> final decision will be made on the PHP bindings being or not being?
I think we need to work to resolve this issue, but I don't think it
benefits anyone to act hastily and just drop the PHP bindings. The
situation is certainly a problem, but none of the copyright holders
involved have complained as far as I'm aware.
In the long term, we'd like to change Xapian's licence, but that
requires us to eliminate all the code which the copyright holder isn't
willing to relicense. This is happening naturally to some extent, but
is going to take a while to fully happen.
> If the final result is a negative one, could someone perhaps offer some
> pointers on how I can go about creating my own PHP bindings using SWIG?
That won't help - the first issue is with SWIG's PHP backend; the second
is with using a GPLed library (Xapian) in a PHP extension. Writing a
PHP extension by hand would avoid the first issue, but the second is
still there.
Cheers,
Olly