Reciprocal Public License
The Reciprocal Public License (RPL) is a software license inspired by the GNU General Public License (GPL) but authored to explicitly remove what some have referred to as the GPL's "privacy loophole"—an aspect of the GPL which allows recipients of GPL'd code to:
- make changes to source code which are never released to the open source community (by virtue of not deploying "to a third party"), and
- to derive financial or other business benefit from that action, violating what some might consider a simple concept of "fairness".
The "R" in RPL stands for "Reciprocal" specifically to call out that this license requires software developers and companies to reciprocate for the benefits they derive from RPL'd software by releasing any extensions or improvements they make regardless of whether those changes deploy internally or to third parties.
Because of its "viral" nature, the RPL is often found in dual-licensing models in which it is paired with more traditional closed-source licenses. This strategy allows software companies who use this model to present customers with a "pay with cash or pay with code" option, ensuring either the growth of the software directly through code contributions or indirectly through cash which can be used to fund further development.
The RPL was written to conform to the requirements of the Open Source Initiative to ensure that it met the goals for an Open Source license, however because of its requirements for reciprocation the RPL holds the unique distinction of being the only software license both approved by the Open Source Initiative and explicitly called out as non-free for matters of substance by the Free Software Foundation (the FSF considers the Artistic License too vague to be definitively free).
The RPL was authored in 2001 by Scott Shattuck, a software architect for Technical Pursuit Inc. for use with that company's TIBET(tm) product line. The latest version of the RPL is version 1.5 published on July 15, 2007.
Open software that uses the RPL
- Active Agenda, an operational risk management web application and rapid application development framework.
- NServiceBus, an asynchronous messaging library for the .NET/Mono platform.