Loading...
 
Skip to main content

History: License

Preview of version: 29

After some fresh news tonight, we can ONLY have code in tiki cvs that is under the BSD License or the LGPL. The PHP License is not compatible with LGPL.
refer to http://www.gnu.org/philosophy/license-list.htmlQuestion

-+...+-

PHP License, Version 3.0
This license is used by most of PHP4. It is a non-copyleft free software license which is incompatible with the GNU GPL.
We recommend that you not use this license for anything except PHP add-ons.

...


The PHP License is incompatible with the LGPL for similar reasons. Here is my (Terence) understanding of the problem. As most of the libraries under the PHP License have been modified, Tiki is considered a work based upon these libraries and the rest of Tiki code under the LGPL. The LGPL requires that any work derived from LGPL code to be released under the LGPL. This means that the library code we use must be released under the LGPL. This would violate the PHP License since it states that "No one other than the PHP Group has the right to modify the terms applicable to covered code created under this License."

goldmoon: Are you sure? The web page states only that PHP license version 3 is incompatible with the GPL, NOT the LGPL. There might be a great deal of uncessary rewriting, if the licenses actually are compatible. In fact, the PHP license does not contain ANY clause that extends the license to code added by the Tiki team. The "covered code created under this License" does not extend to new code written by the Tiki team, as the PHP license lacks the "virul" clause found in the GPL. I believe the LGPL and PHP 3 licenses are compatible. I think we can apply our own license to our own code, even though we produce application combining PHP code and our code. We should check for verification from the ultimate authority .. Zend. Zend uses the same license as PHP, but has lawyers and experts and experience enforcing its license.

Terence: The problem is if we modify libs under the PHP License, Tiki becomes, arguably, a derivative work of these libs. In such a case, the LGPL requires that the work as a whole be licensed under the LGPL. The PHP License does not allow anyone but the authors to relicense code protected by it. That's my take on the problem.

Damian says, the PHP libraries that we have used can in most cases be rewritten from scratch, this is something that Im currently looking at with POP3 as a example

This is a tree of our current lib/ with licenses. They need removing and replacing:

  • lib/
  • lib/Date/ - PHP License v2
  • lib/pear/ - PHP License v2
  • lib/sheet/ole* - PHP License v2
  • lib/webmail - GPL and PHP License
  • lib/webmail/htmlMimeMail.php - PHP License v2
  • lib/webmail/mimeDecode.php - PHP License v2
    • rewritten and included in 1.9rc3 for tests mose
    • impacted features : mail-in, webmail, forums, edit_page (used by import), import phpwiki
    • after tests that will be backported to 1.8
  • lib/diff.php - GPL
    • replaced with Text_DiffQuestion (LGPL) in BRANCH-1-8 (terence)
  • lib/Galaxia/src/ProcessManager/GraphViz.php - PHP License v3
  • lib/graphviz/GraphViz.php - PHP License v3


for i in `grep -rl "php.net/license" *`;do grep -r "$i" *;done
lib/wiki-plugins/wikiplugin_wikigraph.php:include_once ('lib/graphviz/GraphViz.php');
tiki-wiki_graph.php:include_once ("lib/graphviz/GraphViz.php");
lib/tikilib.php:require_once ('lib/pear/Date.php');
lib/newsreader/newslib.php:require_once "lib/pear/NNTP.php";
lib/pear/HTTP/Request.php:require_once('lib/pear/Net/Socket.php');
lib/sheet/grid.php:require_once( "lib/sheet/ole.php" );
lib/sheet/grid.php:require_once( "lib/sheet/ole/pps/file.php" );
lib/sheet/grid.php:require_once( "lib/sheet/ole/pps/root.php" );
lib/sheet/grid.php:require_once( "lib/sheet/ole/pps.php" );
lib/commentslib.php: include_once ("lib/webmail/htmlMimeMail.php");
lib/webmail/tikimaillib.php:include_once("lib/webmail/htmlMimeMail.php");
tiki-admin_include_webmail.php:include_once ("lib/webmail/htmlMimeMail.php");
tiki-g-run_activity.php:include_once ("lib/webmail/htmlMimeMail.php");
tiki-mailin-code.php:include_once ("lib/webmail/htmlMimeMail.php");
tiki-webmail.php:include_once ("lib/webmail/htmlMimeMail.php");
lib/commentslib.php: require_once ("lib/webmail/mimeDecode.php");
tiki-editpage.php: require ("lib/webmail/mimeDecode.php");
tiki-import_phpwiki.php:require ("lib/webmail/mimeDecode.php");
tiki-mailin-code.php:require_once ("lib/webmail/mimeDecode.php");
tiki-webmail.php:require_once ("lib/webmail/mimeDecode.php");
tiki-webmail_download_attachment.php:require ("lib/webmail/mimeDecode.php");

