(Originally written April 9, 2004)
Conceptual integrity in turn dictates that the design must proceed from one mind, or from a very small number of agreeing resonant minds.
- Frederick Brooks, The Mythical Man-Month
Date: Thu, 8 Apr 2004 13:47:53 -0500 (EST)
From: Adrian Hosey
To: Thomas R. Hall
Subject: Re: good article
On Thu, 8 Apr 2004, Thomas R. Hall wrote:
: On Thu, 8 Apr 2004, Adrian Hosey wrote:
: >
: > http://mozillazine.org/articles/article4584.html
:
: That is a good article. How do you feel about the role that Mono may play
: in all of this?
I despair of any of it coming together at all. cf. our conversation yesterday about GNOME's failure to produce a scriptable desktop.[1] Granted that hasn't even been a stated goal of GNOME for years, but I hold it up as an example of the amount of energy lost from lack of unified vision and the amount of time spent dorking around with the core components and less time making stuff people can _use._ See also here
http://cinepaint.bigasterisk.com/WhyMigrateFromGTKToFLTK
I think the desktop battle has been lost for at least one more generation. i.e. FOSS guys aren't going to get their shit together in time to defray the market dominance of Longhorn. However I also don't believe that Longhorn will somehow signal the end of the contest the way Brendan Eich thinks it will. The current set of tensions will continue on into another round.
If someone is going to unhorse Microsoft on the desktop I don't think it will be FOSS as we know it. It may be Apple (wishful thinking) it may be Novell/Ximian - in which case Mono would play a big part in the new architecture. It may be someone we haven't met yet. I don't think there's room to bring a whole new closed-source OS to the marketplace right now (witness BeOS) but there's no reason someone can't deliver a quality desktop OS on a Linux kernel, if the project is executed with some focus. Ironically this may put Novell in the best position. They should break with GNOME and just do their own thing the way they think it should be done. Do it open source, do it closed source, but do it with hierarchical leadership and not design by committee.
If you're thinking that Mono will bring home the promise of write once run anywhere between Linux and Microsoft platforms, I don't think that's going to fly. Microsoft will make sure it doesn't. Look at SMB. Look at W2k's broken Kerberos. Look at the history of Java. Look at per-processor licensing. It is not the nature of that corporation under its current leadership to play on an open field.
[1] This is alluding to an earlier conversation of which I don't have a transcript. But recently I've been learning about Apple Events, Applescript, and the ability of other scripting languages to substitute for Applescript via OSA. When I started using GNOME in 1998 I was drawn to it by a post from Miguel de Icaza that described GNOME's goal to be a scriptable, network-transparent desktop environment. I can't find a record of that post but there is this article. Skip down to the question "What differentiates Gnome from other window managers?" to read Miguel describing the vision he had for GNOME back in 1998.
I was really excited by his vision. He was describing a Linux desktop that would not just equal other desktop systems but leapfrog them in features and power. The closest thing on a Unix desktop might have been NeWS - and NeWS is long gone. It was going to have embeddable components and network transparency via CORBA. It was going to support bindings for multiple scripting languages which would drive the components via their CORBA interfaces. It was going to kick ass.

If you get on Google you can find posts I made to the GNOME mailing lists. You can find a few small patches I submitted, those patches now gone because their code bases have long since been rewritten. I was excited and I wanted to be involved in whatever small way I could. That was six years ago.
I'm bummed that in six years GNOME has not yet become a scriptable network-transparent desktop. What bums me the most is that it never will be. GNOME no longer even aspires to those things. Read contemporary editorials about the future of GNOME and you'll hear about things like HAL and DBUS and transparent windows via OpenGL. Nothing that other desktops aren't already doing. At the best one could say that GNOME aspires to be a best-of-breed hybrid from among the current desktop systems. At the worst one could accuse it of being a knock-off.
What happened? I'm not sure. My first thought was that GNOME needed a benevolent dictator and it never really had one. On the other hand there are many open source projects that run based on a "foundation" that do okay, like Apache. Is there some set of criteria that determines what kind of projects need a benevolent dictator?
Some of the language in that email is probably harsher than is fair, but I wanted to repost it verbatim because it conveys a certain amount of frustration. I'm sure most of the contributing programmers to GNOME have their shit together as people, because finding the time to do free software is hard. However if we speak of the GNOME project as if it were a person, I don't think the GNOME project has its shit together, citing the many fickle changes in direction over the years regarding various components. That's why I think the project could have benefited more from the benevolent dictator model. Or maybe the GNOME project does have its shit together and it just didn't put its shit in the basket where I wanted it to. I do feel confident that the GNOME that exists today is not the GNOME put forward in 1998.
Anyway that's why I suggested above that Novell "should break with GNOME and just do their own thing the way they think it should be done." I don't know if Miguel still has his sights set on the vision he described in 1998. If he does he should just do it and not worry anymore about playing nice with the other programmers.
Update 2006-02-08: I'm not saying anyone heard me in particular, but just check it out.
No comments:
Post a Comment