mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-23 07:12:41 +01:00
Document the CLA in more detail
Summary: Provide a long-form description of why we require a CLA and the distinction between the individual and corporate CLAs. See Q219 and Q97. Test Plan: Reading. Reviewers: chad Reviewed By: chad Differential Revision: https://secure.phabricator.com/D14578
This commit is contained in:
parent
f3e6a57794
commit
eb62a98e0f
1 changed files with 169 additions and 0 deletions
169
src/docs/contributor/cla.diviner
Normal file
169
src/docs/contributor/cla.diviner
Normal file
|
@ -0,0 +1,169 @@
|
||||||
|
@title Understanding the Phacility CLA
|
||||||
|
@group detail
|
||||||
|
|
||||||
|
Describes the Contributor License Agreement (CLA).
|
||||||
|
|
||||||
|
Overview
|
||||||
|
========
|
||||||
|
|
||||||
|
IMPORTANT: This document is not legal advice.
|
||||||
|
|
||||||
|
Phacility requires contributors to sign a Contributor License Agreement
|
||||||
|
(often abbreviated "CLA") before we can accept contributions into the upstream.
|
||||||
|
This document explains what this document means and why we require it.
|
||||||
|
|
||||||
|
This requirement is not unusual, and many large open source projects require a
|
||||||
|
similar CLA, including Python, Go, jQuery, and Apache Software Foundation
|
||||||
|
projects.
|
||||||
|
|
||||||
|
You can read more about CLAs and find more examples of companies and projects
|
||||||
|
which require them on Wikipedia's
|
||||||
|
[[ https://en.wikipedia.org/wiki/Contributor_License_Agreement | CLA ]] page.
|
||||||
|
|
||||||
|
Our CLA is substantially similar to the CLA required by Apache, the
|
||||||
|
"Apache Individual Contributor License Agreement V2.0". Many projects which
|
||||||
|
require a CLA use this CLA or a similar one.
|
||||||
|
|
||||||
|
|
||||||
|
Why We Require a CLA
|
||||||
|
====================
|
||||||
|
|
||||||
|
While many projects require a CLA, others do not. This project requires a CLA
|
||||||
|
primarily because:
|
||||||
|
|
||||||
|
- it gives us certain rights, particularly the ability to relicense the work
|
||||||
|
later;
|
||||||
|
- it makes the terms of your contribution clear, protecting us from liability
|
||||||
|
related to copyright and patent disputes.
|
||||||
|
|
||||||
|
**More Rights**: We consider the cost of maintaining changes to greatly
|
||||||
|
outweigh the cost of writing them in the first place. When we accept work
|
||||||
|
into the upstream, we are agreeing to bear that maintenance cost.
|
||||||
|
|
||||||
|
This cost is not worthwhile to us unless the changes come with no strings
|
||||||
|
attached. Among other concerns, we would be unable to redistribute Phabricator
|
||||||
|
under a different license in the future without the additional rights the CLA
|
||||||
|
gives us.
|
||||||
|
|
||||||
|
For a concrete example of the problems this causes, Bootstrap switched from
|
||||||
|
GPLv2 to MIT in 2012-2013. You can see the issue tracking the process and read
|
||||||
|
about what they had to go through to do this here:
|
||||||
|
|
||||||
|
https://github.com/twbs/bootstrap/issues/2054
|
||||||
|
|
||||||
|
This took almost 18 months and required a huge amount of effort. We are not
|
||||||
|
willing to encumber the project with that kind of potential cost in order to
|
||||||
|
accept contributions.
|
||||||
|
|
||||||
|
The rights you give us by signing the CLA allow us to release the software
|
||||||
|
under a different license later without asking you for permission, including a
|
||||||
|
license you may not agree with.
|
||||||
|
|
||||||
|
They do not allow us to //undo// the existing release under the Apache license,
|
||||||
|
but allow us to make an //additional// release under a different license, or
|
||||||
|
release under multiple licenses (if we do, users may choose which license or
|
||||||
|
licesnes they wish to use the software under). It would also allow us to
|
||||||
|
discontinue updating the release under the Apache license.
|
||||||
|
|
||||||
|
While we do not currently plan to relicense Phabricator, we do not want to
|
||||||
|
give up the ability to do so: we may want or need to in the future.
|
||||||
|
|
||||||
|
The most likely scenario which would lead to us changing the license is if a
|
||||||
|
new version of the Apache license is released. Open source software licenses
|
||||||
|
are still largely untested in the US legal system, and they may face challenges
|
||||||
|
in the future which could require adapting them to a changing legal
|
||||||
|
environment. If this occurs, we would want to be able to update to a newer
|
||||||
|
version of the license which accounted for these changes.
|
||||||
|
|
||||||
|
It is also possible that we may want to change open source licenses (for
|
||||||
|
example, to MIT) or adopt dual-licensing (for example, both Apache and MIT). We
|
||||||
|
might want to do this so that our license is compatible with the licenses used
|
||||||
|
by other software we want to be distributed alongside.
|
||||||
|
|
||||||
|
Although we currently believe it is unlikely, it is also possible we may want
|
||||||
|
to relicense Phabricator under a closed, proprietary, or literally evil license.
|
||||||
|
By signing the CLA, you are giving us the power to do this without requiring
|
||||||
|
you to consent. If you are not comfortable with this, do not sign the CLA and
|
||||||
|
do not contribute to Phabricator.
|
||||||
|
|
||||||
|
**Limitation of Liability**: The second benefit the CLA provides is that it
|
||||||
|
makes the terms of your contribition explicitly clear upfront, and it puts us
|
||||||
|
in a much stronger legal position if a contributor later claims there is
|
||||||
|
ambiguity about ownership of their work. We can point at the document they
|
||||||
|
signed as proof that they consented to our use and understood the terms of
|
||||||
|
their contribution.
|
||||||
|
|
||||||
|
//SCO v. IBM// was a lawsuit filed in 2003 alleging (roughly) that IBM had
|
||||||
|
improperly contributed code owned by SCO to Linux. The details of this and the
|
||||||
|
subsequent cases are very complex and the situation is not a direct parallel to
|
||||||
|
anything we are likely to face, but SCO claimed billions of dollars in damages
|
||||||
|
and the litigation has now been ongoing for more than a decade.
|
||||||
|
|
||||||
|
We want to avoid situations like this in the future by making the terms of
|
||||||
|
contibution explicit upfront.
|
||||||
|
|
||||||
|
Generally, we believe the terms of the CLA are fair and reasonable for
|
||||||
|
contributors, and that the primary way contributors benefit from contributing
|
||||||
|
to Phabricator is that we publish and maintain their changes so they do not
|
||||||
|
have to fork the software.
|
||||||
|
|
||||||
|
If you have strong ideological reasons for contributing to open source, you may
|
||||||
|
not be comfortable with the terms of the CLA (for example, it may be important
|
||||||
|
to you that your changes are never available under a license which you haven't
|
||||||
|
explicitly approved). This is fine and we can understand why contributors may
|
||||||
|
hold this viewpoint, but we can not accept your changes into the upstream.
|
||||||
|
|
||||||
|
|
||||||
|
Corporate vs Individual CLAs
|
||||||
|
============================
|
||||||
|
|
||||||
|
We offer two CLAs:
|
||||||
|
|
||||||
|
- {L28}
|
||||||
|
- {L30}
|
||||||
|
|
||||||
|
These are both substantially similar to the equivalent Apache CLAs.
|
||||||
|
|
||||||
|
If you own the work you are contributing, sign the individual CLA. If your
|
||||||
|
employer owns the work you are contributing, have them sign the corporate CLA.
|
||||||
|
|
||||||
|
**If you are employed, there is a substantial possibility that your employer
|
||||||
|
owns your work.** If they do, you do not have the right to contribute it to us
|
||||||
|
or assign the rights that we require, and can not contribute under the
|
||||||
|
individual CLA. Work with your employer to contribute under the corporate CLA
|
||||||
|
instead.
|
||||||
|
|
||||||
|
Particularly, this clause in the individual CLA is the important one:
|
||||||
|
|
||||||
|
> 4. You represent that you are legally entitled to grant the above license. If
|
||||||
|
> your employer(s) has rights to intellectual property that you create that
|
||||||
|
> includes your Contributions, you represent that you have received permission
|
||||||
|
> to make Contributions on behalf of that employer, that your employer has
|
||||||
|
> waived such rights for your Contributions to Phacility, or that your employer
|
||||||
|
> has executed a separate Corporate CLA with Phacility.
|
||||||
|
|
||||||
|
Ownership of your work varies based on where you live, how you are employed,
|
||||||
|
and your agreements with your employer. However, at least in the US, it is
|
||||||
|
likely that your employer owns your work unless you have anticipated conflicts
|
||||||
|
and specifically avoided them. This generally makes sense: if you are paid by
|
||||||
|
your employer for your work, they own the product of your work and you receive
|
||||||
|
salary and benefits in fair exchange for that work.
|
||||||
|
|
||||||
|
Your employer may have an ownership claim on your work even if you perform it
|
||||||
|
on your own time, if you use their equipment (like a company laptop or phone),
|
||||||
|
resources, facilities, or trade secrets, or signed something like an "Invention
|
||||||
|
Assignment Agreement" when you were hired. Such agreements are common. The
|
||||||
|
details of the strength of their claim will vary based on your situation and
|
||||||
|
local law.
|
||||||
|
|
||||||
|
If you are unsure, you should speak with your employer or a lawyer. If you
|
||||||
|
contribute code you do not own under the individual CLA, you are exposing
|
||||||
|
yourself to liability. You may also be exposing us to liablity, but we'll have
|
||||||
|
the CLA on our side to show that we were unwilling pawns in your malicious
|
||||||
|
scheme to defraud your employer.
|
||||||
|
|
||||||
|
The good news is that most employers are happy to contribute to open source
|
||||||
|
projects. Incentives are generally well aligned: they get features they want,
|
||||||
|
and it reflects well on them. In the past, potential contributors who have
|
||||||
|
approached their employers about a corporate CLA have generally had little
|
||||||
|
difficulty getting approval.
|
Loading…
Reference in a new issue