Linux Today: Linux News On Internet Time.

More on LinuxToday

Guido van Rossum Responds to Python Licensing Issues

Sep 07, 2000, 22:26 (26 Talkback[s])
(Other stories by Kevin Reichard)

WEBINAR: On-demand Event

Replace Oracle with the NoSQL Engagement Database: Why and how leading companies are making the switch REGISTER >

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!

Related Stories: