2

I'm looking into the rules of the Common Public License and am wondering how far it's copyleft-ness extends. AFAIK: With LGPL you can keep the library you wish to use in a separate .dll or .so, dynamically link you code against it and keep your program's source code undisclosed. When reading about CPL I came across this sentence on Wikipedia:

CPL, like the GNU Lesser General Public License, allows non-CPL-licensed software to link to a library under CPL without requiring the linked source code to be made available to the licensee.

My understanding is, that the situation is the same as with LGPL. You are allowed to dynamically link to it and not disclose you own source code. However, dynamic linking is not actually specifically mentioned. So could it be, that CPL allows you to also statically link the CPL licensed library and keep your source code unpublished?

1 Answer 1

3

You might be aware that CPL 1.0 is depreciated. If you are looking at code under CPL it is likely very old, so please check if you really want to use it as it might no longer be maintained.

CPL uses confusing definitions w.r.t. "Contributor" and "Contribution", the overlap is smaller that one would expect.

It is also important to understand the definition of "Program", which is the combination of all current Contributions, but it is not the entire project.

Unlike GPL, CPL does not have far reaching definitions of 'derivative work'. It is broadly assumed that linking (static and dynamic) is not covered by the definitions of Contribution, i.e 'changes to the Program' and 'additions to the Program' (Note 1), and only the source code of the Program needs to be distributed, not the source code of the entire project.

You can therefore go ahead with both static and dynamic linking of the CPL-licensed library.

Note 1: I am not aware of any court case in which this assumption has been finally verified and confirmed.

1
  • Straight to the point with valuable side information. Many Many thanks.
    – FrostKiwi
    Aug 29 at 0:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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