-
Notifications
You must be signed in to change notification settings - Fork 599
OpenPDF License MPL LGPL background info
OpenPDF is dual licensed with the Mozilla Public License Version 2.0 and GNU Library General Public License 2.1.
The OpenPDF license is found here: License.md.
More about these licenses:
OpenPDF is open source software. More about that on Wikipedia: "Open-source software (OSS) is a type of computer software whose source code is released under a license in which the copyright holder grants users the rights to study, change, and distribute the software to anyone and for any purpose.[1] Open-source software may be developed in a collaborative public manner. According to scientists who studied it, open-source software is a prominent example of open collaboration.[2] The term is often written without a hyphen as "open source software"."
OpenPDF was forked from iText, which is open source software originally released with a LGPL and MPL license. In 2009 iText changed from MPL/LGPL to AGPL license. The fork was created by ymarsory on github.com/ymasory on 31 Aug 2010, based on iText svn tag 4_2_0 which was hosted publicly on sourceforge at https://sourceforge.net/p/itext/code/HEAD/tree/tags/iText_4_2_0. The tag was created with the commit message "This is the final version of iText available as an MPL/LGPL library." and the version 4_2_0, indicating the intention to release this as the final version of iText with a MPL/LGPL library.
The iText 4_2_0 svn tag contained both a LGPL and MPL license file, where the LGPL file was hosted on sourceforge at: https://sourceforge.net/p/itext/code/HEAD/tree/tags/iText_4_2_0/www/lowagie/lgpl.txt - the same file is hosted on github as: https://github.com/ymasory/iText-4.2.0/blob/master/www/lowagie/lgpl.txt and https://github.com/ymasory/iText-4.2.0/blob/master/src/core/com/lowagie/text/lgpl.txt
The Java source code also contained MPL and LGPL headers, for example: https://github.com/ymasory/iText-4.2.0/blob/master/src/core/com/lowagie/text/pdf/PdfArray.java
The iText 4_2_0 svn tag was listed on the public Sourceforge repository and the list of svn tags can be viewed here on archive.org. The iText 4_2_0 svn tag contained the following commit log message:
Unofficial release. This is the final version of iText available as an MPL/LGPL library. This release is not jarred, nor officially released on the iText web site. If you need it, you'll have to compile your own jar files.
The next version will be iText 5. The main changes will be:
- The license will be AGPL.
- package names will change from com.lowagie to com.itextpdf.
- jars will be compiled with JDK 5.
- iText will be PDF only.
- the old tutorial example will be replaced with new book examples.
iText switched to a dual commercial and AGPL license on Dec 1, 2009 when iText version 5 was released. More about the AGPL here: https://en.wikipedia.org/wiki/Affero_General_Public_License More about the pricing of iText here: https://itextpdf.com/commercial
iText included a file called TestResourceUtils.java in the iText 4_2_0 svn tag, with the commit message "Migrating unit tests to new package and folder structure". The license of this file and these commits is unclear if it is licenced under a dual LGPL/MPL or AGPL license, as described in issue. Therefore this file and units tests is not included in OpenPDF releases, and is not in the master branch of OpenPDF. Either way if TestResourceUtils.java has a LGPL/MPL or AGPL license, hosting the file on Github as open source source code is in compliance with either of these licenses, as both LGPL/MPL and AGPL files can be shared as open source software in compliance with the respective license. iText also included TestResourceUtils in the 4.2.0 tag, which had the LGPL and MPL licence files lgpl.txt and mpl.txt in it, hosted publicly on sourceforge. TestResourceUtils.java is not in use in any OpenPDF relases and not in the master branch of OpenPDF on Github.
The iText 4.2.0 unofficial release is very similar to the iText 2.1.7, released on Mar 8, 2009, which is still available on https://github.com/itext/itextpdf/archive/2.1.7.zip as of June 2018.
More information about the LGPL and MPL license of iText here: "iText was originally published by me (Bruno Lowagie) as LGPL (very different from GPL! Especially less viral). because of some quirky details in the LGPL, people developing commercial products using iText asked me to move to a less strict license. That's why I made iText multiple licensed. iText can be used under MPL too. As a matter of fact, new iText users are recommended to use the MPL. The LGPL is only kept for backwards compatibility. I published iText as a Free / Open Source Software Library because I want to encourage people to use iText in their project, even if it concerns closed source or propriety software."
Source code review for license of each source code file: We have done a review of the source code in OpenPDF with regards to the licenses of the source code. We strive towards having OpenPDF consist of files which are purely LGPL and MPL licenses. Since OpenPDF is a fork of an older software library (iText svn tag 4.2.0) which was created by other developers, there was and still is a risk that some source code had unknown origins which could not be used under a LGPL/MPL license. This is something we have adressed in this issue: https://github.com/LibrePDF/OpenPDF/issues/89 As a result of this work, we have replaced some source code which had other open source licenses, such as the BSD and Apache Licenses for open source software. We have also collected permission from developers where the license of the source code was unclear. Source code without a clear LGPL / MPL license have either been removed or replaced by using open source libraries instead. We have also reviewed the commit history of iText between versions 2.1.7 and 5.1 for instances of source code which has been removed for licensing issues. So we are continually working on making sure that OpenPDF contains source code which can be used with a LGPL / MPL license.
If you have questions about the license of OpenPDF, then please file a Github issue and we will be happy to have a discussion about it.
OpenPDF is open source software, relased under the Mozilla Public License Version 2.0 and GNU LIBRARY GENERAL PUBLIC LICENSE.