---

Guido van Rossum Responds to Python Licensing Issues

By Kevin
Reichard

We asked Guido van Rossum of PythonLabs to comment on the

controversy surrounding the licensing for Python 1.6
— and, by
extension, the upcoming Python 2.0.

LT: I see that a different
license is used in Python 2.0
. What’s the background on the
different licenses, and why didn’t you go with the GPL?

GVR: The new license was imposed by CNRI on Python 1.6 (the last
release done from CNRI’s code base). Python 2.0, which builds on
CNRI’s code base, is a derivative work of Python 1.6, and the CNRI
license explicitly applies to (the 1.6 portion of) all derivative
works. According to Richard Stallman this means you *can’t*
distribute Python 2.0 under the GPL — and dual licensing is out
too.

In any case we don’t want to use *just* the GPL for Python,
because there are many proprietary software developers in the
Python community who don’t want to work with the GPL. Python has
always had a BSD’ish license which was perfect for them. I see no
reason to suddenly confront everyone in the Python world with the
GPL.

LT: From your viewpoint, should the differences between your
licenses and the GPL attract or deter developers?

GVR: Both. It may deter GPL hardliners (but there seem to be few
of these in the Python world). But it attracts developers from the
proprietary world like I mentioned above. Many of these
“proprietary” companies are major contributors to Python and other
open source products. For example the new Unicode support and
regular expression engine, as well as several existing core library
modules, were contributed by people who also develop proprietary
Python software.

LT: What are the most new and noteworthy features in 2.0?
(free plug time. 😉 )

GVR: That would be Unicode support, a new regular expression
engine (which supports Unicode), an xml package, optional
collection of cyclical garbage, and several syntax extensions:

– Augmented assignment, e.g. x += 1
– List comprehensions, e.g. [x**2 for x in range(10)]
– Extended import statement, e.g. import Module as Name
– Extended print statement, e.g. print >> file, “Hello”

Of these, only Unicode and the new regular expression engine are
also in 1.6.)

LT: Did UCITA play a part in your decision to locate
litigation in Virginia?

GVR: You’d have to ask Bob Kahn [of CRNI]. He’s answered this
before and said that that had nothing to do with it (it’s in the
CNRI license
FAQ question 11
). I no longer work for CNRI, and the CNRI
license was not my choice. All I managed to do was negotiate with
CNRI to remove some sharp edges — it may not be GPL-compatible,
but it is certified by OSI as Open Source. (I have a feeling that
CNRI would have changed the license even if I had stayed with CNRI
though!)

LT: When you meet with developers, how often do licensing
terms come up?

GVR: In the past, licensing terms have rarely come up. Python
had one of the most user-friendly licenses around! I’m afraid that
it will come up more in the future. Yet, most feedback I got to the
1.6 and 2.0b1 releases was not about the license but about the pace
of change. So maybe most developers don’t care that much about
licensing!

LT: What next?

GVR: It should be clear by now that the future of the Python
license is not in my hands (nor in BeOpen’s hands) but in the hands
of CNRI and Richard Stallman. If they can’t agree on changes to the
1.6 license or a different interpretation of GPL compatibility by
the FSF, the final release of Python 2.0 (planned for early
October) will be incompatible with the GPL. Stallman has already
mentioned that in that case he will attempt to maintain a
GPL-compatible fork of Python, probably based on version 1.5.2.
This would be a great waste of time for all, but I can’t stop
him.

The sad thing is that all of this is based on technicalities:
Stallman agrees that Python is free software, but a technicality in
the licenses prevents compatibility. The choice of law clause in
the CNRI license, which is causing the incompatibility, is very
common is software licenses, and CNRI doesn’t want to drop it
because the validity of the general disclaimers in the license may
depend on it. At the same time, Stallman doesn’t want to allow any
choice of law clauses, because one could stipulate the law of
“Unfreedonia” which might reverse the meaning of the GPL. Even
though the state of Virginia does no such thing!

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends, & analysis