I require clarity on using a Reciprocal Public Licensed (RPL) assembly in my project.

I want to use a RPL c++ code-assembly in my .net application. I plan to make no changes to the RPL assembly itself, but only link said assembly to my .net application to call its methods.

  • Does my proposed usage require that I make all my .net applications source code available publicly ?
  • and does the RPL license have any commercial limitations with my proposed usage of the RPL assembly?
  • 1
    The license rings a bell, but I can't remember from where. I've never used it, but for some reason, there's a thought in my head it's worse than the gpl... – Zizouz212 Apr 7 '16 at 0:04
  • @Zizouz212 It's just a thought, but a moderator of Open Source SE might want to be careful with terms like "worse than the GPL". – MadHatter Apr 11 '16 at 17:42
  • @MadHatter Yeah, your argument has reason. I'll try to stop myself, no matter how difficult that may prove to be :) – Zizouz212 Apr 11 '16 at 18:07
  • @Zizouz212 you're a hero - good luck! – MadHatter Apr 11 '16 at 22:28

The Reciprocal Public License defines the notion of an "Extension":

"Extensions" means any Modifications, Derivative Works, or Required Components as those terms are defined in this License.

and also specified what "Derivative Works" means:

"Derivative Works" as used in this License is defined under U.S. copyright law.

The relevant section in the requirements of the RPL, section 6.1, states:

You must make available, under the terms of this License, the Source Code of any Extensions that You Deploy, via an Electronic Distribution Mechanism...

If, under U.S. copyright law, your larger work is indeed a derivative work of the code you're linking to, then your larger work is an Extension. Whenever you Deploy it (i.e., any distribution, and virtually any use within an organization, even privately), you must make your source code available (apparently to the public at large; I could not find clarification on who must be given access to the source).

The license forbids charging for distribution of the source code of Extensions beyond actual distribution costs:

You may not charge a fee for the Source Code distributed under this Section in excess of Your actual cost of duplication and distribution.

Presumably, you could charge for the binaries, but you'd also be required to publicize the existence of the free-of-charge source code at the same time.

  • If it mentions that it uses US law definitions, it'll run into problems elsewhere. Looks toxic. – vonbrand Apr 8 '16 at 23:47
  • I think that problem could be sorted if the license specify US jurisdiction. – ESL Apr 11 '16 at 16:27

From reading the RPL, probably the most you might have to make available would be the wrappers and adapters needed to make the library's C++ interface available in C#. You will want to get the opinion of a good lawyer who deals with open-source licenses, though, because the RPL's written in a way that suggests it's intended for applications, servers or frameworks and the intent is that you can't add additional functionality to the covered software and not make them available to everybody else who uses the covered software. That makes the language fit badly when applied to a library where it's on the other end of the "extension" idea from what the license text seems to assume. That ambiguity should be enough reason to avoid the library until you can get a better evaluation.

Commercial use doesn't seem to be a problem in itself, the license doesn't treat commercial use differently than non-commercial use.

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.