Havoc Pennington: The huge architectural effort I want to see in the X server is to move to saving all the window contents and using the 3D engine of the graphics cards, allowing transparency, faster redraws, nice visual effects, and thumbnailing/magnification, for example.
The trick is that there are *very* few people in the world with the qualifications to architect this change. I don't know if the Xouvert guys have the necessary knowledge, but if they do that would be interesting. It may well be that no single person understands how to do this right; we may need a collaboration between toolkit people, X protocol people, and 3D hardware experts.
Aside from that, most of the changes to X I'd like to see aren't really to the window system. Instead, I'd like us to think of the problem as building a base desktop platform. This platform would include a lot of things currently in the X tarball, a lot of things currently on freedesktop.org, and a lot of things that GNOME and KDE and GTK+ and Qt are doing independently. You can think of it as implementing the common backend or framework that GUI toolkits and applications are ported to when they're ported to Linux.
This may be of interest. If we can negotiate the scary political waters, I'd like to see the various X projects, freedesktop.org, and the desktop environments and applications work together on a single base desktop platform project. With the new freedesktop.org server I'm trying to encourage such a thing.
6. How are things with freedesktop.org; what is its status? Do these standards get implemented in KDE and Gnome, or do they find resistance by hardcore devs on either projects? When do you think KDE and Gnome will reach a good level of interoperability as defined by freedesktop.org? What work has being done so far?
Havoc Pennington: freedesktop.org is going pretty well, I recently posted about the status of the hosting move. See here, I also had a lot of fun at the KDE conference in Nove Hrady and really enjoyed meeting a lot of quality developers I hadn't met before.
I find that hardcore devs understand the importance of what we're trying to do, though they also understand the difficulty of changing huge codebases such as Mozilla, OpenOffice, GNOME, or KDE so are understandably careful.
There are people who think of things in "GNOME vs. KDE" terms but in general the people who've invested the most time are interested in the bigger picture of open source vs. proprietary, Linux vs. Microsoft, and democratizing access to software.
Of course everyone has their favorite technologies - I think GNOME is great and have a lot of investment in it, and I also like Emacs and Amazon.com and Red Hat Linux. These preferences change over time. When it comes down to it the reason I'm here is larger than any particular technology.
As to when freedesktop.org will achieve interoperability, keep in mind that currently any app will run with any desktop. The issue is more sustaining that fact as the desktop platforms add new bells and whistles; and factoring new features down into the base desktop platform so that apps are properly integrated into any desktop. So it's a process that I don't think will ever end. There are always new features and those will tend to be tried out in several apps or desktops before they get spec'd out and documented on the freedesktop.org level.
7. Gnome 2.4 was released last week. Are you satisfied with the development progress of Gnome? What major features/changes do you want to see in Gnome in the next couple of years?
Havoc Pennington: I'm extremely satisfied with GNOME's progress. Time based releases (see here for the long definition) are the smartest thing a free software project can do.
This mail has some of my thoughts on what we need to add.
Honestly though the major missing bits of the Linux desktop are not on the GNOME/KDE level anymore. The desktop environments can be endlessly tweaked but they are pretty usable already.
We need to be looking at issues that span and integrate the large desktop projects - WINE, Mozilla, OpenOffice, Evolution on top of the desktops, X below them. And integrate all of them with the operating system.
Some of the other major problems, as explained here, have "slipped through the cracks" in that they don't clearly fall under the charter of any of the existing large projects.
And of course manageability, administration, security, and application features.
8. Your fellow Red Hat engineer Mike Harris said recently that "There will be a time and a place for Linux on the home desktop. When and where it will be, and wether it will be something that can turn a profit remains to be seen. When Red Hat believes it may be a viable market to enter, then I'm sure we will. Personally, in my own opinion, I don't think it will be viable for at least 1.5 - 2 years minimum." Do you agree with this time frame and if yes, what parts exactly need to be "fixed/changed" in the whole Linux universe (technical or not) before Linux becomes viable to the home/desktop market?
Havoc Pennington: I wouldn't try to guess the timeframe exactly. My guess would be something like "0 to 7 years" ;-)
On the technology side, we need some improvements to robustness, to hardware handling, to usability.
However the consumer barriers have a lot to do with consumer ISV and IHV support. And you aren't going to get that until you can point to some desktop marketshare. That's why you can't bootstrap the Linux desktop by targeting consumers. You need to get some initial marketshare elsewhere.
There's also the business issue that targeting consumers involves very expensive mass market advertising.
9. Have you had a look at the Mac OS X 10.3 Panther previews? Apple is introducing some new widgets, like the new Tabs that look like buttons instead of tabs, and there is of course, Expose, which by utilizing the GL-based QuartzExtreme, offers new usability enhancements, plus cool and modern eye-candy. Do you think that X with GTK+/Gnome will be able to have such innovations in a timely manner, or will it take some years before we see those to a common Linux desktop?
Havoc Pennington: I haven't tried Panther, though I saw some screenshots and articles.
As I mentioned earlier, the big X server feature I think we need is to move to this kind of 3D-based architecture. If we got the right 2 or 3 people working on it today, we could have demoware in a few months and something usable in a couple of years. I'm just making up those numbers of course.
However, nobody can predict when the right 2 or 3 people will start to work on it. As always in free software, the answer to "when will this be done?" is "faster if you help."
One stepping stone is to create a robust base desktop platform project where these people could do their work, and some of us are working hard on that task.
10. How do you see the Linux and Unix landscape today? Do you feel that Linux is replacing Unix slowly but steadily, or do they follow parallel and different directions in your opinion?
Havoc Pennington: I would say that the nails are firmly in the UNIX coffin, and it's just a matter of time.
- "Interview with Havoc, Page 1"
- "Interview with Havoc, Page 2"



