The Python 1.6 License Explained

Pat McCann thisis at bboogguusss.org
Wed Aug 23 22:57:52 EDT 2000


Guido van Rossum <guido at beopen.com> writes:

All comments are mere opinions of a non-lawyer:

Consider the source when considering the FAQ answers.  There are
vested interests involved as well as the desire to inform.

> Python 1.6 License FAQ
> ...
>     1.The old Python license from CWI worked well for almost 10
>     years. Why a new license for Python 1.6?
> 
>       CNRI claims copyright in Python code and documentation from
>       releases 1.3 through 1.6 inclusive.

Of course, they share copyright CWI.  It is debatable whether they
share it on the whole works or each holds copyright on their shares.

>       However, for a number of
>       technical reasons, CNRI never formally licensed this work for
>       Internet download, although it did permit Guido to share the
>       results with the Python community.

They licensed it whether they did so formally or not.

>       As none of this work was
>       published either, there were no CNRI copyright notices placed on
>       these Python releases prior to 1.6. A CNRI copyright notice will
>       appear on the official release of Python 1.6.

>From the US Code: "Publication" is the distribution of copies ... of a
work to the public by sale or other transfer of ownership, or by rental,
lease, or lending.  The offering to distribute copies ... to a group of
persons for purposes of further distribution, public performance, or
public display, constitutes publication.

Looks to me like CNRI did publish Python.

Appearance of copyright notices should only affect the strength of CNRI's 
position in court, particularly concerning damages and statutory fines.
It should be none of our concern.

>       The CNRI license
>       was created to clarify for all users that CNRI's intent is to
>       enable Python extensions to be developed in an extremely open
>       form, in the best interests of the Python community.

Clearly baloney, straight out of PR-101.

>     2.Why isn't the new CNRI license as short and simple as the CWI
>     license? Are there any issues with it?
> 
>       A license is a legally binding document, and the CNRI Open
>       Source License is-- according to CNRI --as simple as they were
>       able to make it at this time while still maintaining a balance
>       between the need for access and other use of Python with CNRI's
>       rights.

More baloney.  A bit more truth this time.  Not worth explaining.

>     3.Are you saying that the CWI license did not protect our rights?
> 
>       CNRI has held copyright and other rights to the code but never
>       codified them into a CNRI-blessed license prior to 1.6. The CNRI
>       Open Source License is a binding contract between CNRI and
>       Python 1.6's users and, unlike the CWI statement, cannot be
>       revoked except for a material breach of its terms.  So this
>       provides a licensing certainty to Python users that never really
>       existed before.

I wonder what other rights they have in mind there.  Apparently legal
opinion is mixed about whether such licenses are not revocable, but it
seems to be a very good bet that they are not.  But that would be nearly 
as true for the old license too.  And the old license had fewer terms
to breach and you didn't have to go to Virginia to defend yourself.
     
>     4.What is CNRI's position on prior Python releases, e.g. Python
>     1.5.2?
> 
>       Releases of Python prior to 1.6 were shared with the community
>       without a formal license from CNRI.  The CWI Copyright Notice
>       and Permissions statement (which was included with Python
>       releases prior to 1.6b1), as well as the combined CWI-CNRI
>       disclaimer, were required to be included as a condition for
>       using the prior Python software. CNRI does not intend to require
>       users of prior versions of Python to upgrade to 1.6 unless they
>       voluntarily choose to do so.

Almost an answer.  People will assume that pre-1.6 is licensed under the
old license, but their side-step allowed them to avoid committing to that.

>     5.OK, on to the new license. Is it an Open Source license?
> 
>       Yes. The board of the Open Source Initiative certified the CNRI
>       Open Source License as being fully Open Source compliant.

Big whoop.
 
>     7.Is it compatible with the GNU Public License (GPL)?
> 
>       ... Resolution of this issue is being pursued.

CNRI license clauses 2 and 3 contain beyond-GPL restrictions that FSF is 
apparently willing to live with, but may be GPL incompatible anyway.

If the GPL's patent (or any other) clauses license rights not licensed
by the CWI and CNRI licenses, it would also be incompatible.  AFAIK,
CNRI will not be claiming rights other than copyrights.  Trust them.

>     9.So it supports proprietary ("closed source") use of Python too?
> 
>       Yes, provided you abide by the terms of the CNRI license and
>       also include the CWI Copyright Notice and Permissions Statement.

"Proprietary" doesn't mean "closed source", I don't care how many times
it's misused that way.  "Confidential" or "Trade Secret" might, but
"closed source" should do the trick without waving around this FUDish
bugaboo.  All copyrighted software is proprietary.

>    11.Virginia is one of the few states to have adopted the Uniform
>    Computer Information Transactions Act, and paragraph 7 requires
>    that the license be interpreted under Virginia law.  Is the "click
>    clause" a way to invoke UCITA?

Does anyone know what effect, if any, this Virginia-interpretation thing
has on where lawsuits are filed and where they are tried?  What's the
rule on this when it is not in the license terms?

>    12.Suppose I embed Python in an application such that the user
>    neither knows nor cares about the existence of Python. Does the
>    install process have to inform my app's users about the CNRI
>    license anyway?
> 
>       No, the license does not specify this. For example, in addition
>       to including the License text in the License file of a program
>       (or in the installer as well), you could just include a
>       reference to it in the Readme file.  There is also no need to
>       include the full License text in the program (the License
>       provides for an alternative reference using the specified handle
>       citation). Usage of the software amounts to license acceptance.

