Editor's Note: Steve Holden interviews Mitch Kapor, founder of Lotus and new open source advocate, after the recent PyCon about his life and career, the OSAF, Chandler, open source, and Python.
Steve Holden: Is Kapor a Hungarian name?
Mitch Kapor: No, my family is Russian, Georgian, via Ellis Island.
SH: You mentioned your early days in computing in your keynote this morning. How did you actually get sucked in to the subject?
MK: I actually built a tiny computer as a junior high school project.
SH: Using a 6502 processor?
MK: Oh no, this was before that, I was already in my 20s by the time the 6502 came out. This was all transistor flip-flops. It was a gated adder with a rotary telephone dial as the primary input device.
SH: So you were a real hardcore engineer back then?
MK: Well, I had a lot of help from my father with the soldering and so on, and he was very good at math and was fascinated with computers, and so I was fortunate enough to have a bunch of exposure going all the way back to high school -- this was in the 1960s. But things didn't really ignite for me until personal computers took off, and you could buy one and put it on your desk, take it apart, play with it, and see what it was made of, and so on.
SH: So, when you came to start Lotus, did you do so with the specific intention of developing 1-2-3, or was 1-2-3 an accident?
MK: From 1978 when I bought my Apple II, for the next four years I just threw myself into PCs, and did lots of things — I had a little consulting practice, I formed an Apple users group in the New England area which was, of course, the first one on the East Coast, and I started a tiny cottage software business doing a statistics and graphics package for the Apple II. I went to business school for a little while, and I did a number of other things.
The culmination of all of that was the decision to start a company, which became Lotus, to do a product, which became 1-2-3. By the time I reached that point it had been four years, and it felt like a lifetime, but really it was kind of evolutionary. I saw an opportunity based around the IBM PC, which had just been introduced and represented the next level in power, and I believed that the existing companies were not going to take full advantage of it.
SH: When you started the Open Source Applications Foundation (OSAF), did you need a vehicle for an existing idea, or did the Foundation come before the idea for Chandler?
Mitch Kapor will present A Developer's Tour of Chandler
MK: OSAF came about as a provisional solution to a number of considerations revolving around, "What do I do next?" This is in 2001, so I had moved to California and spent some time at the tail-end of the boom — really the dot-com bust — being a venture capitalist. This was clearly not a good thing — I'd been a great "angel" investor, but professional venture capital was clearly not the right thing for me.
I was trying to figure out what to do next, I'd been accumulating ideas for productivity tools — software people could use every day, particularly to help organize their lives. I'd acutely felt the lack of a product that I really loved, but there was a tremendous lack of commercial opportunity to start software ventures around these ideas, given the industry's structure, and I did a lot of thinking about how things might be put together, learned a lot about open source, made a pilgrimage to go see Linus, and tried to educate myself.
The organizational design for OSAF came about as a result of thinking about how to create an organization that could make these products and bring them into the world and help start something in which they could thrive in the long term.
Open source really seemed like the right methodology, and then I had a whole decision-making process about for-profit v. nonprofit, and decided I wanted a nonprofit body for the core of the whole thing.
SH: Of course, nonprofit doesn't necessarily mean "non revenue-earning" or "non-funded," does it?
MK: Well, there's no such thing as "non-funded." Any organization gets some money, and the challenge is sustainability.
SH: OSAF was self-funded?
MK: Well, I was fortunate enough to be able to self-fund to start, but I had no intention of self-funding forever, and so I needed a model that would be sustainable.
SH: You aren't going to continue to fund the Foundation, then?
MK: The problem with that is that it doesn't create good conditions for accountability, long term.
SH: So, what do you anticipate will be your future sources of funding?
MK: We've already gotten a significant grant from the Andrew W. Mellon Foundation, and a university consortium. I think the whole sector of Foundations, potentially with government support, is promising -- more than promising, I think, it's substantial.
The dual-licensing model that's been used successfully by a number of open source projects such as MySQL and Sleepycat for their implementation of Berkeley DB is gaining a huge amount of currency and popularity. We identified that from the very outset as being promising.
SH: Effectively, giving platform support on an open source basis?
MK Well, the heart of it really is that you dual-license. There's a version that's free, possibly under the GPL, but the same code is also available under a commercial license for people who want to develop proprietary additions and distribute those and sell them.
SH: Without what are sometimes called the "viral" licensing conditions of some open source licenses?
MK: That's right. You can't make it available under the GPL, but you can write a commercial license to do that. Those licensees will pay money for such a license, while the GPL code is, of course, free, and those funds flow into the organization to support its core activities. That's why it has to be a nonprofit, because a nonprofit is required to take monies it receives and use them for the purposes for which it's chartered by the government. It can't be pocketed.
SH: Do you have any ideas for other projects for OSAF, or is Chandler enough to be dealing with right now?
MK: Chandler is MORE than enough; in fact, the main problem organizationally is to keep a resolute focus on doing an initial version that has enough to get people terribly excited, but not more than that. We have all these ideas about things we would love to do, and it would take us forever to do them all.
SH: It seems you chose Python for Chandler before you personally knew that much about it, although presumably people you trusted told you it was a good language. What were your early links with the Python community?
MK: At the outset, we got an enormous amount of positive feedback of support and cheerleading when we said what we were going to do. I said at the time that it was nice that people were so enthusiastic about it.
SH: But you expressed reservations when other people started to promote Chandler as an "Outlook-killer"?
MK: There, I didn't do a really clear job at the outset positioning what we were doing, and of course the press love a story with a "Jack the Giant Killer" or "David and Goliath" aspect. So they published these stories positioning Chandler as an Outlook-killer, and it was easy to see shortly after it happened that was off the mark compared with what we were trying to do.
Firstly we aren't targeting Exchange or Outlook in any direct kind of way, but inventing a new product. Second, we're trying to do the open source nucleus of the product, a first-generation kind of baby thing, and get that working. Anybody that actually wants to compete with Exchange and Outlook will experience a rather higher cost of entry, and will need to go multiple stages down the road.
It was really our lack of attention to positioning, and the press, that created that. And, of course, there are an awful lot of people that would like to have an alternative to that technology.
SH: So the stories also came about because there's a perceived need for an Outlook-killer?
MK: Well yes, and if everything goes well over time, it could well wind up that something emerges from what we are doing that will fill that role, but we are not fighting that battle now. Think of it like a video game: you have to win the level you're on before you get promoted to the next level.
SH: Would closer links to the Python community have been better for the project earlier on? Some project decisions, particularly the decision to engineer a tailored repository, have been criticized as duplicating technologies already available in Python.
MK: In the early days a lot of people showed up from all over the Net. If you mean the ZODB thing, this is another subject where there's been some friction. The first thing I would say is that ZODB really doesn't do what we need the repository to do. We did an experiment ourselves using ZODB because we weren't sure and we needed to learn. We probably wound up not communicating effectively, to the extent that there is some sentiment out there that this is a kind of a misstep. Doing a better job communicating would help this.
There is actually a Why Not ZODB page in the Chandler wiki, which explains the design decision, and ZODB was actually in the 0.1 release and out of the 0.2 release.
You know, I think that we've been feeling our way — I wasn't in the open source community prior to starting this project, and I had some nervousness. Maintaining the integrity of the vision is incredibly important, and when something is young and fragile you're afraid that people won't understand it, and that if you give up too much control too soon then people will take it in directions that you don't want to see it going.
All that was a part of my thinking, but now we're in a much better position to build links with and bridges to the Python community. The project isn't quite such a fragile seedling, and we are more able to engage. This visit to PyCon is the first time we've done a sprint, and we've learned a lot, some of it painful, about being more developer-friendly.
There are people who want to do stuff with what we've done already, even though it's incomplete, and we could make it significantly less frustrating for them to do that.
SH: Is that the main lesson from the sprint?
MK: I have to read the detailed feedback. If you can believe it, I have been so involved in continuous conversation today I have not had a chance to look at that stuff, but from my conversation with Ted [Leung, senior developer on the Chandler project] it seems that's a very major takeaway: process-wise, there are some relatively easy things that we can do to be more developer-friendly in terms of how we package the releases, and in terms of documentation to shorten people's learning curves.
Also, culturally, I think we probably need to do better buffering between some of our core developers and the outside world as an ongoing function.
SH: Does the Foundation have an individual or a department specifically responsible for external relationships?
MK: Yes. Mitchell Baker, who has another job of running the Mozilla Foundation, is in charge of "community stuff" for us, and there's a community working group, which is some developers and some non-developers who constitute the people who work on dealing with anything related to community, which includes developers. They've done a bunch of useful stuff.
I think my biggest takeaway is that we need a sort of developer evangelist — a person who is a developer himself or herself, whose function it is to help developers who want to work with Chandler to succeed, and to be an advocate for them inside the organization. This person should have a development background him or herself.
SH: Someone who would bring in to the organization the same sort of experience that you have come out to access this week at PyCon?
MK: That's right. Ted Leung, who is one of our developers, is doing a lot of that already.
SH: Yes, he has written some interesting blogs this week about the need to change the process, without being at all defensive about it.
MK: That's right, and we shouldn't be defensive about it. We should be learning how to be a better organization around this concept, because it's so great that people want to join us, be part of what we're doing, use it, and participate in it. I mean you can't buy that kind of goodwill, so it would be tragic to squander it.
SH: If you could buy it, Bill Gates would have it.
MK: That's right, so it's really valuing that goodwill and paying attention to it that's important to take away from PyCon. The mechanics of doing that aren't very difficult, but what I've learned here at PyCon, which is hugely significant and I've been digesting it in real-time, is that we do have an architecture that's in flux, it tends to change, and we need to be nimble.
There are some incredibly brilliant developers that are core to that who weren't hired because of their social networking skills. As open source people they are very valuable assets, and they are part of the solution. So we need, as we become more developer-friendly, to do it in a way that lets those folks also continue to do what they're doing without getting disrupted or slowed down. That's a bit of a challenge there.
SH: The open source world does offer a way for people who don't have the kind of social skills it takes to get hired in the corporation to contribute.
MK: Yes, but it also requires coordination to include people like that, because they aren't usually self-managing. We have to make choices, given finite resources, as to how we allocate those resources, but I'm firmly convinced that building genuine community starts from the beginning; it's not an add-on. You just do it, and you are willing to commit those resources up front.
SH: Yes, Python Conferences used to be commercial events, about which the organizers would continually complain that they were unprofitable, but which they continually offered to run. My thought was that they excluded a lot of people simply because of the cost.
MK: There's definitely a good community feel to this. Unlike OSCON, which is a good thing, but very big and heterogeneous, here everyone has the same focus.
SH: So, you moved over to the West Coast. Why such a drastic change — were you moving away from what had been happening on the East Coast?
MK: I'd always wanted to live in San Francisco, and my circumstances never permitted it. I'm so happy I made the move. I had a whole change of life circumstances. I'd been married, and that marriage ended in 1996. I found myself with options that I hadn't had before, and I found myself thinking about what I wanted to do with the rest of my life.
SH: People see you as successful. What life challenges do you face?
MK: I guess people sometimes think, "Gosh, if I had enough money that I didn't have to work I'd spend all day on the beach, or watching soap operas, or whatever. Goofing off." I think it turns out that even more compelling than the idea of working for a living, at least to me, is to make a difference, to give something back, to do some good in the world, to create something. So I'm completely driven by opportunities to make a difference, and I just consider it incredible good fortune that I'm in a position to be able to do that with as much of my time as I want. So I'm more motivated about working now than I've ever been. It's great to find yourself, to find a passion.
SH: Finally, do you have any advice for youngsters starting out today in this line?
MK: You know, I think it is still incredibly interesting and compelling, it's nowhere near static, there's so much more to be invented. Moore's law hasn't yet run out of steam, software mostly sucks, and most good software hasn't been invented yet. So there are enormous opportunities for creativity and to build useful artifacts and use one's skills to do useful and satisfying work, and that's fabulous.
My only caveat is: If you're thinking you might want to be a billionaire, if the mindset is "I'm into this because it's the next big thing," you're a little bit late, and should probably go into biotechnology or nanotechnology. There are still great entrepreneurial opportunities, but the economics are getting more rational.
None of us who made huge fortunes in the early days really deserved it. The insanity that saw Amazon achieve a higher capital value than General Motors has largely been leached out of the system, and so if that's what you're after ... do something different.
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 the Python DevCenter.
Copyright © 2009 O'Reilly Media, Inc.