(as lib/pear is in path, some pear call are without path, you can get whole list with
for i in `grep -rl "php.net/license" *`;do grep -r "`basename $i`" *;done

Some possible alternatives:

  • Net_POP3Question (BSD License) - Provides a POP3 class to access POP3 server. Support all POP3 commands including UIDL listings, APOP authentication,DIGEST-MD5 and CRAM-MD5 using optional Auth_SASL package
  • POP3 client classQuestion (BSD License) - It features POP3 server access using normal and APOP login methods, calculation of mailbox statistics, listing of individual message sizes and identifier numbers, retrieval of arbitraty messages separating the headers from the body, limits on the number of message lines that may be retrieved at once, marking messages to be deleted, resetting the list of messages to be deleted, and issuing of the protocol NOOP command to avoid connection shutdown while in idle state.
  • SMTP client classQuestion (BSD License) - It can relay message delivery to a defined SMTP server or directly deliver messages to a recipient's SMTP server for urgent message delivery. It supports connection timeouts, SMTP authentication, POP3 before SMTP delivery authentication, returns message delivery success, detects extensions supported by the SMTP server, and takes advantage of the SMTP PIPELINING extension to buffer SMTP commands, providing much faster queueing of messages when delivering to a large number of recipients (bulk mail).
  • Text_DiffQuestion (LGPL) - provides a text-based diff engine and renderers for multiple diff output formats
  • MIME E-mail message composing and sendingQuestion (BSD)
    • User definable headers and body parts.
    • MIME encoding of text and HTML body parts with user defined character encoding using quoted-printable.
    • Addition of file parts (attachments) with automatic content type detection.
    • Forwarding of messages received from somebody else as intact attachments
    • Support for multipart/related messages (eg. HTML messages with embedded images, stylesheets, frames, etc..)
    • Support for multipart/alternative messages (eg. text and HTML versions in the same message).
    • Encoding of message headers with user defined character encoding using q-encoding.
    • Definition of the error delivery address setting the Return-Path header calling sendmail program directly.
    • Several sub-classes for sending messages by different methods: PHP mail() function, sendmail, qmail, SMTP (with support for authentication and direct delivery mode).
    • Wrappers that emulate the mail() function using the SMTP, sendmail and qmail delivery sub-classes.
    • Support for sending personalized bulk mail by replacing the contents of the message parts that differ for each recipient.
    • HTML and plain text message parts can be composed using template engines. An example that works with Smarty template engine is provided.


Instead of trying to replace everything, a batch script could be created to go fetch the required libraries, which would avoid the packaging and distribution problems. For everything in PEAR, the pear command line utility could be used. The only required thing is a script to grab everything. For all the other libraries, some wget and tar will to the trick. I just hate the idea of having to change stable and tested libraries due to licence problems, especially when there is a possible work around.

  • Access to PEAR repository
  • Access to other web sources
  • Shell and web interface (default in setup.sh and tiki-install.php?)
  • Will require a simple configuration file to identify needed libraries and their location.


Plus! I'm ready to take over the project. --lphuberdeau


  • lib/phplot.php - GPL and PHP License
    Has been removed from 1.9 along with its links to draw the stats graphs
    Damian

History

Information Version
Marc Laporte Link to source code 61
View
Marc Laporte 60
View
Jean-Marc Libs 59
View
Marc Laporte Great slide! 58
View
luci 57
View
luci 56
View
Marc Laporte 55
View
Marc Laporte We had an agreement with author way back. For the future, we are moving all to Zend Framework for this... 54
View
Philippe Cloutier add Problematic inclusions with htmlMimeMail (should probably go on a different page though) 53
View
Marc Laporte 52
View
Philippe Cloutier 51
View
Philippe Cloutier attempt to clarify LGPL situation 50
View
Marc Laporte Thanks Chealer! (I stand corrected) 49
View
Marc Laporte 48
View
Marc Laporte 47
View
Marc Laporte 46
View
Marc Laporte 45
View
Marc Laporte 44
View
Marc Laporte specifying version number 43
View
Kissaki cvs is now svn 42
View
Marc Laporte updated links 41
View
Greg Martin cleaned up some comments rerlating to not so "recent" events. 40
View
Marc Laporte better link 39
View
Marc Laporte typo 38
View
Marc Laporte 37
View
  • «
  • 1 (current)
  • 2