That raises an interesting question.  The license allows me to put some
license-reference text in a binary derivative and distribute just that
so the USER never sees it.  Yet usage implies acceptance?  I think not.

>    13.In paragraph 2, does "provided, however, that CNRI's License
>    Agreement is retained in Python 1.6 beta 1, alone or in any
>    derivative version prepared by Licensee" mean that I can make and
>    retain a derivative version of the license instead?
> 
>       The above statement applies to derivative versions of Python 1.6
>       beta 1. You cannot revise the CNRI License. You must retain the
>       CNRI License (or their defined reference to it)
>       verbatim. However, you can make derivative works and license
>       them as a whole under a different but compatible license.

I'd sure like to KNOW if a license (which doesn't say otherwise) applies
only to the licensed work (and its appearance in derivatives) or to
derivatives as a whole.  We hope that the FAQ answer is correct and that
the requirement to include the license in the derivative does not imply
(to courts) that it covers the entire derivative.  Case law anyone?

>    14.Since I have to retain the CNRI license in my derivative work,
>    doesn't that mean my work must be released under exactly the same
>    terms as Python?
> 
>       No. Paragraph 1 explicitly names Python 1.6 beta 1 as the only
>       software covered by the CNRI license. ...

But that software (and the copyrights on it) exists forever in all
derivatives, probably even if the original code eventually disappears.
Trust them; after all, they're Federal contractors.

>    19.Many licenses allow a 30 to 60 day period during which breaches
>    can be corrected.
> 
>       Immediate termination is actually required for GPL
>       compatibility, as the GPL terminates immediately upon a material
>       breach. However, there is little you can do to breach the
>       license based on usage of the code, since almost any usage is
>       allowed by the license. You can breach it by not including the
>       appropriate License information or by misusing CNRI's name and
>       logo - to give two examples. As indicated above, CNRI actually
>       preferred a 60 day cure period but GPL-compatibility required
>       otherwise. In practice, the immediate termination clause is
>       likely to have no substantive effect. Since breaches are simple
>       to cure, most will have no substantive liability associated with
>       them. CNRI can take legal steps to prevent eggregious and
>       persistent offenders from relicensing the code, but this is a
>       step they will not take cavalierly.

The second example is a bad one, since that would not be a breach of the
license.  The license merely points out that it does not cover name
usage; it does not make non-use a condition.

>    22.OK, I'll retain the License Agreement in my derivative works,
>    Does that mean my users and I then enter into this license
>    agreement too?
> 
>       Yes, with CNRI but not with each other. As explained in
>       paragraph 1, the license is between CNRI and whoever is using
>       Python 1.6 beta 1.

Yea, and your users get to guess which license applies to what.

I have an alternate theory that when you commingle code, you create
what the law calls a "joint work" over which they share ownership.
I would think that such a work could only be licensed jointly under
a single license agreement.  I'd sure like to know if courts have
ruled on the common understanding of how open source licenses are
sub-licensed in derivatives.

>    23.So you mean that everyone who uses my derivative work is
>    entering into a contract with CNRI?

When I buy a car am I entering into a contract with every Patent holder
that the builder is under license to?  I doubt it. I know copyright is
much different, but I suspect a clever lawyer could write licenses to
allow sub-licensing without each sub-licensee having to know about the
whole chain.

>    24.In paragraph 7, is the name "Python" a "CNRI trademark or trade
>    name"?
> 
>       CNRI has certain trademark rights based on its use of the name
>       Python. CNRI has begun discussing an orderly transition of the
>       www.python.org site with Guido and the trademark matters will be
>       addressed in that context.

Yikes.  Something new here.  Tricky business, that.  Names in public,
non-trademark usage for years and then someone grabs them.  CNRI
has a much better case than Linus and it worked for him.  It's a great
legal extortion tool.  I hope Guido gets it.

>    26.What about the copyrights? Will CNRI assign its copyright on
>    Python to BeOpen.com or to Guido? If you say you want to clarify
>    the legal status of the code, establishing a single copyright
>    holder would go a long way toward achieving that!
> 
>       There is no need for a single copyright holder. Most composite
>       works involve licensing of rights from parties that hold the
>       rights to others that wish to make use of them. CNRI will retain
>       copyright to its work on Python. CNRI has also worked to get wet
>       signatures for major contributions to Python which assign rights
>       to it, and email agreements to use minor contributions, so that
>       it can license the bulk of the Python system for the public
>       good. CNRI also worked with Guido van Rossum and CWI to clarify
>       the legal status with respect to permissions for Python 1.2 and
>       earlier versions.

It doesn't seem any clearer to me.

CNRI, if it is fully funded by the Federal Government (ie, the people),
should not be allowed to own ANY of their work.  It would all be in
the public domain if I was President and I got to apply regulations to
the copyright law that withholds copyright from Federal works.  It makes
no sense for us to pay companies to develop software and then let them
keep it.


If the above sounds like FUD, let me say that I find the new license
quite acceptable and it will not influence my choice to use Python
before any other similar language when possible.



More information about the Python-list mailing list