Hello, I would like to see Xapian used more widely in the PHP community. The major obstacle is that binaries of the PHP extension cannot be distributed. I've been reading earlier discussions on this and wonder if there's now an option. My starting points were https://trac.xapian.org/wiki/FAQ/PHP%20Bindings%20Package and the discussion at https://trac.xapian.org/ticket/191. One comment int he discussion is:> So the PHP bindings don't link in any PHP licensed code, but they do > compile against PHP licensed headers. I'm not a lawyer, but I think this is > the only remaining potential problem.The GPL FAQ says at https://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs that there is scope for adding exceptions when building against incompatible libraries. Given that only the PHP bindings compile against the PHP licensed headers, can the PHP bindings alone: a) be relicensed under GPLv3, and grant an additional permission under section 7? b) remain GPLv2 and add a specific exception? If so, this would allow Xapian to remain GPLv2+ licenced, and yet the PHP bindings to be distributed pre-compiled. I've searched the Debian legal archives for precedence one way or the other, but (ironically) the search isn't great at returning relevant results. Peter Other references: https://xapian.org/docs/bindings/php7/ https://lists.debian.org/debian-legal/2009/04/msg00101.html
On Fri, Jul 26, 2019 at 02:01:35PM +0100, Peter Bowyer wrote:> The GPL FAQ says at > https://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs that there is > scope for adding exceptions when building against incompatible libraries. > > Given that only the PHP bindings compile against the PHP licensed headers, > can the PHP bindings alone: > a) be relicensed under GPLv3, and grant an additional permission under > section 7? > b) remain GPLv2 and add a specific exception?There are two early copyright holders who aren't interested in relicensing (nor in adding exceptions to the licence which is effectively the same thing), so we can't do either of those (if we could we probably would have years ago). I'm hoping this will get resolved in the foreseeable future - we're now at a point where a lot of that old code has been replaced, and git master can be configured to give a build where libxapian and the bindings only contain code which we could relicense. Currently you don't get a backend that supports writing in that build though, which limits its usefulness in practice - it uses the new "honey" backend which currently requires you to build a glass database and convert it (and the glass backend contains code we couldn't relicense). So some more code needs to be written. We're also waiting for the Software Freedom Conservancy to deal with the legal side of the relicensing. I don't currently have a timeline, but I'm hopeful the next release series will support a configuration which would support shippable binary packages of the PHP bindings. It won't help for 1.4.x though. [Aside: I don't really understand why the PHP developers are so keen on the problematic clause. It doesn't achieve what they want because it only restricts naming of products *derived from PHP* - for example, "CakePHP" and "PHP-Nuke" can use those names because they aren't derived from PHP. A trademark would give them the control over use of the name "PHP" which they actually seem to want, while allowing people to use GPLed libraries from PHP more easily.] Cheers, Olly
Le vendredi 26 juillet 2019 à 14:01 +0100, Peter Bowyer a écrit :> Hello, > > I would like to see Xapian used more widely in the PHP community.I would like that too. We recently removed a Xapian searching feature from our Free Software because it required a process too complex for most of our users to install it (and update it) on their servers. [...]> The GPL FAQ says at > https://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs that > there is scope for adding exceptions when building against > incompatible libraries. > > Given that only the PHP bindings compile against the PHP licensed > headers, can the PHP bindings alone: > a) be relicensed under GPLv3, and grant an additional permission > under section 7? > b) remain GPLv2 and add a specific exception? > > If so, this would allow Xapian to remain GPLv2+ licenced, and yet the > PHP bindings to be distributed pre-compiled.My 2 cents: I think it would make sense for Olly (the project founder/leader/maintainer) to ask the Free Software Foundation directly, if that wasn't done before. They are the top experts on the subject and have legal advisors for that. Your explanation seems to sum it up quite well, and contact information about licensing is here: https://www.fsf.org/licensing/contact (although it seems more focused on finding licensing violations, I'm pretty sure this is the best contact point). Cheers, Yannick
On Mon, Jul 29, 2019 at 06:01:51PM +0200, Yannick Warnier wrote:> My 2 cents: I think it would make sense for Olly (the project > founder/leader/maintainer) to ask the Free Software Foundation > directly, if that wasn't done before. They are the top experts on the > subject and have legal advisors for that.The FSF's take on this is already clearly stated on their website: "It is incompatible with the GNU GPL because it includes strong restrictions on the use of “PHP” in the name of derived products." https://www.gnu.org/licenses/license-list.html#PHP-3.01 As I wrote in my earlier reply, we're working towards a solution to this which will hopefully allow redistributing binary packages of Xapian's PHP bindings for the next release series, provided you configure xapian-core suitably. If that answer isn't a fast enough solution for you, all I can really suggest is persuading the PHP developers to drop the problematic clause from their licence, or at least adding some sort of exception to it to allow GPL compatibility. That would fix the problem once and for all for all GPL software. Cheers, Olly
Maybe Matching Threads
- Revisiting the PHP binding license issues
- RFC: Improving license & patent issues in the LLVM community
- RFC #2: Improving license & patent issues in the LLVM community
- RFC #2: Improving license & patent issues in the LLVM community
- licensing requirements for using the SWIG bindings