Carsten Haitzler, who is perhaps better known by his alias, Rasterman, has been the lead developer for the open source desktop shell Enlightenment for the past 10 years. Since attaining a Bachelor of Computer Science from the University of New South Wales in 1997, Haitzler has built a career around his interest in graphics software, and has worked as a core developer at Red Hat and an engineer at VA Linux Systems in the U.S. and Japan.
Now an independent open source developer based in Tokyo, Haitzler will be returning to Sydney next week to speak about the bulking up and slowing down of open source desktops at linux.conf.au. Before the conference, Haitzler speaks with Liz Tay about operating systems, his career, and his decidedly non-political approach to open source.
How did you get involved in open source programming? What aspects of programming and open source software interest you most?
Unlike some, I didn't get involved for its politics or its ideals. It was there and appealed to my sense of convenience. If I have code I depend on - I like to be able to see it, poke it and fiddle with it if need be. I release my own code under a very liberal license (BSD) because I don't much care what happens to it. I only ever started releasing code as source because it was the only sane way to distribute it for UNIX systems, and I had enough people ask for it.
In the brief on your linux.conf.au 2007 presentation, "Desktops on a diet", you raise the issue of having operating system components that consume too many resources to compete with Windows and Mac OS. What are the risks of sacrificing efficiency for popularity?
You alienate users because many people simply cannot (sanely) or will not use the software because they can't afford a system capable enough to run it. It also is environmentally unfriendly as more cumulative electricity, components and faster "buy then throw out the old PC" cycling needs to happen just to run a desktop system that could be better. It's not about popularity - it's about bothering to do something efficiently and planning ahead as to what you will do and not assuming everyone has a big beefy machine like you, the developer, does.
What, in your opinion, are the main functions of an operating system?
To get you to a point where you can store and retrieve data (files), install (and un-install) more software, these days communicate over a network, and launch and manage programs. In my opinion Web browsers, email applications, pain programs, etc. are not part of an OS - they are add-on applications. The OS should just get you to the stage where you can install and choose such applications.
Are you accusing GNOME and KDE of selling out by giving up on open source ideals and conforming to a business model, and if so, why?
I never accused them of anything to do with giving up open source ideals. I am pointing out that in the race to try and mimic as much functionality as possible they forgot to "do it right" and pay attention to efficiency in both design and implementation. They have done a great job of implementing code - but it can be done better.