Legalesse (was: [RFC] PECL binary creation and distribution)

From: Date: Fri, 19 Sep 2003 18:42:24 +0000
Subject: Legalesse (was: [RFC] PECL binary creation and distribution)
References: 1  Groups: php.pecl.dev 
Request: Send a blank email to pecl-dev+get-18@lists.php.net to get a copy of this message
A concern which recently came up for me with regards to precompiled binaries was the issue of the licensing of bundled libraries. At the time Edin setup a .dsp for my oggvorbis extension, he took the shortcut of compiling libogg and libvorbis in staticly which also has the added benefit of saving trouble for the user later on. Unfortunately this creates two issues: (1) Size. php_oggvorbis.dll is larger than all the other PECL binaries by half an order of magnitude. (because of the staticly linked libraries) (2) License. While libogg and libvorbis are covered under a fairly loose BSD style license which does permit bundling in binary packages. Their license DOES say that certain disclaimers and copyright notices must accompany the binary or be placed in the documentation. That issue is covered for the time being by a page I rushed together which is linked from the package homepage http://pear.php.net/oggvorbis . Linking to an external site for something this important is sloppy though, I'm considering placing it on its peardoc manual page despite the fact that it is only necessary for Win32 users. In the case of this package (and most others which link externally) we can certainly limit potential problems by sticking to dynamic linking thereby putting the onus for licensing on the end user. However, I would not be surprised to find libraries out there which require static linking to function properly while containing a license which limits and/or controls distribution in binary form. By using dynamic linking (and thereby requiring the end user to find and install libraries themselves), however, we short change the ease of use which is one of the prime selling points of PECL. To the point of including LICENSE and/or README files, an .rpm/.msi packaging system is a simple and elegant solution which will satisfy most (if not all?) of the above needs. We even have the option of including whole library packages as needed. However, I am inclined to urge extreme caution when it comes to allowing developers to build packages which include libraries (staticly or dynamicly) in their distributions. From a purely practical standpoint, it encourages the potential for duplicate installation of libraries, and from a legal standpoint it opens PHP to an unknown risk. -Sara ...And I won't even get into the issue of PECL extensions linking against GPL libraries...

« previous php.pecl.dev (#18) next »