Revision 1 as of 2004-11-22 05:07:55

Clear message

There has been a fair amount of confusion in the Python community about the PSF License and the process through which code can be contributed into Python and its standard libraries. Here are some of the facts I've been able to glean from discussion.

How do I use the PSF License?

The PSF license was developed specifically and only for Python and its standard libraries. Many projects on Source Forge and elsewhere have adopted it, but not always in an appropriate way. If you feel the PSF License is the one to use with your code, you must change the following parts of the license:

This includes altering the copyright notice in paragraph 2. The author of the work holds the copyright, not the PSF. While you could transfer copyright to the PSF, that requires a legal process and in most cases the PSF has no interest or reason to accept the copyrights of works outside of Python and its standard libraries.

Note that the PSF license consists only of the top license in the "license stack" that is included in Python. The current (as of this writing) version of the PSF license is PythonSoftwareFoundationLicenseV2Easy. When using the PSF License with your project, you should never include the other parts of the Python license stack, such as the CNRI license or Guido's biography. Python has that history, but your code does not!

What if I want to contribute my code to the PSF?

The PSF does not want contributions of any code other than that which will end up in Python or its standard libraries.

If your code is going to end up in Python or the standard library, the PSF will require you to:

Why can't I contribute code under the PSF License?

The initial open source license under which the contribution is released to the PSF is the legal agreement that grants most of the rights the PSF will have to that code. The contribution agreement itself just gives the PSF the right to relicense the contributed code before distributing it further.

For this reason, and in order to protect contributions from future claims, the PSF requires that the initial open source license contain a clause that specifically grants the right to use patents owned now or in the future by the contributor.

While it seems somewhat ironic that the PSF license cannot be used as the initial license on contributions, the approach does make sound legal sense.

Who signs the contributor agreement?

If the contributor is an employee, then the company should sign the contributor agreement unless (1) the company authorized the employee to make the contribution under his/her own name, or (2) the employee's contribution was independently created outside the scope of his employment. If the contributor is a contractor rather than an employee, then he/she may make the contribution unless his/her contract with the company says otherwise.

When in doubt, a potential contributor should as their attorney or manager. Ordinarily it is up to the company to train its employees and contractors and to enforce its own policies and contracts; anything else may be their own "negligent supervision."

Unable to edit the page? See the FrontPage for instructions.