Community

About the Django Contributor License Agreement

With the creation of the Django Software Foundation (DSF), everybody who contributes (or has contributed) code to Django is going to be asked to sign a Contribute License Agreement (CLA). Django's CLA is a copy of the one used by the Apache Software Foundation for all contributions to their projects. This particular agreement has been used by other software projects in addition to Apache and is generally accepted as reasonable within the Open Source community.

Every contributor of non-trivial amounts of code (more than just a line or two) to Django will be required to sign such a document. If somebody is unable to sign the document, their contribution (whether it be code, or documentation or string translations) will need to be removed from Django.

The document you are reading now is not a legal analysis of the CLA. If you want one of those, please talk to your lawyer. This is a description of the purpose of the CLA.

Why is a signed CLA required?

The license agreement is a legal document in which you state you are entitled to contribute the code/documentation/translation to Django and are willing to have it used in distributions and derivative works. This means that should there be any kind of legal issue in the future as to the origins and ownership of any particular piece of code, the DSF has the necessary forms on file from the contributor(s) saying they were permitted to make this contribution.

The CLA also ensures that once you have provided a contribution, you cannot try to withdraw permission for its use at a later date. People and companies can therefore use Django, confident that they will not be asked to stop using pieces of the code at a later date.

Being able to make a clear statement about the origins of the code is very important as Django is adopted by large organizations who are necessarily cautious about adopting products with unknown origins. We wish for Django to be used and distributed as widely as possible and in order to do this with confidence, we need to be sure about the origins and continuing existence of the code.

Am I giving away the copyright to my contributions?

No. This is a pure license agreement, not a copyright assignment. You still maintain the full copyright for your contributions. You are only providing a license to the DSF to distribute your code without further restrictions. This is not the case for all CLA's, but it is the case for the one we are using.

What about if I do Django development as part of my job?

If any of your contributions to Django are created as part of your employment by somebody else, the work might not actually belong to you. It may be owned by your employer. In that case, your employer, or somebody able to represent the company as far as licensing goes, needs to sign the corporate version of the Content Licensing Agreement in order for that contribution to be accepted into Django. They will need to include the names of any developers (you and any others covered by that agreement) who are able to submit contributions on behalf of the employer. That list can be updated as new people are employed or others leave.

You should also still sign an individual CLA in that case. Not all the work you do will necessarily belong to your employer and we still need permission to license your individual contributions.

If you have signed an individual CLA, but not a corporate one, be very careful about submitting contributions you have made. We cannot accept anything that you do not have the rights to license in the first place and that includes code that belongs to your employer. Similarly, if you are a consultant who may be creating Django patches as part of a job, make sure you and your employer understand who owns the rights to the code. Only submit things that you are entitled to. The CLA is a legal declaration by you that you have the right to grant such a license for your contributions. It is up to you to make sure that is true.

Does the CLA exist in languages other than English?

We might at some point have the agreement translated into a few languages other than English. However, those copies will be advisory only. It is the English language version that must be signed and returned to the DSF; only the English version is considered valid.

Can I withdraw permission to use my contributions at a later date?

No. This is one of the reasons we require a CLA. No individual contributor can hold such a threat over the entire community of users. Once you make a contribution, you are saying we can use that piece of code forever.

Can I submit patches without having signed the CLA?

No. We will be asking all new contributors and patch submitters to sign before they submit anything substantial.

Trivial patches like spelling fixes or missing words in the documentation won't require an agreement, since anybody could do those. However, almost anything will require a CLA.

So where do I sign? What's next?

  1. Download a copy of the CLA:
  2. Print out the CLA and sign it.
  3. Send the CLA to the Django Software Foundation by scanning and emailing the document to cla@djangoproject.com.


Copyright Django Software Foundation. CC-BY..