JCL Licensing

From Project JEDI Wiki
Jump to navigationJump to search

Licensing

The license we chose for all Project JEDI code was the Mozilla Public License ("MPL") version 1.1. Additionaly the JCL team decided to use a MPL/GNU Lesser General Public License dual licensing scheme. Currently large parts of the JCL are still under MPL only license. Please refer to the headers of all JCL units you are using to see which licensing scheme they use.

Mozilla is the Open Source initiative formulated by Netscape for the next generation of their web browsers. Netscape states "We believe this license satisfies the Debian Free Software Guidelines which provide a commonly accepted definition of "free software," much like other free software licenses such as GPL or BSD."

Project JEDI's implementation of the MPL allows developers to use its code in their applications ("Larger Work") regardless of whether the intended distribution will be in the public domain or as commercial applications, as long as the licence conditions are met. For a more detailed explanation, an annotated version of the MPL is available.

Dual licensing FAQ

Q: Why is the dual license approach necessary?

A: In our opinion the JCL source should be and stay a resource available to everyone within the Object Pascal community - not just the ones who have the money to pay for the commerical Kylix products - and we want to encourage developers to add to the source for the benefit of all. Unfortunately the GPL and the MPL are mutally exclusive so Kylix Open Edition users would not be able to use it at all. Furthermore a lot of Linux libraries are under GPL and people who want to use them need to be able to put their source under GPL as well. Regarding the MPL/LGPL incompatabilies the Mozilla Project - creaters of the MPL - state the following:

 After the NPL and MPL were created, the Free Software Foundation stated that
 the NPL and MPL were "incompatible" with the GPL. "Incompatibility" in this
 context means that (in the opinion of the FSF) developers who combined code
 licensed under the NPL (or MPL) with code licensed under the GPL and
 distributed the resulting work could not do such distribution without
 violating the terms of the GPL.
 Given that the LGPL contains similar language to the GPL, if the MPL were in
 fact incompatible in this way with the GPL, it would arguably be incompatible
 with the LGPL as well. 

(The LGPL allows code released under LGPL terms to be combined in certain specified ways with code released under non-LGPL terms, as for example when releasing an application using a library consisting of code released under the LGPL. However the relevant LGPL provisions do not address all possible ways in which code released under the MPL and code released under the LGPL could be combined to form a larger work. In particular, when linking Mozilla source files directly into a library released under the LGPL, e.g., to extend the functionality of that library, the effect of the LGPL terms, and any potential license incompatibilities that might arise, appear to be similar to those associated with the GPL.)

It is unclear whether a developer could be successfully sued for copyright infringement on grounds related to these perceived license incompatibilities. However, to eliminate possible uncertainties concerning this question, and to address the concerns of developers who wished to use Mozilla code in applications whose code was otherwise licensed under the GPL or LGPL, we decided to seek relicensing of the Mozilla code to address the perceived license incompatibilities for both the GPL and the LGPL.

As a matter of interest the Mozilla Project is relicensing its sources as well at the moment.

Q: What happens if a donor doesn't give permission for MPL/LGPL dual licensing?

A: In that case the original author gave as permission to use his source under the rules of the MPL already. The relating JCL unit will stay MPL licensed solely until we find a proper replacement. Please be aware that such MPL only units can't be legally linked together with GPL/LGPL source. So if you decide to use a MPL only unit you're forced to use the whole JCL under the rules of the MPL.

Q: Isn't the LGPL a very unfree license?

A: The JCL Team doesn't judge such rather philosophical questions. JEDI always had some kind of commitment to the commercial (proprietary) software developers. This hasn't changed. The LGPL is just an extenstion to face the realities on Linux and to allow GPL supporters the use of the JCL. We are going to extend our user base and are not limiting it.

Q: Will you accept MPL or LPGL only donations to the JCL?

A: No.

Q: Will the JCL ever become GPL only?

A: No.

Q: I want to grant permission for the relicensing. What should I do now?

A: All code that is submitted will be released under the terms of the Mozilla Public License and the terms of the GNU Lesser General Public license. We would like to send an email to JCL@delphi-jedi.org stating that you agree to the relicensing. We would like to ask you to use the following prepared statement.

I hereby grant Project JEDI permission to include my donations as part of the JCL under the Mozilla Public License (MPL) and under the GNU Lesser General Public License (LGPL). If any further relicensing may take effect I want to be asked for permission again. It may be that future developments make it necessary to add other licenses (e. g. a tripple license approach). Therefore we would ask you to give us permission to release your code under any license certified by the Open Source Initiative (www.opensource.org). Such developments may be, for instance, porting to other operating systems, changes to the GPL/LGPL by the Free Software Fundation etc. In any case our commitment to the MPL/LGPL dual license approach stays alive. If you don't want to be disturbed by such developments we would like to ask you to use the following statement or something similar.

I hereby grant Project JEDI permission to include my donations as part of the JCL under the Mozilla Public License (MPL) and under the GNU Lesser General Public License (LGPL). If any further relicensing may take effect I want to be asked for permission again unless the license which is added to the license scheme is certified by the Open Source Initiative (www.opensource.org).

Q: How does the relicensing take effect?

A: The relicensing will be done on a step by step basis. As soon as we have permission from all the authors of a particular unit this unit will become MPL/LGPL dual licensed as long as all other JCL units it links to are MPL/LGPL dual licensed as well. Dual licensed units will have the following license header:

 {******************************************************************************}
 {                                                                              }
 { Project JEDI Code Library (JCL)                                              }
 {                                                                              }
 { The contents of this file are subject to the Mozilla Public License Version  }
 { 1.1 (the "License"); you may not use this file except in compliance with the }
 { License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ }
 {                                                                              }
 { Software distributed under the License is distributed on an "AS IS" basis,   }
 { WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
 { the specific language governing rights and limitations under the License.    }
 {                                                                              }
 { Alternatively, the contents of this file may be used under the terms of the  }
 { GNU Lesser General Public License Version 2.1 (the "LGPL License"), in which }
 { case the provisions of the LGPL License are applicable instead of those      }
 { above.                                                                       }
 {                                                                              }
 { If you wish to allow use of your version of this file only under the terms   }
 { of the LGPL License and not to allow others to use your version of this file }
 { under the MPL, indicate your decision by deleting the provisions above and   }
 { replace them with the notice and other provisions required by the LGPL.      }
 { If you do not delete the provisions above, a recipient may use your version  }
 { of this file under either the MPL or the LGPL License.                       }


If you have any questions regarding the license extension please feel free to contact us. Please understand that we cannot give any legal advice regarding the mentioned open source licenses.

IMPORTANT: This document is for your information only. It is not intended as legal advice. If you need legal advice regarding your rights and obligations with regard to one of the mentioned open source licenses, then you should consult an attorney with expertise in software licensing.