Linux Today: Linux News On Internet Time.

Miguel de Icaza: Can't We All Just Get Along? [A Response to Dennis Powell]

May 09, 2001, 12:00 (91 Talkback[s])
(Other stories by Miguel De Icaza)

By Miguel de Icaza
CTO, Ximian

Like many of my friends and colleagues within the GNOME community, I was disappointed and dismayed to read Dennis Powell's recent piece on GNOME (".comment: Wanna Invest in a Bridge...?"). Unfortunately, he presents a very different picture of what the GNOME community in general, and Ximian in particular, are trying to do. We are working to bring Free Software/open source to people's desktops everywhere. To achieve this, Nat and I created a company that would productize, polish, and support GNOME, all to build a business that would help make it the best desktop environment available.

As with anyone who has questions about what we are trying to achieve or how we are doing things, I'd like to address and bring clarity to some of the issues surrounding GNOME and Ximian in Dennis column, especially as they regard the control of GNOME, the role of my and other companies.

Contribution, Not Control
The only way that anyone can exert any influence over a Free Software project is by contributing to it.

The more companies and individuals involved in the GNOME effort, the more contributions the GNOME platform will receive.

There are various interests in the GNOME community: some people are interested in the technology, some others in the freedom, some others in the looks, some others in concrete applications. But we all share the desire of making GNOME the best platform for users and developers, because as we increase our user base and our developer base, more software for the platform will exist, which translates into an increase in the joy for those of us using GNOME.

Of course, this is generally true about all free software projects: the more parties involved, the more momentum the project's code base accumulates. At Ximian, we see a major business opportunity in deploying free software onto desktop systems. Therefore it is in our interests to contribute massively to GNOME, which we have done.

Role Players
The various companies that contribute to GNOME (Code Factory, Eazel, HP, Red Hat, Sun, SuSE, Ximian) do it in different capacities, and in the areas that interest them most. But these companies are only a fraction of the developer base of GNOME as it was evidenced in the recently held European GNOME conference (http://guadec.gnome.org): there were more developers that had no "official" company affiliation than people that were affiliated with a company at the conference.

To make GNOME succeed we all realize that we have to work together, and we do this by focusing on our areas of expertise or the areas in which we have a direct involvement.

Off the top of my head, here is a list of the various activities conducted by companies that contribute to GNOME:

  • Art of Code: the libart canvas, Ghostscript, original gnome-print implementation.
  • Code Factory: the new HTML engine (*full* CSS2 support, Project Management software)
  • Eazel: the Nautilus file manager, the GNOME VFS layer, the EEL libraries, the high performance RSVG library and the Reef services infrastructure.
  • Red Hat: they have worked extensively with GNOME, but these days their focus is mostly on the Glib 2.0/Gtk+ 2.0 APIs which are the foundation for the GNOME 2.0 platform. Of course, the guys at Red Hat have been major contributors to the GNOME project practically since its inception
  • Sun: They have contributed to other open source projects, but in the particular case of GNOME, they have so far helped with usability studies, documentation, resources for the GNOME foundation, GConf, and most importantly their Accessibility work.
  • SuSE: Martin Baulig at SuSE, with the help of many individuals and companies, is leading the current move towards the GNOME 2 release.
  • Ximian: historically many of our developers were previously GNOME developers, so they have had an influence everywhere in GNOME, but as a company, we focus on the Evolution groupware client, the pre-packaged and easy-to-install Ximian GNOME distribution, the Ximian Setup Tools and the Bonobo and Gnome Print libraries.

To illustrate how GNOME works, you need only remember that the GNOME 2 planning session in GUADEC had about 150 people discussing the various steps required to bring the next generation 2.0 platform to people.

Managing Success
Nat Friedman and I started Ximian about a year and a half ago, and we are very proud of what weve accomplished thus far. Weve managed to accumulate a user base of well over half a million, built an extraordinarily talented development team, and attracted the investment needed for future growth.

As with any growing business, Nat and I added more management resources to our company to enable it to move to the next level. These are things we had planned in advance; just like we hired assistants, support staff, programmers and webmasters, each one contributing with their specific domain of expertise. This has had the added benefit of allowing Nat to spend more of his time crafting our product strategy and managing its development.

We hired David Patrick because he would bring a lot of knowledge that would help us create a profitable company, and because he very clearly understood and believed in the increasingly important role of free software in this industry. This in turn will allow us to continue contributing toward making Free Software (open source) succeed on customer desktops all over the world.

We are very excited that we managed to bring David Patrick on as our new CEO; we see this as a very, very positive thing. The fact that we were able to attract an extremely talented, experienced executive team is a testament to the scope of the opportunity presented in the open source desktop market. Our hope is that, with the help of our expanded team, Ximian will be able to take GNOME further than ever.

Source Code Queries
All of the source code developed by Ximian and included in the recent release of Ximian GNOME 1.4 is available under the terms of the GNU GPL. For any other components of the Ximian GNOME desktop we distribute source rpms for every platform as well as debian packages and source packages. This means that you can see exactly what modifications we made to every package we ship and you can build your own if you feel so inclined.

Any new pieces of code ("modules") that we have written are now available on the GNOME CVS (they were checked shortly after Ximian GNOME shipped) and are also available under the terms of the GNU GPL.

It is of paramount importance to ensure that our patches are incorporated by upstream maintainers as quickly as possible. Of course, making this happen takes work, and we've had to balance that work with fixing the problems that came out of the initial release of Ximian GNOME.

Just about all Linux distributions do their own out-of-band development and ship patched software packages. No one ships a vanilla Linus Torvalds kernel. And so we all work to get our modifications and enhancements upstream; it just takes time.

Building for Everyone
Dennis states that GNOME 1.4 did not build for him. I'm sorry that he had that experience given the success that thousands of others have had; there must be something specific to his system that led to these difficulties. The GNOME 1.4 team did everything within their power to make sure that things like this did not happen; they worked very hard to deliver quality.

It is important to note that the GNOME 1.4 release was created in large part to bundle Nautilus. If we provide a way to run Nautilus and GMC in Ximian, it is because we realize that the new features in Nautilus consume more memory than the old file manager. Given our interest in having people run GNOME on low-end machines, we wanted to give users an option to choose the new file manager or the old one. At Ximian we are mostly running Nautilus on our desktops.

The reality is, we received requests from people to continue to make GMC. But we were not alone in making this decision: the GNOME release committee chose to make GMC a part of GNOME 1.4 as well as Nautilus.

That's just the way GNOME works. No one unilaterally controls; everyone universally contributes. And that contribution can be code, design expertise, even angst.