4

I would like to know if the Open Public License (OPL) allows library being bundled together or be a part of other code covered by other license (e.g. standard copyright - closed source code).

I found these relevant parts:

1.7. "Larger Work" means a work, which combines Covered Code or portions thereof with code not governed by the terms of this License.

.

3.7. Larger Works.
You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.

I thought that would mean that a binary using code under OPL may be under any license and only the portion of the code under OPL must be made accessible.

But then I found this paper:

Class C - Unbounded Copyleft Licenses.This class of FOSS licenses can be the most problematic to use commercially because these licenses require that all combined files—even those not containing FOSS code at all—must be licensed under the same license as the FOSS project. This class of “unbounded” copyleft licenses presumes that the derivative works will become part of a compiled program. Based on this assumption, the licenses require that any new code (modified or not) from the FOSS project is required to use the same license. Philosophically, supporters of this class of strong, unbounded copyleft licenses included this viral requirement to promote the availability of free software and to allow licensed projects to become sources of additional, same-licensed FOSS code. Examples of this include GNU GPL(Version 2 and 3), Common Public License, and Open Public License.

2
  • You may want to look at the differences between the OPL and the LGPL
    – ivanivan
    Commented Sep 4, 2019 at 20:53
  • 1
    @ivanivan I tried searching for the explanation of differences, but I didn't find anything. Only a lot of GPL vs LGPL, mentions of OPL are generally quite rare. I don't think comparing full text of those two licenses would help me, because I obviously can't correctly comprehend even one (English is not my native language and sometimes I have trouble understanding legal texts in my native language). I was looking at OPL because I read it may require crediting library author in final product, I don't believe LGPL allows such thing.
    – menfon
    Commented Sep 5, 2019 at 8:34

2 Answers 2

8
+150

Note that the FSF does not consider the Open Public License a free software license. Importantly, it requires a developer to send modified code to a single upstream developer, which prohibits sharing of the code privately between two parties, and it fails the "desert island" test meaning that people who cannot communicate with the upstream developer, due to reasons of infrastructure or censorship, cannot legally distribute the software in a modified form.

The OPL has a per-file copyleft; see analysis below. If you are considering using the Open Public License, please know that you would be much better served by choosing a library-friendly license approved by the FSF and OSI, such as the LGPL or MPL 2.0. Free software developers may avoid contributing to your library as a matter of principle, and they may avoid using it as a practical matter, because they want GPL compatibility or because they wish to privately sell or share their modifications with a particular person without giving a copy to the original developer.


This is not legal advice, but based on my non-expert reading, the Open Public License appears to have a per-file copyleft, similar to the Mozilla Public License, so changes to an OPL-licensed file fall under source-sharing requirements for that file, but source-sharing requirements do not extend to other files within a work that contain no OPL-licensed material. The core basis for this is in section 1.9, which defines "Modifications":

1.9. "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:

A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.

B. Any new file that contains any part of the Original Code or previous Modifications.

So long as your project is divided into files, then any file which contains no "Original Code" nor any "Modifications" from previous authors (i.e., your code in some file is either your own or governed by an entirely different license) does not incur obligations under section 3 of the OPL, which apply to only Original Code and Modifications.

Therefore, as long as your library is contained in separate files, OPL obligations on that library do not affect your larger work.

As for the specific language about "Larger Work", the license says only that (emphasis mine)

You must make sure the requirements of this License are fulfilled for the Covered Code.

but "Covered Code" is defined in 1.3 as being only

the Original Code or Modifications or the combination of the Original Code and Modifications

and since new work in separate files are neither Original Code nor Modifications, they are not Covered Code, and therefore the language about Larger Works does not apply to them.


Again, there are more popular and less onerous licenses that have nearly identical practical effect, such as the LGPL. If you are making the licensing decision for your own software, please consider a different license.

0

I was checking up on the website you gave us in your question, and in the sub-license section it says;

Describes the ability for you to grant/extend a license to the software.

I believe this would mean that you can publish your library, and people would be able to use it in "third party" projects.

Sorry if this didn't help, its kind of hard to tell what you mean because you didn't give much detail about your library, etc.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.