Re: Re-Releasing PEAR packages under the BSD license
| From: | Justin Patrin | Date: | Thu, 14 Dec 2006 22:55:14 +0000 |
| Subject: | Re: Re-Releasing PEAR packages under the BSD license | ||
| References: | 1 2 3 4 5 6 7 8 9 10 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-45247@lists.php.net to get a copy of this message | ||
On 12/14/06, Rasmus Lerdorf <rasmus@lerdorf.com> wrote:
Justin Patrin wrote: On 12/14/06, Sylvain Beucler <beuc@beuc.net> wrote:Aha, link vs. aggregate. I guess I was using the wrong or insufficient terminology there. Thanks much. -- Justin PatrinWould someone in the PEAR group or that helped to choose the PHP License as an ok license care to weigh in on this? If this, indeed, true, then we should probably remove the PHP License as an ok license and have any package that is PHP Licensed re-licensed with something else. It all comes down to semantics of what linking means. The PHP license is pretty much identical to the Apache license and you could indeed make a case for not allowing any GPL'ed software to be "linked to" from Apache either. See http://www.apache.org/licenses/LICENSE-1.1 The PHP license was chosen to match the Apache license because Apache and PHP are tied so closely to each other. This hair splitting over linking, derivation and aggregation has been going on since the beginning of time. My stance is that you can indeed ship PHP licensed PEAR components on the same cd or in the same tarball as GPL'ed code because I see it as an aggregate work. This changes if you take PEAR code, modify it and copy-paste it directly into your own work. Then it moves from aggregate to derived. But the intent of the PEAR components is to be used in aggregate form. The PHP license allows you to use it in derived form as well, of course, but then you should be choosing a license other than the GPL for the derived work. The FSF has a FAQ on aggregation here: http://www.fsf.org/licensing/licenses/gpl-faq.html#MereAggregation That text is heavily biased towards compiled software and they talk about executables and memory spaces which don't really apply in this case. If you don't consider using a PEAR component as aggregation then it logically follows that you also cannot have Apache call your code so you will have to stipulate that nobody can use your code from Apache. I think this is an extreme interpretation that pretty much nobody out there shares. In short, I don't see an issue here. Move along.On Thu, Dec 14, 2006 at 01:05:57PM -0800, Justin Patrin wrote:On 12/14/06, Sylvain Beucler <beuc@beuc.net> wrote:On Thu, Dec 14, 2006 at 12:40:05PM -0800, Justin Patrin wrote:wrote:On Thu, Dec 14, 2006 at 11:39:28AM -0800, Justin Patrin wrote:On 12/14/06, Sylvain Beucler <beuc@beuc.net> wrote:On Thu, Dec 14, 2006 at 11:54:48AM +0100, Christian WeiskeOn 12/14/06, Sylvain Beucler <beuc@beuc.net> wrote:sincepackagesCurrently I'm a bit unsure about whether I can or cannot useSylvain,under the PHP license in my application.You can use the packages without problems in your application,GPLwould notis more strict than the PHP license is. The other way roundThis iswork. Hi, I don't think so. I think both licenses have requirements, but the PHP License requirements are not a subset of the requirements of the GPL.than theindependant to whether the GPL has more or less requirementsuse ofPHP License. This extra requirements of the PHP License are related to theincompatiblethe name 'PHP'. This is not in the GPL, so licenses areuse theIMHO.So? I honestly don't see what the problem here is. Just don'tkick inname "PHP" in the name of your project. That clause doesn'tcombined workIMO this requirement will nonetheless still apply to theand you have no problems.(my proj + pear package). Since I cannot add additionalrequirementsto a GPL'd app, then I'm violating the GPL. I didn't invent that, you can check the links I mentioned - among others this one: http://gplv3.fsf.org/wiki/index.php/PHP_license%2C_version_3.01resultingThe modified BSD's requirements are a subset of the GPL, so both licenses are compatible. Incompatible means I cannot combine the two kinds of work. You can use GPL'd code with (compatible) mBSD'd code - thework will be under the GPL, be it in one way or another. But you cannot legally combine GPL'd code with incompatible code (hence why incompatible licenses are referenced atIf this is the only false statement then PHP licensed packages should be linkable from any open or closed source product, as the page says.Savanehttp://www.gnu.org/licenses/license-list.html#GPLIncompatibleLicenses). This link has some more information about it: http://www.gnu.org/licenses/gpl-faq.html#WhatIsCompatible All in all, I don't think I can't legally use HTML_QuickForm indifferent:/I think you're confusing 2 issues here. The licenses have 2in youruse-cases. 1) You link/use some code from something in your application. 2) You modify or directly incorporate some code from somethingdo that.application. If you do 2) with incompatible licenses you're SOL. You can'tyou'reHowever, if you do 1) with "so-called" incompatible licensessuchok. For example, all PEAR libraries are licensed with licensesexactlythat you can "link" them to closed source applications without licensing your application under the same license. This isput towhat the LGPL is for and this is why we don't accept GPL or other licenses than what we have listed. Summary: require_once 'HTML/QuickForm.php'; is perfectly valid in your application, whatever license youOpenSSL. Thisyour code, be it GPL, LGPL, PHP, closed/commercial, ormodifyingconstitutes linking another package's code into yours, notjust linkI don't think so. When I combine 2 pieces of code, even if Iit.them (or include()) them, this is still a derived work, and license compatibility still apply. If I could combine incompatible license just because I don't modify the 'inside' of the code, then I could use a GPL'd library even in proprietary software. The LGPL is specially written to allow such external linking - that would not be necessary if linking werelegallypossible without explicit permission. Linking = derived version I don't know why the FSF would write an OpenSSL replacement (http://www.gnu.org/software/gnutls/), and why Debian would deem GPL+OpenSSL not legally distributable (http://ftp-master.debian.org/REJECT-FAQ.html) if I could freelylinkwith OpenSSL. This pages explains the problem pretty well: http://www.gnome.org/~markmc/openssl-and-the-gpl.html The series of questions about GPL'd plug-ins offers someexplanationson the distinction between linking and fork+exec (which is not affected by license compatibilities): http://www.gnu.org/licenses/gpl-faq.html#GPLAndPlugins Therefore I cannot use PEAR packages under the PHP license in aGPL'dapp because the two licenses are incompatible due to details (not major differences), and currently this prevents me from using these packages. I do think that using the modified BSD instead, whichis nothard and changes nothing from PEAR developers' point of view, would make the situation cleaner. I'll add a bit of background about me: I'm doing basic legalchecks ona regular basis for a couple years now, for new projects that are submitted at Savannah.gnu.org. Every incoming project is checkedforsuch issues. I think that I had to cope with licenseincompatibiliesoften enough to grasp the basics, and I had to discuss with licensing@fsf.org several times to make decisions in cornercases. I'mstill not a lawyer, but if I take the time to bug you about it,thismeans I am pretty sure there's an issue. This was already discussed following such a project submissionreview:http://www.zend.com/lists/pear-dev/200410/msg00039.html It was acknowledged that there was an issue, and the proposedsolutionwas to add an exception to the GPL'd code - which I can't in this case, because I'm not the copyright holder, and also because that would make my code incompatible with other GPL'd libs (that doesn't come with such an exception). I don't think I'm proposing something radically different thanwhat iscurrently done, so please take a bit of time to consider it.Hi, I had read it. I don't see statements related to compatibility with the GPL. There's one false statement: "The only limitation is that the original credits must stay in the sources". This is more or less true for mBSD, but not for the PHP license which adds other limitations as discussed.Please see http://pear.php.net/manual/en/faq.licenses.php. If the statements here are false then there is a problem.Can you return the favor and read my statements as well?I of course read your statements but I think we're working under different assumptions here. I am assuming that the PHP license allows linking. You are assuming either that it does not or that the "compatibility" somehow negates this allowance for linking.The PHP License allows linking, but to link 2 pieces of software, both need to allow linking. To make it short, the GPL doesn't allow linking with incompatible code. Therefore I cannot link PHPL'd and GPL'd code.