Originally Published: Monday, 14 June 1999 Author:
Published to: featured_articles/Featured Articles Page: 1/1 - [Std View]

Interview with International GNOME Support

I recently had the chance to sit down with Miguel de Icaza, Nat Friedman, and Matthew Loper of International GNOME Support. We conducted this interview on IRC (Internet Relay Chat).

None are new to the Linux community - all of them have been in it for several years....

I recently had the chance to sit down with Miguel de Icaza, Nat Friedman, and Matthew Loper of International GNOME Support. We conducted this interview on IRC (Internet Relay Chat).

None are new to the Linux community - all of them have been in it for several years. Miguel is a credited contributor to the kernel, performing lots of work on the SPARC and SGI ports, as well as Linux RAID support. Nat is a recent MIT graduate whose work includes grope (GNU rope), a binary optimizer, as well as GNOME. Matt has been both a Linux and Microsoft developer for years, and is the man behind the techno remix of the free software song.

Justin: When did you first discover Linux? Why did it interest you?

Miguel: I found GNU around 1992. I started using Linux sometime during the 0.98.5 release.

I think I was mainly interested in emacs and gcc. vi was a pain to use. And on the other hand, gcc was an ANSI compiler I could actually use on my Sun machines, since stock Sun compiler was not ANSI C.

Then, emacs was just a gift sent from the gods. It included RMAIL so I did had a nice mail client instead of the mail command back then.

Nat: Are you going to edit us? So I can say anything I want now, and it will be edited? Like about Miguel [EDITED] at Linux Expo this year?

Matt and I started to use Linux at roughly the same time. I remember carrying armfuls of floppies back and forth from the computer lab at the University of Virginia (UVA). And then there'd be one bad block on disk 37, and we'd have to drive back to the lab. I think the first distribution I used was SLS 1.0 or so. The really compelling thing about Linux for me was there was always something to engage my attention; always something new to learn.

Matt: It also had a mystique to it; so many cryptic commands.

Nat: For example, back when I was running Linux on a 25MHz 386, even though I couldn't run X, I could read the source code for all the little toys that got installed with SLS or Slackware or whichever I was running at the time. I remember when I read the source for 'primes' and discovered the Sieve of Eratosthenes. That was cool :)

Miguel: I also got marveled by RMS's manifesto and the GPL. I thought it was totally bright, and I was looking for some way to pay them back. I had no money, and was a good DOS coder, but a crappy Unix coder, so it took me quite awhile to get used to Unix.

Nat: I think Miguel's motivation comes from a personal feeling of gratitude for all the free software people have made available to him.

Justin: What was your first real program or project for Linux?

