Guido van Rossum is the well-known creator of the Python programming language. During his address at OSCON 2003's States of the Unions event, he announced that he'd soon be leaving PythonLabs to work for a California startup. Guido graciously agreed to an interview with Steve Holden on the move, recent developments, and Python in general.
O'Reilly Network: Can you explain why you're leaving PythonLabs and where you're going?
Guido van Rossum: Moving to California has always been on my list of things to try eventually. When Dan Farmer approached me in February to join his new software company, where he anticipated there would be lots of need for language design skills, my initial thoughts were that such a move would be too disruptive to my family.
Dan kept pushing, and when he had his venture capital lined up he asked me out to California for an interview. My plan for that interview was to find out what was wrong with the company or the business plan and to use that to maintain my original decision. But, try as I might, I couldn't find anything wrong!
As the weekend progressed I got more enthusiastic, both about the project and about working with Dan.
ORN: So it wasn't so much an offer you couldn't refuse, rather an inability to find anything to justify a refusal?
GvR: The offer was a good one, and I certainly couldn't complain, but mostly I was surprised at my own enthusiasm for this new project.
ORN: What will your relationship with be with PythonLabs and with the Python Software Foundation in the future?
GvR: In terms of personal relationships nothing much will change. I really like the PythonLabs guys, and most of us have worked together for eight years since the CNRI days. It was difficult to move without being able to make them all an offer, but for various reasons none of them would have wanted to make the move.
I will remain the head of the PSF. Board meetings will be a little different as I'll be using IRC rather than being present in person. As you proved during the PyCon DC 2003 planning process, that's fine as long as people can make the time for it, and I'll certainly make the time for PSF board meetings.
ORN: This is the third time in as many years you've changed employers?
GvR: That's right.
ORN: Does this indicate some kind of instability in the employment market?
GvR: I think if the economy had been better I wouldn't have left Zope, and Zope might have been more fun. Really, though, it's more of a reflection on the opportunities that have come to me personally.
ORN: Serious Python users might be concerned about your continued involvement in the development of the language. What will the move mean for the future of Python?
GvR: First, it's written into my contract that the development work I do on Python will not belong to Elemental Security. That will continue to be owned by he Python Software Foundation.
Also I will have time carved out in my regular work week to work on Python. So I'm pretty hopeful that once the dust of the move has settled, say in mid-August or so, I will have enough time for Python.
It's not my dream Python job, which would basically be to be paid to work with a team about the size of PythonLabs to work on the development of Python full-time. That's not a realistic possibility at the moment.
ORN: What will you miss most about Virginia?
GvR: The friends I've made there. I've lived there for eight years, and during that time I've made some really great friends.
ORN: What East coast ties do you intend to retain?
All of them. I plan to stay in touch with all of those friends, and they're all going to be welcome to stay in our house in California as long as there's space--we haven't found a place to live yet, and the Bay Area's even more expensive than the DC Metro area!
ORN: You are a family man, with a life besides IT. How much of your time do you spend working with and developing Python?
GvR: At Zope Corporation, almost all my time was spent developing the Zope web server environment, but of course that was using Python. I expect that I'll be using Python a lot at Elemental too, but I'm not sure how long the working week will be.
ORN: Do you see any way you will ever be able to devote 100% of your professional life to developing Python? Even if you could, would you want to?
GvR: Well, I've already said that would be my ideal Python job. It depends on a lot of things. Maybe the Python Software Foundation will find a rich sponsor or perhaps a large corporation like IBM or Microsoft will decide that Python is important to their strategic interests. But there's no immediate prospect of that.
ORN: Will you be looking for a new dance group after you move?
GvR: Absolutely. The Bay area actually has a lot of great contact improv communities. I visited there six or seven years ago, so I already know a few people and I'm looking forward to renewing those contacts.
ORN: Tim O'Reilly's keynote at OSCON was quite thought provoking. What do you think were his most interesting points?
GvR: I really liked his point about how the nature of the popular applications changes, and that Amazon or Google are applications just as much as Word or PowerPoint. I thought his point that those applications have a lot of data, and that they leverage the people who interact with the data, was particularly telling.
I think that was the key idea from his speech, and I really think that in the Python world there are things we can do with that idea. For example, the PyPI, the Python Package Index, might actually become much more useful if people can feed back what they think of a particular piece of software.
ORN: Do you think that the open source development model has proved itself as a viable alternative to proprietary methods? Can the cathedral coexist with the bazaar?
GvR: Open source development methods have absolutely proved themselves, and I don't think there's any immediate likelihood that the cathedral will be demolished. However, among open source projects, I'm a fan of those that are consciously run with a bazaar-style model.
The projects where there are a lot of programmers paid by a particular company, whether it's Netscape with Mozilla or Sun with Open Office, even though they claim a lot of success in terms of downloads, are extremely hard for the average programmer to make a contribution because the code base is so enormous, and the learning curve is therefore rather steep.
Projects that started out as grassroots, like Python, have developed more of a community and a process that makes it much more acceptable.
ORN: Python is a part of a larger open-source community. What do you see as the major challenges facing that community in the next couple of years?
GvR: Oh, man, I'm not that kind of visionary, to have an opinion about that. Some people are worried about a few things, like software patents, but in my view software patents are so absurd that I expect that open source will happily survive all that, even if situations arise where a few specific projects are forced to rewrite some of their code to work around a patent.
A few individuals will probably be hit by unfair lawsuits, but by and large I don't think that's going to break the open source community.
ORN: I sometimes think it's a good job nobody has patented breathing; otherwise we'd all owe them money.
GvR: I guess there was prior art among the reptiles [smiles].
ORN: How does Python differ from other open source projects?
GvR: I guess one difference is that it has a long history, since it was first distributed in 1991. In those days nobody talked about "open source", and Richard Stallman [founder of the Free Software Foundation] wasn't very well known and the GNU General Public License didn't exist.
It's amazing how many people who are still active in the Python community were at the first Python workshop in 1994.
ORN: How has the Python development community changed over the last few years?
GvR: The role of PythonLabs has actually been diminished, and although the perception is that PythonLabs still controls a large percentage of the core code, in fact the reality is that PythonLabs folks have all been hacking on various pieces of Zope and ZODB. So the larger developer community has taken over and has done so very successfully.
We've had a lot of "new kids" join as developers and become active in the community. We've also seen that the geographical base has broadened quite a lot, with contributions coming in from outside Western Europe and the United States.
ORN: Why do you think Python is less popular than Perl?
GvR: Perl was there first. It's definitely older than Python, and when I decided to create Python I looked at the existing Perl, which I think was 3.0. Even by that time it had managed to create a lot of mind share, and it definitely filled a need in the user community.
Perl, Python, Ruby and Tcl are the four dynamic programming languages that get the most publicity as open source projects, and I think they have a lot more in common than they differ.
ORN: What's being done (and by whom) to improve Python's visibility and grow the user community?
GvR: I don't know that enough is being done, but there are certainly a number of people who are very active in that area. I do it myself by staying where I am and giving keynotes at conferences and making my personal life the subject of discussions on Slashdot. I didn't elect to do that, but it happened--someone listening to my OSCON keynote posted the news of my move to Slashdot, and some people seemed to feel they had the right to comment on it.
ORN: Perhaps they should get lives of their own instead of discussing yours?
GvR: Perhaps. Anyway, there are some people taking specific actions to promote Python, notably Kevin Altis, who among other things put the OSCON Python track together and has set himself the goal of increasing the number of Python users tenfold in the next year or two.
There's now a "python-marketing" mailing list, and Stephan Deibel of Archaeopteryx is very active there, issuing press releases for the Python Software Foundation about various things. He'll be doing another one for the upcoming Python 2.3 release, where hopefully we can include a quote from Apple about the inclusion of Python 2.3 in the next MacOS X release.
ORN: How did you come to decide to set the 2.3 release date so the software could be included in the gold master for the next Mac OS release?
GvR: Well, Apple expressed interest, and the schedules almost matched already. Basically all we had to do was bring our deadline forward one week.
ORN: Have you seen a good response to this decision from the developer community?
GvR: Very good! Usually what happens is that when I get my act together and set a release date, all sorts of people who have been putting off checking in their changes and reviewing their patches suddenly become active. So we've seen a flurry of activity.
Of course there are a few people who are disappointed with the compressed schedule, because it's meant their changes have had to be rejected for 2.3, but there's always 2.4 or even 2.3.1.
ORN: How would you like to see the Python Software Foundation develop over, say, the next three years?
GvR: Observing how other similar non-profits like the Apache Software Foundation and also the Open Software Initiative, of which I'm a board member, I'm struck by how the PSF is still run by geeks, none of whom have significant experience running a non-profit. I think as a result we're not always doing the right things, and we don't always do things at the right time; we don't exactly know how to do it. So either we argue endlessly about how to do things, or we do them badly.
It would be good to invite some new people who are friendly to Python onto the board for the next year. You could say that I think the board needs a little adult supervision [smiles]. I realize that this is not something I'm good at: I head the board because people know my name, but I'm not very good at the schmoozing that it takes to get companies to sign up as a sponsor member, for example, or to attract large donations.
ORN: What's the situation with the python.org domain ownership, and do you anticipate any changes any time soon?
GvR: As you might know, CNRI still owns that domain, and has let the PSF use it without much restriction, although they did ask us to keep the 1.6 release on there despite the fact that nobody much uses it.
They have finally approached me, having found the time to address the question, with a contract to handle the transfer of the domain name, which is probably the most important thing, a number of trademarks, and the copyright to the content of the python.org website. The CNRI position has been that they own that copyright because the web site was started when we were all at CNRI.
That's actually quite an important contribution to the open source movement by CNRI.
ORN: What are the most difficult aspects of reconciling open source software development and making a living?
GvR: It gets more difficult once you have a family, because it's more important to have a steady stream of income that lets you pay your bills and put something away for when the kid goes to college. It seems a long way away, but you have to start saving almost from the moment they're born.
That limits me in the choice of employment.
ORN: What have been the major changes in patterns of Python usage lately? What do you see as the most interesting new application areas?
GvR: There are lots of interesting ways that Python is being applied, but none of them are especially new. Python has always been very broadly applied.
What I do appreciate is that Python is slowly but steadily becoming more known among at least the avant-garde teachers and educators. There are more and amore people who aren't too tied to traditional school districts and who are looking into Python and teaching it.
ORN: This resonates with your long-held interests in "computer programming for everyone". Don't you think that perhaps "everyone" is too broad, and that there aren't at least some people who will never be capable programming a computer?
GvR: That's a deep philosophical question. I'm optimistic about that in theory.
There are plenty of countries, although unfortunately the USA isn't one of them, where 100% of the population is literate. That doesn't necessarily mean that they can write novels or newspaper articles, but they can all read and write, and if you taught them how to type they could all express their thoughts in an email or a blog entry, for example.
Given that I believe everybody can learn to read and write, given the right education and circumstances--obviously if your parents have no money and you're sent to work when you're seven years old, you're not in a very good situation unless you're exceptionally smart--I believe that the same thing would be possible for programming and thinking logically to some extent.
ORN: What value do Python skills have in the job market? Why should a programmer bother to learn Python rather than Visual Basic or Java?
GvR: If you say, "Why should a programmer learn Python", I could say, "Because it's the most fun of all the available languages". There are situations where you're required to code everything for production in, say, Java, but you still have the opportunity to do prototypes or testing frameworks or personal and ad hoc programs using Python. So it often proves useful in situations where you least expected it. But if you don't know it, you won't be able to use it, so you may lose out on an opportunity to do something extra for your boss because you knew this new tool.
I don't think that at the moment there are enough places advertising jobs with Python as a requirement to say that Python will give you a bigger chance of getting a job, although there are some places where that's obviously true. For example, Industrial Light and Magic has seven hundred Python programmers!
ORN: How many annual Python conferences are you aware of now? Can you still get to them all?
GvR: I think I'm going to have to start saying "no" to some. This year I've been to PyCon 2003 in Washington DC in March, then Python UK in Oxford, England the following month. EuroPython was in Charleroi, Belgium in June, and now we're at OSCON in Portland, Oregon, in July. That's four, and as far as I know all those four are planning to run again in 2004. I don't think that next year I'll be able to go to more than three of those.
ORN: What did you think of PyCon DC, Python UK and EuroPython in 2003? Were there any instructive differences?
GvR: They are all different, and the differences are very interesting. PyCon is the youngest, and the members of the organizing team were all people who hadn't done a Python conference before. You could tell that from some of the details. On the other hand, given that, I thought it was an excellent conference. I had a really good time, and I'm really glad that you're going to do it again next year.
Python UK was two days of tracks in a much larger conference, just like Python 11 has been a track here at OSCON. You get a much larger audience, and speakers have been paid to come, and can come in company time because it's a prestigious conference. So I think that the number of truly high-quality presentations at those two is somewhat higher from my perspective.
That said, I still think there were many excellent talks at PyCon and at EuroPython.
ORN: So there are two professional-style conferences, and two more community-oriented conferences?
GvR: Yes. PyCon definitely had a more grungy community atmosphere than EuroPython, because the EuroPython folks had done it before, and their price level is slightly higher.
ORN: Where will the next major Python conference be and when?
GvR: The next one that I'm aware of is PyCon 2004, and I hope it'll be in Washington DC in March next year, but you'd know more about that than I do.
ORN: Indeed. Now you're moving to the West coast, will there be a PyCon West?
GvR: It's not impossible, but OSCON is on the West Coast, although it's at a rather high price level, so a PyCon might be attractive. I'm not sure that the Python community is large enough to support two events, though; if they both existed, then the West coast community might stay away from PyCon East and vice versa, and both might suffer by that.
If you have too many conferences, then each conference has less of a critical mass, and people will realize the conference they attended didn't include all the people they wanted to hear, because some of them are speaking at other conferences.
At least in the USA, travel from one coast to the other is not that devastating, although time differences can be a little bit of a pain.
ORN: Will you be doing any more Geek Cruises? How did your first one go?
GvR: I loved the first one, and the family loved it. Neil Bauman is a great guy, and he runs a great conference, so we're going again in September: Linux Lunacy 3, I believe it's being called.
ORN: Do you have any writing plans at present?
GvR: I don't. I'm going to put all my energy into Elemental Security and one day a week just running the Python community, sort of guiding where the next developments go. I would dearly love to write, but I can't even add something to my blog more than once every couple of months.
ORN: The literature has expanded hugely in the last three years. What gaps, if any, do you see in Python coverage nowadays?
GvR: I love the way that literature has grown. Is there a book on wxPython yet? That's still a gap [Patrick O'Brien has a book in the planning stages]. Apart from that I'd love to see more materials for use in classrooms for use by the "computer programming for everyone" crowd.
Those people are looking for tutorials and examples and books, and they have very different requirements; they can't use "Learning Python" or any of the other standard texts.
ORN: Do you regard yourself as a permanent US resident now or might you consider moving back to Europe?
GvR: I'm pretty settled here. When I visit the Netherlands, I'm aware I've Americanized quite a bit. There are some things about the Netherlands I still really miss, in particular using your bicycle for local transportation. At the same time the Netherlands is Americanizing at an incredible pace, and somehow I found an Americanized Netherlands worse than America itself!
ORN: What's been best and most difficult about relocating to another continent?
GvR: It all has to do with friends. The worst part of relocating is leaving really good friends behind, as I did when I moved from the Netherlands and as I'm doing again moving away from DC. The best part is that in a new place you make new friends, and I've never failed to do so.
ORN: What's your single favorite Python application that someone else wrote?
GvR: That's an overwhelming choice; there are so many categories, and there are things that I know exist that I have never used myself that I think are absolutely exciting.
Maybe I should mention Adele Goldberg's and Dennis Allison's ThinkFive application that they presented here at OSCON. In half a year with two people they were able to create a content management system in Zope and Python, with a little bit of SmallTalk that allows master teachers to create really high-quality online classes in subject topics like geometry and algebra.
I was really very impressed by what they did, and there are three kinds of users who interact with the system. First, the people who create the courses, who interact with Zope and create Flash animations and all sorts of other stuff in XML. Then there are the teachers who use the system in the classroom, or at least mentor the students, who are taking the courses from home in some cases, and there are the students. ThinkFive does something for each of those groups.
ORN: You've spent a lot of time on Zope recently, and it's a product nearing a major new release. What is your favorite feature that people will see in Zope 3 (and why)?
GvR: That's hard to say, because everything in Zope 3 is different. What I like in Zope 3 is that for the Python programmer writing code to go into a web site, things are much less confusing than they were in Zope 2.
ORN: What do you feel was your biggest technical, professional or personal mistake along the trail from ABC to Python 2.3b2?
GvR: I think the biggest mistake was a personal one, my decision to join BeOpen.
ORN: What advice would you give to young people just starting their careers in information technology?
GvR: There is still a lot of fun to be had in software development and don't believe all the negative stuff about how the IT boom is over.
Computers still run a significant part of our lives and they will continue to get a lot better. So we will continue to have a lot of need for a lot of smart people to program the applications of the future that nobody's heard of or can even dream of.
Steve Holden chaired the first three PyCon conferences and organized the Need for Speed sprint. He will be happy to help you if you would like to sponsor a sprint of your own.
Return to Python DevCenter.
Copyright © 2009 O'Reilly Media, Inc.