Python Licensing and SPDX License List


Tom Incorvia
 

At the recent SPDX general call, I offered to clarify Python licensing and to suggest standard names. 

 

This set of licenses is messy, and a long discussion is below. There is not a single logical answer.  Here are the compromise recommendations gleaned from the details below:

 

========== Summary  =====================

1.       We work with Van Lindberg to remove the CNRI Python License listed on opensource.org

2.       SPDX removes the CNRI Python license and link from the SPDX Rev-1 list

3.       SPDX deals ONLY with the stack of 4 licenses applicable to Python 2.0.1 through 3.2, and uses the following naming conventions:

-          License Identifier: “Python-2.0”

-          Full Name: “Python Software Foundation License v2”

-          “Official” license text is obtained from: http://www.opensource.org/licenses/PythonSoftFoundation

=================== =====================


Details:

 

Based on discussions with Van Lindberg (thanks for the referral Kate Stewart), we have confirmed that the various Python releases are licensed as follows:

 

a.       Python 0.9.0 through 1.2: Licensed solely via the:

                     i.             CWI License Agreement for Python (“CWI License”)

b.      Python 1.3 through 1.6.0 (assuming that you have licensed Python 1.6.0 but NOT licensed 1.6.1 or anything beyond 1.6.1): Licensed via the 2-license stack consisting of the

                     i.            CWI License, AND the

                   ii.            CNRI License Agreement for Python with Virginia choice of law (“CNRI License Virginia”)

c.       Python 1.3 through 1.6.1: (assuming that you HAVE licensed Python 1.6.1): Licensed via the 2-license stack consisting of the 2-license stack consisting of the

                     i.            CWI License, AND the

                   ii.            CNRI License with the “limited” Virginia choice of law (“CNRI License Limited-Virginia”)

d.      Python 2.0: Licensed by the 3-license stack consisting of the

                     i.            CWI License, AND the

                   ii.            CNRI License Limited-Virginia AND the

                  iii.            BeOPEN.COM license Agreement for Python (“BeOPEN License”)

e.      Python 2.0.1 thru 3.2: Licensed by the 4-license stack consisting of the

                     i.            CWI License, AND the

                   ii.            CNRI License Limited-Virginia, AND the

                  iii.            BeOpen license, AND the

                 iv.            Python Software Foundation License (“PSF License”)

 

Also, we determined that the CNRI Python License listed on opensource.org is out of date and should be removed.  Van Lindberg will make the arrangements for the removal of this license.  

 

As such, I recommend that we remove the CNRI Python license and link from the SPDX Rev-1 list – its applicability is very limited (Python 0.9.0 through 1.2, which are not available on the Python site other than a single release, 0.9.1 that is described as “a historical relic”).

 

I do not believe that we have dealt previously with a “License Stack” in a context like a. through e. above.  There are issues with older versions of this license stack (for instance, different legal terms for certain versions of Python depending on whether you have or have not licensed a follow-on version).  These issues make licensing for older versions of Python difficult to ascertain without knowing the full history of versions that were obtained. 

 

Also, the naming, even of the initial license in the Python stack, is not consistent.  Opensource.org names the initial license “PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2”; the Python site, however, generally suffixes the initial license with the version of Python – but not always.  The use of “Version 2” by opensource.org probably was based on the assumption that Python 2 and above are licensed via the full stack.  However, the initial release of Python 2.0 is licensed under a three-license stack rather than the four-license stack that includes the PSF License.  Also, very small changes have been made to the text of the various licenses depending on the version of Python that was released. 

 

For all the reasons above, I recommend that we compromise as follows:

 

For the initial SPDX license list release, I recommend that we only deal with the stack of 4 licenses applicable to Python 2.0.1 through 3.2, and use the following naming conventions:

 

License Identifier: “Python-2.0”

Full Name: “Python Software Foundation License v2”

“Official” License text is obtained from: http://www.opensource.org/licenses/PythonSoftFoundation

 

This will cover us in the vast majority of cases.

 

Tom

 

Tom Incorvia

tom.incorvia@...

Direct:  (512) 340-1336

Mobile: (408) 499 6850

 



This message has been scanned for viruses by MailController.

Join {spdx@lists.spdx.org to automatically receive all group messages.