Miguel: A program to remove `\r' from DOS files ;-)

Matt: In the summer of '95, I started constructing a package for viewing and analyzing stocks prices, using Motif on the front end. I also started playing with the idea of feeding those prices into a neural net with SNNS (the Stuttgart Neural Network Simulator), which seemed pretty cool at the time.

It was really preparation for an honors' thesis for the following year, during which I'd finish the project. My advisor was against the idea, however, and I ended up reverifying some boring risk-reward analysis from the 1970's.

Nat: I wrote something to take an algebraic expression and produce a btree out of it, so you could substitute in values for the variables and watch it figure out the value of the whole expression. Something bison does quite naturally :)

My first big project - in fact, the reason one of my girlfriends left me - was an X client to drive a hand scanner. I even ended up writing a little widget set for it, which was forgivable back then, when Xaw looked terrible, and Motif cost a lot.

Justin: Why did you start GNOME?

Miguel: GNOME was started after a long debate between a number of persons: Erik Troan and Richard Stallman had pointed out the problems with the non-free Qt license. We considered the various options (which involved asking Troll to free the code), and finally after long talking on #linux (IRC), we started the GNOME project as it exists now.

GNOME just reused the name for another project Federico and I had: we wanted to create a language-neutral component system, like Microsoft's COM and ActiveX. The original GNOME project was discussed briefly, with Federico [Mena] on a whiteboard. I don't know if it made it to IRC, but we abandoned that project. It was discussed shortly after I came back from Microsoft.

Justin: What is this Microsoft experience you are referring to, Miguel?

Miguel: I went to interview with the IE4/Unix team.

Nat: I interviewed there, too.

Miguel: I was inspired by the ActiveX stuff that one of the hackers interviewing me at Microsoft explained to me. A bright person.

Justin: Do you feel GNOME is a threat to Microsoft, or will be soon?

Nat: I don't think it's competition. When I sit down to hack some code, I am not thinking "This code is going to kick Bill's ass!". I am just concerned with putting out the best code I can, in order to benefit as many people as possible. It happens Microsoft has developed a lot of cool technologies, and we can use some of their ideas and build on them when we're doing our code.

But that does not mean that, because we are in the same problemspace, we are in direct competition.

Matt: But that's a personal attitude; from Microsoft's perspective there could certainly be competition involved. I think they're starting to feel threatened by the [open source] model.

Miguel: I don't think we can predict that. If we could predict things, we'd be millionaires by now. I agree with Matt. But I think Microsoft is far from having problems. They will just evolve their business model to something that will benefit more people in the future. They don't have monetary problems; they do have some code-bloat and backwards-compatibility problems.

Nat: Yeah guys, don't write Microsoft off. They have twelve billion dollars in the bank. If Bill said "Open source seems important. Let's just devote some small amount of money to open source. Let's just devote some small amount of money to it... say, one billion," then suddenly they have this HUGE open source effort.

Miguel: My bet is that they will adapt their business model to the needs of their customers, so they might become an open source company at some point.

Nat: When I talked to Microsoft in January, they indicated that they were strongly considering open-sourcing a lot of their stuff.

Justin: So you don't mind stealing stuff from them?

Nat: Absolutely not. However you feel about the company, you cannot deny that they've produced some great ideas; even the real free software bigots will have trouble refuting the fact that if you throw enough money and people together, *some* good ideas will emerge.

So Microsoft has a number of good ideas that we can build on. Some of these are just general ideas about software development methodologies which Microsoft didn't develop themselves, but which they've taken as far as they can. The Internet Explorer web browser, for example, is a paragon of the component model. When you use IE, what you're actually using is about 70 tiny little COM components working together. No matter how ecumenical you are about free software, you can't deny this is a good idea; it makes debugging easier and makes the code more reusable. So there's no reason we shouldn't use this technique in GNOME. And that is our plan with Bonobo.

You don't have to infringe on Microsoft's copyrights and patents in order to build on some of their ideas.

Miguel: We do not mind reusing their good ideas in the GNU project. But we do not mind reusing anybody's good ideas.

So we try to reuse ideas and research work that has been proved to be good.

Justin: Recently, you've been attacked by KDE fellows, and occasionally someone from GNOME. How do you feel about this? Does it discourage you?

Miguel: Let me put it this way: The human mind is designed to win argument; it is used to justify actions at all costs. It is not designed to seek the truth.

Nat: Right. It's like this: every thought, every idea, competes for attention in a memespace. Now, in general, thoughts do not survive because they are true. They survive because they are entertaining or compelling. Or interesting, whatever. Science is the process of selecting for truth. Argument is not.

Miguel: Exactly. So people attacking me are convinced their view on things is the only correct view. This is a problem of perception: people have different values and they have different ways of looking at things. For example, if you look at a pyramid from one angle, it will look like a triangle; if you look at it from another angle, it will look like a square.

Given a number of constraints and a number of assumptions, it might be hard to judge who is right and who is wrong.

I hope the relations between the teams will become smoother in the future, and we will provide free software users with the best tools we can write.

So, I think many people are upset by my comments. I should have thought before replying, but I replied in the heat of the moment. I was just being me, not whatever people wanted me to be.

Nat: You are the walrus.

Miguel: Exactly. Goo goo ga choo.

Justin: So, how did you all meet each other? How did you become such good friends?

Nat: Miguel and I met while skydiving in Fiji. We met around kilometer 2.4.

Justin: I'm pretty gullible. That is a joke, right?

Nat: Yeah. Miguel and I met at Microsoft. He was interviewing with IE4/Unix, and I was an intern in the IIS group.

Miguel: We met at a free software conference.

Nat: Oh, that's true, I forgot! This is such a great story! Mig and I met at the first FSF conference on freely redistributable software in Boston in 1996. Early February, bitter bitter cold.

I was at L. Peter Deutch's talk about licensing. He was talking about the Aladdin License. And he was bragging about how he'd written his slides in raw postscript. But they were tiny and almost unreadable. And every time he put up a new slide, Miggy would stand up and say in that Miggy voice of his "You have to use at least a 16 point font there!"

Miguel: It was not me.

Nat: So he claims.

Justin: Can you tell us about IGS? How did Matt Loper enter the picture?

Miguel: Matt knows a lot about Microsoft technologies, and is familiar with Linux.

So, we see a big problem in the free software community: I think most free software advocates, when they see a feature in another product that has no free equivalent, tend to say "We don't need that for reason X", where X is some random justification. What these people lose is the ability to objectivley self-analyze. So Matt helps us to remain honest.

My partner, Nat, will adumbrate the rest.

Nat: To step back and say "Here are the weaknesses in GNOME. Here are the things Microsoft has that are amazing."

Justin: Tell me more about IGS.

Miguel: We want to create a paradise for developers. A company that writes free software and hires people interested in doing free software.

Nat: Well, there are different motivations, corporate and personal. Originally, Miguel and I started by wanting to move to Paris, and we wanted to work full-time on free software, so we looked really hard for a company that would let us work from Paris full time on free software. Well, there aren't very many of these; not many will give you latitude to work on what you want, which in our case, was GNOME.

I just graduated from MIT, and I interviewed with a lot of different places, but I found myself thinking my skills wouldn't be that useful to the world at large in most of those places. We want to ue our skills to benefit as many people as possible, and free software is the way.

So we're grand idealists, from at least one perspective :-)

Miguel: I want to be able to work on GNOME full time. And help other people work on GNOME and GNU full time.

Nat: So, one day on IRC I told Miguel I was thinking about starting a company, and about a week later I noticed him talking about "Our company blah blah", and I was thinking, "That jerk! He went and started a company without me!"

Miguel: I did that? What a jerk!

Nat: So I said "Miguel, what about my company idea!?" And he said "Oh, I was talking about that :-)" So everything was hunky dory.

Miguel: Oh, did I do that? Dude, I don't remember.

Nat: So the basic model is inspired by Cygnus. Cygnus does free-software support of the compiler and the toolchain, and releases pretty much everything to the world under the GPL/LGPL.

Miguel: The article from Michael Tiemann in Open Sources was a good piece that pointed out this sort of business can actually exist.

Nat: So basically we're a service company. We do contractual development of free software, specifically GNOME.

Miguel: A company devoted to enhance GNOME in the direction our customers want.

Matt: Although we may ship CDs to developers.

Nat: Right, we are going to be selling developer subscriptions, too. But the main thing is software development. One area we think is particularly exciting is email. No one has done a good mail reader yet; Outlook is probably the best out there.

Miguel: And while we are idle, we are working on providing a strong foundation for component programming in Unix.

Matt: Keeping people abreast of software development is important too; having a state of the union might help a lot of people. Sending out developers CDs that say "Here's what's new" might help people.

Nat: Because we are writing the mailer, we know it really well. So they can buy a contract from us to add that feature within some amount of time that meets their schedule.

Justin: Any more about IGS?

Nat: Oh, like I said - we are a service-based company. We offer a number of services:

  1. Bug fixing of regular GNOME applications
    This is going to be useful to people deploying GNOME internally or in their distribution. When customers or users report bugs, they will need someone they can call up and say "Fix this!" That'll be us.
  2. Adding features
    I already discussed this a little bit. This could be useful to a lot of people. Rightnow, for example, Red Hat uses Applixware internally, which is a proprietary piece of software. So, if Red Hat (or any other company like them) paid us, we could write them a free set of productivity applications.
  3. Infrastructure support and development
    Companies using GNOME as a foundation for developing their own software will need someone they can depend on to support that foundation. So that when they discover bugs in the core libraries or components, they can call us to get support for that. Or if there are missing features or documentation.
  4. Finally, we're going to ship some GNOME CDs.
    You'll see our Slashdot banner ads sometime in the next month or so.

Justin: GNOME CDs for the end user?

Nat: First a developer's resource, with a stable snapshot of the GNOME source, LXR, and Bonsai and some other goodies. Then we're thinking about a GNOME User Update CD with new RPMs and tarballs built for various platforms.

Justin: Do you have any advice for someone entering the free software world? How about starting a free software company (which I just happen to be doing myself)?

Nat: We're currently looking for advice on starting a free software company :)

If I had any advice to give, it would probably be this:

  1. Don't lose your perspective and become a free software bigot. Remember that there's a big wide world of software out there, and free software is only one part. Don't lose your ability to objectively self-analyze.
  2. If you want to become a good hacker, Read a lot of code. Understanding code is largely about pattern recognition, so the more patterns you're familliar with, the better. And read good code. Like Gnumeric :) I noticed somewhere along the line that all the hackers I strive to emulate are very meticulous about their work, so I try to be, too.

Matt: The distribution channels of free software are completely different than those of non-free software; learn them.

Miguel: I would like people to become familliar with the ideas of free software, and what exactly is behind it. Free software is not about the price, but about the freedom you get.

Pretty much every technical benefit people claim free software has is a side effect of the freedom people get: faster and more robust code.

You can learn more about this at GNU's Web site.

Justin: If there is something - anything - you think people should know about you but probably don't, what is it?

Nat: We are ready to accept their money to improve GNOME. http://www.gnome-support.com/.

Justin: Thanks for your time, guys!