Contributor’s Agreement for Plone Explained¶
Prospective contributors to the Plone core code base are required to sign a contributor’s agreement, which assigns copyright in the code to the Plone Foundation, the non-profit organization which stewards the Plone code base. This document explains the purposes of this, along with questions and answers about what this means.
The Plone Contributor Agreement can be found at: https://plone.org/foundation/contributors-agreement/agreement.pdf
About the Plone Contributor Agreement¶
The Foundation feels that it benefits the community for a single organization to hold the rights to Plone. Prior to the Foundation, the intellectual property of Plone was jointly held by individual developers and by Alan Runyan and Alexander Limi. The community members who formed the Foundation felt that having the Foundation hold these rights provides several benefits:
- Minimizing confusion / maximizing business compatibility -- Organizations considering adopting Plone have a simple answer for "Who owns this?", rather than a more complicated answer that might scare away the legally-cautious.
- Trademark protection -- By having the Foundation hold the trademarks and rights to the Plone branding assets, it can effectively protect these from unfair use.
- Guarantee of future Open Source versions -- The Foundation's contributor agreement ensures that there will always be an OSI- approved version of Plone.
Questions & Answers¶
What does the contributor's agreement cover?
This agreement is for the Plone core codebase only. The Plone core codebase is that code which lives in the Plone core version repositories, currently located at http://dev.plone.org/plone and https://github.com/plone. Contributions to the "Collective," currently located at http://dev.plone.org/collective and https://github.com/collective are not assigned to the Plone Foundation, and are made available under whatever license the project developers wish to use, although add-on products that import from GPLed Plone code are of course subject to the terms of the GPL, which requires derived works to be GPL licensed.
What rights will I continue to have for my contributions?
Contributors are asked to transfer their intellectual property rights to the Foundation. In return, they will be given back irrevocable rights to use and distribute their contributions. They can even give their contributions to other Open Source projects (as long as those projects are compatible with the license Plone itself is issued under) or use them in non-Open Source commercial applications (if that is compatible with the license Plone is under).
- Do I have to sign the contributor's agreement to make checkins to the Plone core codebase?
- Yes.
Do I have to sign the contributor's agreement to submit a patch to the Plone core codebase?
We enthusiastically welcome patches, but we can't merge them until you sign and return a contributor's agreement. (Unless, in the judgement of the Plone Release Manager, the patch is so tiny as not to constitute a "creative work." See the Policy for Contributor Agreements and Patches for more detail on this policy.)
Can I grant the Plone foundation a non-exclusive license to my contributions rather than an exclusive license, so that I can contribute the same code to other projects under different terms or use the contribution for other commercial endeavors?
Not under the current version of the contributors agreement.
Does the Foundation control use of the Plone trademark?
Yes. In order to keep the trademark, the Foundation (or any trademark owner) must demonstrate that they have acted to protect it.
Will Plone always be available under an OSI-approved/Open Source license? Couldn't the Board change its mind about this?
Plone will always be available under an OSI-approved license; this is written into the language of the contributor agreement each developer and the foundation sign.
Will Plone ever be available under a non-GPL license?
The current Plone approach states that companies can negotiate a non-GPL license. Thus, the Foundation might pursue a dual-licensing (GPL and non-GPL) scheme - but, at this time, the Board has not yet created any policies on this. This is an important question for the community, of course, and the Foundation intends to have this conversation in a transparent way.
Why would anyone want a non-GPL Plone?
Two possible reasons: Some companies are reluctant to do in-house modifications of framework-like systems (such as Plone) that are under the GPL, fearing that a clause in the GPL might force them to disclose their internal work - thus wanting to license it under (for example) a BSD-style license. Second, companies may wish to offer a commercial version of Plone, under a conventional shrink-wrap license, without the obligation to reveal source code or share changes.
How much would a non-GPL version of Plone cost?
Would a small company be able to afford one? -- Neither the Foundation nor the Board have made any decisions about a non-GPL version, let alone about pricing. However, one of the Foundation's stated goals is to maintain a level playing field for Plone while trying to benefit all of the Plone commons. If a non-GPL version was available, and a large company bought it, added features to it, and sold it, wouldn't they be using our work without an obligation to give back? It's helpful to remember the core value open source provides: distributed development, maintenance, security checking, and support. Companies that build large features for Plone are already having to make decisions of whether to release their products under an open source license or not (since they could always release them as a Product, not as a modification to the Plone core). Despite this, though, many large and excellent contributions - such as Archetypes - have been made, and the Foundation hopes that companies will continue to do so. In any event, a company that purchases a non-GPL license (should such ever become available) is contributing financial resources to our community, which can be used to further develop, market, and protect the GPL version of Plone.