Take a look at Tcl and Tk. They're cross platform, capable, rich UI tools. They were developed wholly using the bazaar style approach. You'd be correct to claim that Sun has put a lot of money into them but I still believe they would be here, essentially
in their current form, even without that support.

Another approach to your question about where's the complex UI stuff going
to come from: Microsoft.

The integration of the OS and browser (made 'official' by the Microsoft
announcement covered in today's Mercury News) means that a developer
doesn't have to write the hairy GUI code or even hassle with stuff like
QuickDraw or MFC!

The browser can do much of that part, Java, TCL/TK and Active X controls
the last 5%.

As far as I can tell, all the software that's been developed in the
Linux world which Raymond describes, is pretty faceless stuff. My
experience is that the expensive part of software development is the
user interface. Editors, browsers, dialogs, even runtimes, in the
commercial world are deeper, more useful, more tuned, than the ones
gathered around Linux. Maybe I missed something? If so, please send
me pointers to bazaar-model software with complex, highly
effective user interfaces. I want to understand how this really
works.

KDE -- the K Desktop Environment -- is a fully web-integrated
desktop environment for the X window system. Complete with
all the tools you'd expect -- editor, file manager, newsreader,
email client, CD player, games, widgets, and so on. It's definitely
a bazaar -- everyone is developing a different piece of it -- and
it's also gotten very big in the past year, due to it having a
decent user interface specification (if a bit too like Windows 95
for my taste).

The GIMP -- GNU Image Manipulation Program -- is a Photoshop 4
clone(!). It's not _quite_ in the photoshop league yet, but it's
got a wide range of plugins, supports layers and channels and
all that sort of thing, and has spawned its own GUI toolkit
(gTk). (KDE is based on the semi-commercial Qt toolkit from
Troll Tech -- http://www.troll.no/ -- which the purist freeware
people reject, hence re-inventing that particular wheel in the
form of gTk.) This is definitely one to watch, as it's developing
furiously fast and each release is more and more formidable.

Due to ideological differences with the KDE crowd (basically over
their use of KDE which isn't GPL licensed) a bunch of people set
up the GNOME project -- GNU Object Model Environment. GNOME is
eventually going to rival KDE; it uses the gTk toolkit, and
(luckily) shares a basic inter-process cut/paste model with KDE,
and looks quite similar, so the parts can interoperate. A gTk-
based web browser, Mnemonic, was part of the project, but the
imminent release of Netscape 5.0 probably puts this in the shade.

Red Hat Labs are sponsoring some GNOME development, and Red Hat
say they'll be basing their desktop on GNOME, not KDE, because
of the licensing issues.

Enlightenment, the next-generation window manager. WM's provide
the look and feel of an X11 environment; Enlightenment's next
pre-alpha release should integrate gTk and guile compatability
and work with GNOME. (Unlike KDE GNOME doesn't have its own
window manager, but Enlightenment seems extremely popular in
those circles.) I dunno about you, but I think texture-mapped
window frames with weirdly asymmetric widgets and specular
highlighting are going just a _bit_ too far! -- but you probably
want to eyeball the screen shots, if the last UNIX/X11 system
you worked with was more than a year or two ago. Oh yes, Enlightenment
is designed to make it really easy to completely redesign the
look'n'feel of your system. (And I love the Goth personality,
with skull-and-bone window frames.)

LyX is a nearly-WYSIWYG front end for the LaTeX typesetting
package. It uses a slightly older GUI toolkit (Xforms) but
looks fairly presentable. The goal is to provide a full word-
processing environment for Linux that gives typeset quality
output and makes it easy for newbies to harness the power
of TeX.

Caldera make one of the more corporate linux distributions.
Reason I'm pointing at them is COAS -- the Caldera Open
Administration System, an open GUI framework for administering
a Linux box. In other words, an attempt to make it easier for
new users to get into it.

This announcements archive (with the contents of
comp.os.linux.announce) is well worth eyeballing, as a guide
to what's new in the Linux world.

I've only scratched the surface here. There's been a big change of
attitude in the Linux world over about the past year; 1997 started with
the first announcements of KDE, and by mid-year all these GUI-oriented
application projects were springing up like mushrooms after a good rain
storm.

My take on it is that Linux finally hit critical mass, and took on
board a lot of graphically-minded developers as well -- refugees from
the Amiga platform, for example, and people who just plain want
user-friendly applications.

The screen I'm sitting in front of today is WAY different from the
screen I was sitting in front of in February '97. Back then I had
Netscape, and some terminal windows, and a WM that was a klugy half-
imitation of Windows 95. Now I'm facing a genuine drag-and-drop
desktop environment that looks a bit like a web-enabled Windows 95;
it's still missing a few things (I wish they'd get the POST HTTP
method working in the K File Manager!) but it's generally tolerable.
For word processing there's StarOffice 4.0 -- a MS Office 95 clone --
or ApplixWare, or Word Perfect 7. For photoshoppery there's the GIMP.
For line drawing there's Corel Draw, or the forthcoming GYVE vector
graphics app (a companion to the GIMP). For quick scripting there's
Perl, of course, with Xemacs as an editor -- or SpecTcl or
Visual Tcl or a host of GUI-oriented Tcl/Tk design tools. And there
are clones of the CodeWarrior IDE on the way (that call GCC as a
back-end).

I think by this time in 1999 Linux will be unrecognizable as the
raw-boned, half-grown UNIX clone I first saw in 1993 and first used in
earnest in 1995.

In the latest issue of The Linux Journal, there's an article on an
image-processing application known as The GIMP. It looks like Photoshop
for Unix but includes full source code and appears to be massively popular
on Linux. http://www.gimp.org/ is the main GIMP site.

I'm just taking another look at Linux. I have a significant dislike of
Unix, but if I can help turn it into something usable in some of my free
time, get the chance to add some OS hacking to my resume, and have some fun in the process...

One of the big reasons less people talk about user interfaces on the Unix side is the X Window System and the "I want to customize it to be exactly how I want it" mentality its lack of a single, standard control set has engendered among its enthusiasts.
There's virtually no agreement from what I can see on what a good user interface is, and X doesn't provide even the most basic primitives a true graphical user interface requires (only some graphics, window-manipulation, and event-handling primitives), so
the platform suffers as a whole.

I stopped on my way out the door and sat down for a minute to
watch the web server scroll. I find this meditative, even after all
these years, it's calming to watch people and robots from all over the
world crawling my site.

Couldn't agree with you more. In 1988, I started a group on the Internet that discussed and shared info about Saab cars (The Saab Network). What started as a mailing list naturally became a web site (http://www.saabnet.com/). It's very relaxing to sit
and watch the web access log for two reasons.

1. It's concrete evidence that I'm giving back something interesting
to the Internet. The faster the scrolling, the more I'm giving...

2. It's like digital people watching. Ever sit on a corner with an
ice cream or a coffee and just watch people walk by? It's neat to see
what interests people and how they move from one topic to the next.

Certainly Apache has been a huge success as a free development
project. But I believe to make it to the next level, there has to be some
really friendly colorful software that works reliably and that's
easy to install.

I've never coded a line in my life, just a UNIX & Mac SysAdmin. Like you I'm
not blindly loyal to a company or an OS, here's a quote from my rant to
leadership@apple.com from last year when Apple was about to kill the clones.

"I have preferred the Macintosh not because of fanatical zeal or an undying loyalty to a brand, I'm not that superficial. It's a much more calculated choice: Apple has had the superior technology. Now that I see Apple is no longer the technology leader
nor is it willing to foster technology innovation for its own OS, my commitment to Apple is wavering. For superior technology, I have to look at SGI's 02 or an IBM ThinkPad 560 for innovative hardware and NeXT-based Rhapsody, BeOS, or NT 5 for innovative
software. In the meantime, I'll continue honing my UNIX skills so that I'll still have a job in two years."

Lately, I'm more conviced that Linux is the OS for the rest of us. It may
not have the ease of use, but as the computer becomes an increasingly
commoditized consumer item, "the rest of us" becomes programmers,
sysadmins, and powerusers who are never satisfied with a shrink-wrapped
product.

Keep up the good work, it's alwasy fun to read about someone else's opinion
even if I don't always agree.

The free software community is a beautiful thing, but it has certain
limitations. It's no coincidence that the most successful free software
products are programming tools and Unix-like operating systems.
Community-supported software is supported by a community of...software
developers!

Programmers don't need much of a UI to get their work done, so you're not
often going to see a great UI appear either as the by-product of their work
or as the result of their altruism. Non-programmers have nothing to
contribute to the community effort, so they have no power to influence the
results.

On the other hand, at commercial software companies, the paying customers have immense power over the product, whether they're programmers or not. Money is the great leveling factor that lets the customers enjoy the software even if they can't help build
it. Companies that give programmers more power than end users quickly find out where the money comes from.

Caldera et al are an interesting hybrid: building something customers want
on the base of something programmers want. This leverages the strength of
the free software community, but extends it through the more traditional
model. Could this be a feasible route to (partially-) free software for
non-programmers?