To GNOME founders Miguel de Icaza and Nat Friedman, open source software is all about people. Here they share their thoughts on Free Software development, the GNOME and KDE projects, and their new company, Helix Code.
|PHOTOS © GARY WAGNER|
Miguel de Icaza and Nat Friedman want to change pretty much everything about your computer desktop. They want it to be stylish, inexpensive, network-centric, and — most importantly — open source. They’ve founded a company called Helix Code to make this happen. Conventional wisdom in the computer industry says that it’s folly for anyone to take on Microsoft on its home turf, but de Icaza and company have successfully defied conventional wisdom in the past. There were plenty of skeptics three years ago when the 27-year-old de Icaza announced he was leading the development of a brand new GPL-based (GNU General Public License-based) desktop environment for Unix. They were roundly silenced a few months ago when Sun Microsystems and Hewlett-Packard announced they would be adopting GNOME (GNU Network Object Model Environment) as their default Unix desktops.
Friedman and de Icaza were just finishing up the first full release of their first open source software product, a personal information manager called Evolution, when they met with Linux Magazine Publisher Adam Goodman and Executive Editor Robert McMillan last fall.
Linux Magazine: How personal is the animosity between you and the KDE team?
Nat Friedman: There’s nothing personal at all.
Miguel de Icaza: I’d rather not talk about KDE in public; that’s my position. Somebody told me they wanted me to do a panel at COMDEX against KDE, and I said, “You know what, although it might be very interesting for people to attend an open debate between GNOME and KDE, it’s going to be completely unproductive, and I’d rather not waste my time on that. I’d rather spend that hour going to the Microsoft Pavilion and talk about free software in general.”
To me, KDE is just a desktop, which is why I’m really excited about the things we’re doing at Helix Code, the things with GNOME, the component technology — bringing all this new technology in from OpenOffice and breaking this huge mass of code into individual components that can be reused by every application programmer. Programmers are going to be able to — with three lines of code — import an interface, activate the object, talk to the object. Three lines of code and you’re talking to a piece of OpenOffice.
LM: People who are using KDE wonder if they’re going to be able to use some of the technology that you guys are developing. Are there any plans to integrate with KDE?
MdI: I don’t think there are any plans.
NF: There are no real plans to integrate anything.
MdI: One guy from the KDE team said to me, “I would like to work on GNOME integration with KDE.” And I said, “It sounds good.” So I explained to him what Bonobo [GNOME's component model] was, and he was very excited and so he posted an announcement saying, “I would like to work with the GNOME people.” I didn’t know he was just an artist for the KDE team. But when he did this, he was basically…what is it when they throw somebody out of the church?
NF: Excommunicated. He was considered a heretic.
MdI: Everybody said, “If this guy wanted to do something, well it’s his project. You can do whatever you want with it.”
LM: As just a regular Linux user, I don’t even understand why there’s this degree of animosity.
MdI: Well, the KDE people resent the fact that GNOME exists.
NF: I spent a few days meeting with the KDE guys in Boston to try to come to a common component model, so there definitely have been efforts. That was in February.
LM: What stopped that from actually happening?
NF: Well, we came to a common component model extremely similar to what GNOME already had. Almost no work had to be done on the GNOME side; a lot of work had to be done on the KDE side. It wasn’t as if this just happened to end up similar to what we have. It’s just that the problems we’re solving are more complex. And they never followed up on it, basically. No one ever did the work to begin with.
LM: When I think of the difference between KDE and GNOME projects, one thing that seems to stand out is that KDE does not have a Miguel de Icaza. The sentiment there seems to be that there’s really no need for a figurehead. Is that a fair assessment?
MdI: I think so. That’s the general impression I get. It’s a different thing. I came from academia and — since I was 15 years old — I always wanted to go to conferences and teach people what I knew. My dream had always been to go to USENIX and make a presentation.
From the academia point of view, getting a paper into USENIX was a big thing. So I tried to present papers and I tried to present the work because of this feeling that I had — getting the word out. I enjoy it a lot. And this year USENIX invited me to talk, and it was like, “Whoa! I didn’t submit a paper, but USENIX actually invited me!”
The Code Whore Days.
LM: How did you guys first get interested in computers? How far back does it go?
NF: I started programming when I was six and I was nine when a friend and I started writing video games. When I was fifteen, I started a software company with him.
Actually, this is a funny coincidence that Miguel and I have never acknowledged, but we made something very much like a Midnight Commander. We made a type of Norton Commander and tried to sell that. It was totally proprietary. We had no open source at the time.
MdI: When I was 15, I went to the store and played with their computers. My father bought me one but he was always punishing me, so I could never use the computer. I think I used the computer like ten times in a year. Then the school got computers, and I got to use some of them.
But I learned theoretical computing. I learned how to program without using the machine because I was never able to use my computer. And when they did [let me use it] they said, “Just for one hour.” I wonder what was going on?
NF: That’s really strange.
LM: So, what are your proprietary software stories?
MdI: Well, I was kicked out of my house when I was 17 so I had to become a code whore. I wrote a couple of applications — some virus detectors and a Unix permission-like system for DOS.
LM: Then how did both of you reach your free software epiphanies?
MdI: For me, it was the fact that this software was being sold, and I was getting very little personal income from it. I figured that I’m not going to be sustaining myself writing software so I might as well just deal with free software. Then I read about Richard Stallman and very much agreed with what he had to say; it was a very well thought-out argument.
LM: What is your relationship with the Free Software Foundation? Are you guys buddies with Richard Stallman?
MdI: I’m on the board of directors of the FSF.
NF: We’re buddies with Richard Stallman, absolutely.
MdI: We realized that Richard has made a tremendous contribution, so when he asks us to do something…I don’t mind satisfying the guy. He always asks for reasonable stuff — at least from us. “Can you guys make sure that GNU gets mentioned?” Sure we can. “Can you guys raise this issue about this license, because it’s not free?” Sure, we can do that.
NF: He helps us. He’s a star. He has an important position and an important perspective to know about and respect, so…I hang out with him at all the conferences and stuff. I ran into him in India actually — in Bengal. It was pretty strange.
Architecture And Morality.
LM: Richard looks at software from a very moral perspective.
MdI: I think that we’re from the same school.
LM: Do you see a relationship between morality and technology in the same way that Stallman does?
NF: When I get moral about it, it’s essentially about free knowledge. Knowledge ought to be free and not confined.
If you look back, computer science is a sub-field of mathematics. In fact, the first computer programs that were written were mathematical equations or mathematical patterns described by Charles Babbage centuries ago, when they were talking in an abstract notion about the idea of a computer — a computational engine that you could feed numbers into that would pop out other numbers. That was the idea. There were lots of interesting things that happened there, and they published paper after paper after paper. A paper would be published, and another researcher would do a copy of the paper in a scientific journal. Or, they’d go to a talk, learn from it, and write their own paper, which improved upon those notions. What if Charles Babbage just patented the idea of the difference engine?
MdI: What about something more obvious, like producing electricity?
NF: Yeah, what if any of these ideas had been patented early on, and there had been a stopgap placed on the free flow of information?
If you take the sum total of the scientific knowledge that has been built up in the last century — for example — you could not possibly expect all of that scientific inquiry and research and all those mistakes and all those successes to have occurred in one company.
In fact, it was a combination of many thousands of research institute companies, crazy, crackpot individuals — all of these things — that got together, shared information between each other and whatever ad hoc mechanism was available — the Internet, published papers, journals, letters, books — and were able to come up with all the advances we’ve seen in the last 100 years.
So effectively, what patents and proprietary software are doing is stopping that information from flowing. It slows down the advance of human knowledge.
LM: But, your argument seems to be fundamentally a pragmatic argument.
NF: No, I think the advancement of human knowledge is ethically important. We have a moral duty to each other to treat each other fairly, and that’s part of what scientific research is about and part of what inquiry is about. This isn’t just about producing better software.
LM: In speaking with Stallman, I always get the sense that, fundamentally, his argument comes down to: What kind of world do you want to live in? Do you want to live in a world where people do the right thing by each other or do you want to live in a world where people pursue selfish interests?
NF: It’s pretty interesting to hear that from someone else. I think that you’re right.
LM: One of the reasons that people are negative towards Microsoft is that they feel it’s an immoral company, and that if the technology gets dismissed it’s because of the business practices of the company.
NF: You have to be able to separate those things in your head. There are these great pragmatic things about open source. Take Evolution, the GNOME software that Helix Code is developing. We have 3,000 beta testers. We could not get 3,000 beta testers in a non-open-source world. It simply wouldn’t make any sense. Of course, many of these are contributors — and that’s great — but there’s also a community that’s built there. That’s a 3,000-person community of people who are beta testing Evolution work. They’re creating a mailing list, they’re talking to each other…So you have to have fun in the process. For Miguel and me, that’s been important too.
LM: So, how will you judge the success or failure of Helix Code?
NF: Well, it’s just a matter of saying, “Are you having fun every day?”
LM: Is that the ultimate goal?
NF: Well, that is certainly a part of it. But, the ultimate goal is to make a real impact.
LM: In what way?
MdI: Well, we can improve people’s lives, I think. We can change the way software is developed.
NF: Imagine a world in which there’s a completely free foundation — completely free component architecture for all software. The foundation for all applications and the applications themselves are totally free. Any college student will be able to get the source code to all the software that he wants and will be able to re-use parts of it and learn from it.
MdI: That’s just going to advance human knowledge by leaps.
NF: I mean, we’ll see things come out of that that we won’t even expect. It’ll be exceptional. It’s like the dictionary; for hundreds and hundreds of years there were no dictionaries in the English language. So you have to ask yourself, when Shakespeare used the word “elephant,” did he have any idea what an elephant was? Probably not — he certainly had never seen an elephant. He probably had only heard descriptions of elephants. Perhaps he saw a drawing or two, but this was 16th century, so maybe not. So you have to ask yourself, did he know where the word came from?
Back then, how would any writer know where the word came from? There were no dictionaries. So suddenly a dictionary comes out, and people have a resource. They see a word they don’t know and now they can find out not only what it means, but also where it came from. They can learn about the language. You can do the same thing with software.
LM: How do you motivate people to create this kind of dictionary? How does the boring stuff get done?
NF: Different people have different ideas of fun. That’s also the role of the vendors. GNOME is now translated into 23 different languages, including Swahili and ones I’ve never even heard of and can’t pronounce.
To me, that doesn’t sound like fun. I don’t want to sit and translate GNOME between English and French all day long. But there are people who do because they’re making a contribution, they feel good about that, they want to work on their bilingualism…all those things. So there are different people who find different things about this fun.
So to me, open source is all about people. We’re creating a piece of software called Evolution. Evolution is a mailer, counter-contact manager. It’s a personal communications suite and an information manager for the desktop. But wait a minute; these things exist already.
We’re also creating this really cool thing called GNOME. It’s a free component architecture, it’s a foundation for building applications in the desktop environment, it’s graphical and gorgeous…it’s more gorgeous than pretty much anything else that’s out there. Wait a minute…doesn’t that exist already too?
At some point you’ve got to ask yourself, ‘Why are we creating all these things that already exist? If we’re not really adding any more functionality to the world, why are we doing it?’ Well, it would have to be about people. It has to be about the benefits that people are getting from it, right? Because the technology is not new. The software itself is not new.
Mail programs exist. How many mail programs are there for Linux? There are dozens of them, but we’re creating another one. Why? Because we want to create the best one built in the right architecture. We want to create one that’s totally free. So we’re doing this for people, not out of pure love for the technology.
So to me, open source is all about people at every level. You’re collaborating with people when you’re working on open source software. That’s one thing that’s totally important. Miguel and I started working together not because we like the same project necessarily, but because we liked each other. That built a relationship that was really productive. I mean, we have the Sun and Helix Code teams who get along so well.
LM: Tell me about the GNOME Foundation and how that came about, because the project seems to be stepping into new territory.
MdI: There are a number of issues. First of all [the GNOME project] got a couple of donations, and we needed to manage the money. Another thing was that when companies approached us, they would typically approach someone they knew from the GNOME team. So we had all these people, and they wouldn’t know exactly who to approach when they wanted to contribute to GNOME. There was a need to create a way for companies to join the GNOME effort.
NF: The other thing you have to remember is that GNOME, as a project, is pretty much bigger than any other open source effort. It’s actually like this massive umbrella project. Even the Linux kernel is smaller right now.
LM: In terms of the number of people involved?
NF: Megabytes of code, people involved, lines of code — just the sheer size is so much bigger. In fact, GNOME is sort of a meta-project in a way. You have all these smaller projects that would fit underneath the GNOME umbrella, which is why it’s so difficult for Miguel to go out and give a talk on GNOME work. I often say that trying to explain what GNOME is in a thirty-minute talk is like trying to explain the concept of God or infinity in a thirty-minute talk, because it’s so big. It’s such a massive undertaking.
A foundation was needed because this isn’t a situation where one person, or five people, can necessarily organize, galvanize, and coordinate this mass development project. We try to do releases of GNOME; think about how difficult that is. We have approximately 90 software development packages that make up GNOME.
LM: I don’t know if you were happy with the way it was portrayed in the press. It was portrayed as the open source answer to Windows.
NF: Of course we’re happy with that.
MdI: The answer to Windows? Sure…it’s the answer to Windows and much more.
Robert McMillan is a contributing editor with Linux Magazine. He can be reached at email@example.com.