Hello SWIG developers I am a long time user of a certain GPL:ed search engine called Xapian [ http://www.xapian.org ]. Xapian is written in C++, but the makers have been providing bindings for other languages for a long time, most of them generated with SWIG. I use the PHP binding, which has worked great so far, but there is some dark clouds on the horizon - licensing clouds. Apparently the PHP license does not play nice with the standard GPL license, and this means that Xapian must stop making and distributing the swig PHP bindings unless one of the following fixes can be made: 1. Either PHP or Xapian must change their licenses to be compatible with the other. Neither is possible I have been told (due to 3rd party involvement in Xapians case). 2. One person who was involved with making the swig / xapian php-bindings once, wrote me this, and I quote: /"It may be worth bringing this problem up on the swig mailing list, as they are in the best position to solve this generally, perhaps even quickly. It may just require a change of compilation pattern; for many swig targets (I recall) uses a libswig.* If the libswig-php or libswig-perl had the run-time derived code and was BSD licensed (or something very free) for the binary, then that's the problem solved, and it would make swig more "useful" although whether that is more desirable than pressuring php to change their license I will leave for others to advocate." / So my question is, is this feasible? Is it indeed a quick fix? Would you consider implementing it? It is my understanding that any standard GPL:ed software would have the same problem with PHP, so perhaps making this 'fix' would legalize many other existing and future swig / php applications as well? Thanks for your time Alec
Alexander Lind wrote:> Hello SWIG developers > > I am a long time user of a certain GPL:ed search engine called Xapian > [ http://www.xapian.org ]. > Xapian is written in C++, but the makers have been providing bindings > for other languages for a long time, most of them generated with SWIG. > > I use the PHP binding, which has worked great so far, but there is > some dark clouds on the horizon - licensing clouds. > > Apparently the PHP license does not play nice with the standard GPL > license, and this means that Xapian must stop making and distributing > the swig PHP bindings unless one of the following fixes can be made: > > 1. Either PHP or Xapian must change their licenses to be compatible > with the other. Neither is possible I have been told (due to 3rd party > involvement in Xapians case). > > 2. One person who was involved with making the swig / xapian > php-bindings once, wrote me this, and I quote: > /"It may be worth bringing this problem up on the swig mailing list, > as they are in the best position to solve this generally, perhaps even > quickly. It may just require a change of compilation pattern; for many > swig targets (I recall) uses a libswig.* If the libswig-php or > libswig-perl had the run-time derived code and was BSD licensed (or > something very free) for the binary, then that's the problem solved, > and it would make swig more "useful" although whether that is more > desirable than pressuring php to change their license I will leave for > others to advocate." > / > So my question is, is this feasible? Is it indeed a quick fix? Would > you consider implementing it? > > It is my understanding that any standard GPL:ed software would have > the same problem with PHP, so perhaps making this 'fix' would legalize > many other existing and future swig / php applications as well? > > Thanks for your time > Alec >I doubleposted this to the xapian list as well. I should have bcc:ed though. I hope I didn't get any important details wrong. If so please correct me. Alec
Would it be possible to build Xapian PHP bindings against this alternative PHP implementation? I take it this would be quite different from building them using SWIG. Alec Marijn Schouten (hkBst) wrote:> -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Alexander Lind wrote: > >> Apparently the PHP license does not play nice with the standard GPL >> license, >> > > There is a GPL/LGPL licensed alternative PHP implementation: > <http://code.roadsend.com/pcc> > > - -- > Marijn Schouten (hkBst), Gentoo Lisp project > <http://www.gentoo.org/proj/en/lisp/>, #gentoo-lisp > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v2.0.6 (GNU/Linux) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org > > iD8DBQFGyp1Fp/VmCx0OL2wRAs/pAJwJ+P6xTYS8JweM+yflVgBWY1s6mwCggGxq > hkw0LJCUHEiaHxq2gE0IbiI> =rThH > -----END PGP SIGNATURE----- > >
Hi SWIG architects. This is a general problem where the swig targets license is not compatable wit the library being swig-ified. The compiled swigified target library is a derivative of the target system (php, chicken, perl, etc), a derivative of swig, and also a derivative of the imported library. SWIG is pretty liberal so the problem exists between the library and the target. SWIG can solve this architectually which would make swig legally useful as well as technically indispensable. As the swig model is pretty rich, any import-library generated code does not need to be a derivative of the swig-target system. I.e. There might be a libswig-xapian which joins the xapian (or other library interface) in terms of swig primatives, and a libswig-php that maps that swig api to the php api. SWIG itself could be generous with the licensing of libswif-TARGET and the generated code for libswig-xapian, and thus there is no code that is derived from the imported library and the target system. David, what are your feelings on this? I think if swig architecture could solve this that swig could be a good solution to license proliferation as well as emphasise the uselessness of such proliferation that can be side-stepped by automatic code generators... Sam -----Original Message----- From: "Alexander Lind" <malte@webstay.org> To: swig-devel@lists.sourceforge.net Cc: "Xapian Discussion" <xapian-discuss@lists.xapian.org> Sent: 20/08/07 23:05 Subject: [Xapian-discuss] license issue Hello SWIG developers I am a long time user of a certain GPL:ed search engine called Xapian [ http://www.xapian.org ]. Xapian is written in C++, but the makers have been providing bindings for other languages for a long time, most of them generated with SWIG. I use the PHP binding, which has worked great so far, but there is some dark clouds on the horizon - licensing clouds. Apparently the PHP license does not play nice with the standard GPL license, and this means that Xapian must stop making and distributing the swig PHP bindings unless one of the following fixes can be made: 1. Either PHP or Xapian must change their licenses to be compatible with the other. Neither is possible I have been told (due to 3rd party involvement in Xapians case). 2. One person who was involved with making the swig / xapian php-bindings once, wrote me this, and I quote: /"It may be worth bringing this problem up on the swig mailing list, as they are in the best position to solve this generally, perhaps even quickly. It may just require a change of compilation pattern; for many swig targets (I recall) uses a libswig.* If the libswig-php or libswig-perl had the run-time derived code and was BSD licensed (or something very free) for the binary, then that's the problem solved, and it would make swig more "useful" although whether that is more desirable than pressuring php to change their license I will leave for others to advocate." / So my question is, is this feasible? Is it indeed a quick fix? Would you consider implementing it? It is my understanding that any standard GPL:ed software would have the same problem with PHP, so perhaps making this 'fix' would legalize many other existing and future swig / php applications as well? Thanks for your time Alec _______________________________________________ Xapian-discuss mailing list Xapian-discuss@lists.xapian.org http://lists.xapian.org/mailman/listinfo/xapian-discuss
William S Fulton wrote:> I think this is a non-issue. The SWIG licence is a BSD style licence > so the SWIG source and supporting files, such as typemaps can be > incorporated into any other code. If you are using the source, then > you have to acknowledge the copyright holders. As you are probably not > shipping SWIG with xapian, then you don't need to even do that. > > In the past you might have had to ship the libswigphp.so runtime > library from SWIG, but now that is not needed and isn't even shipped > with SWIG anymore. Even if SWIG still shipped it, it was BSD style > licenced so can be linked to code compiled with just about anything else. > > IANAL etc. >Thank you for the info, William. Now does this mean that the PHP bindings generated with SWIG are alright after all (ie does not violate the PHP license), or does it mean that they are not out of the woods yet, but that this can be fixed by just generating them in a different way? Or neither? Thanks Alec
Marijn Schouten (hkBst)
2007-Aug-23 13:07 UTC
[Xapian-discuss] Re: [Swig-devel] license issue
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Alexander Lind wrote:> Apparently the PHP license does not play nice with the standard GPL > license,There is a GPL/LGPL licensed alternative PHP implementation: <http://code.roadsend.com/pcc> - -- Marijn Schouten (hkBst), Gentoo Lisp project <http://www.gentoo.org/proj/en/lisp/>, #gentoo-lisp -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGyp1Fp/VmCx0OL2wRAs/pAJwJ+P6xTYS8JweM+yflVgBWY1s6mwCggGxq hkw0LJCUHEiaHxq2gE0IbiI=rThH -----END PGP SIGNATURE-----
Alexander Lind wrote:> Hello SWIG developers > > I am a long time user of a certain GPL:ed search engine called Xapian [ > http://www.xapian.org ]. > Xapian is written in C++, but the makers have been providing bindings > for other languages for a long time, most of them generated with SWIG. > > I use the PHP binding, which has worked great so far, but there is some > dark clouds on the horizon - licensing clouds. > > Apparently the PHP license does not play nice with the standard GPL > license, and this means that Xapian must stop making and distributing > the swig PHP bindings unless one of the following fixes can be made: > > 1. Either PHP or Xapian must change their licenses to be compatible with > the other. Neither is possible I have been told (due to 3rd party > involvement in Xapians case). > > 2. One person who was involved with making the swig / xapian > php-bindings once, wrote me this, and I quote: > /"It may be worth bringing this problem up on the swig mailing list, as > they are in the best position to solve this generally, perhaps even > quickly. It may just require a change of compilation pattern; for many > swig targets (I recall) uses a libswig.* If the libswig-php or > libswig-perl had the run-time derived code and was BSD licensed (or > something very free) for the binary, then that's the problem solved, and > it would make swig more "useful" although whether that is more desirable > than pressuring php to change their license I will leave for others to > advocate." > / > So my question is, is this feasible? Is it indeed a quick fix? Would > you consider implementing it? > > It is my understanding that any standard GPL:ed software would have the > same problem with PHP, so perhaps making this 'fix' would legalize many > other existing and future swig / php applications as well? >I think this is a non-issue. The SWIG licence is a BSD style licence so the SWIG source and supporting files, such as typemaps can be incorporated into any other code. If you are using the source, then you have to acknowledge the copyright holders. As you are probably not shipping SWIG with xapian, then you don't need to even do that. In the past you might have had to ship the libswigphp.so runtime library from SWIG, but now that is not needed and isn't even shipped with SWIG anymore. Even if SWIG still shipped it, it was BSD style licenced so can be linked to code compiled with just about anything else. IANAL etc. William
I'm now signed back to swig-devel. William, I think we can easily change the license emitted by the code generator for the php module. Olly, until then I think it is fine to edit the generated code and change the license. The xapian authors are the ones licensing the code there. Having swig generate the right license text is just a mtter of conveniece. Sam -----Original Message----- From: "Olly Betts" <olly@survex.com> To: "Sam Liddicott" <sam@liddicott.com> Cc: "Xapian Discussion" <xapian-discuss@lists.xapian.org>; "Alexander Lind" <malte@webstay.org>; "William S Fulton" <wsf@fultondesigns.co.uk>; swig-devel@lists.sourceforge.net Sent: 23/08/07 13:42 Subject: Re: [Xapian-discuss] Re: [Swig-devel] license issue On Thu, Aug 23, 2007 at 07:43:05AM +0100, Sam Liddicott wrote:> You are probably right about the unnecessary strictness of the license > of the generated code; but changing that will only make distribution > of the xapian-php module source clearer.That will at least resolve the problem that we (Xapian) are currently distributing a file which claims to have two incompatible licences. I can believe there may be other issues here, but those haven't actually been reported, and this SWIG issue probably affects other SWIG/PHP users, so let's try to sort out this problem first.> However, despite the original bug report, the compiled php-xapian > makes use of php/zend header files and structures and so is derived > from it.It's probably not especially relevant here, but copyrightable works need to have a creative element, which often means header files aren't actually copyrightable, even though copyright may be claimed in the licence boilerplate.> It is this mechanism that most people confuse with linking, > because linking (generally) requires knowledge of header files.The issue isn't really linking or header files or memory spaces. It's what constitutes a derived work in copyright law. Cheers, Olly
Sorry for top posting again. Lets check CVs to be sure that the license boilerplate was added by Richard and not me or David. I'm thinking it was me and that I did it to make sure the generated code would be fully compatable with the PHP license - I rewrote the php generator so in order to generate a xapian module but then I wasn't figuring on that module being regenerated with xapian but to be stored in the cvs of php itself. There is tiny boilerplate C, enough to actually register as a php module, but I don't see why the boilerplate text in the BsD licensed php module generator can't be changed as long as the new text can be legally applied to new generated code, which I think it can. Sam -----Original Message----- From: "Olly Betts" <olly@survex.com> To: "Sam Liddicott" <sam@liddicott.com> Cc: "Xapian Discussion" <xapian-discuss@lists.xapian.org>; "William S Fulton" <wsf@fultondesigns.co.uk>; swig-devel@lists.sourceforge.net Sent: 23/08/07 14:16 Subject: Re: [Xapian-discuss] Re: [Swig-devel] license issue On Thu, Aug 23, 2007 at 02:06:54PM +0100, Sam Liddicott wrote:> William, I think we can easily change the license emitted by the code > generator for the php module. > > Olly, until then I think it is fine to edit the generated code and > change the license. The xapian authors are the ones licensing the code > there.The generated file contains code from SWIG too though. I suspect the inclusion of the PHP licence boilerplate wasn't fully though through, but it could be that Richard Palmer made use of code from PHP itself which had that licence, and that this code can get inserted into the generated file, so just removing the licence seems unwise. Similarly, I don't think it's wise to just remove it from SWIG unless we have a firm idea why it was added in the first place. I found another old address for Richard at uchicago.edu which also bounces. But does that mean that Dave Beazley might know him? Cheers, Olly
On Thu, Aug 23, 2007 at 02:29:32PM +0100, Sam Liddicott wrote:> Lets check CVs to be sure that the license boilerplate was added by > Richard and not me or David.We already have (William posted the link). It was there in the initial check-in of the PHP module. Cheers, Olly
OK, thanks. Well, we don't need Richards permission, just his reasons, in case we miss something. Is this correct? (As what swig produces is based on itself and its input, and itself is BSD licensed) Sam -----Original Message----- From: "Olly Betts" <olly@survex.com> Sent: 23/08/07 14:37 Subject: Re: [Xapian-discuss] Re: [Swig-devel] license issue On Thu, Aug 23, 2007 at 02:29:32PM +0100, Sam Liddicott wrote:> Lets check CVs to be sure that the license boilerplate was added by > Richard and not me or David.We already have (William posted the link). It was there in the initial check-in of the PHP module. Cheers, Olly