Archive of UserLand's first discussion group, started October 5, 1998.

Some Examples of Unix Xenophobia

Author:Eric Kidd
Posted:8/21/2000; 1:15:40 PM
Topic:A History of "Open Source"
Msg #:19879 (In response to 19857)
Prev/Next:19878 / 19880

The problem, repeatedly, with the Unix geek culture is the limit of their vision and their culture's self-contratulatory xenophobia. I want to try to pry open the minds, so we don't leave them behind as the Net morphs into yet another thing they don't understand.

This "Unix xenophobia" that Dave talks about is a very real thing. The Unix community is smart, no doubt about it. But it's also insular and arrogant. This behavior is not just rude, it's ultimately self-defeating.

Let me give you some examples.

User Interfaces

When I was in college, I wrote lots of Macintosh software. I admired the Macintosh developer culture. The developers cared so much about their users, and they built great interfaces.

It isn't easy to build great interfaces.

If you want to learn from the Macintosh culture, read Apple's Human Interface Guidelines. Read all of Tog's columns, if you can still find a copy of his book.

Macintosh developers know about usability, deep down in their bones. When they talk, Unix developers should pay attention.

And if you don't believe me, maybe you'll believe Richard Stallman:

The initial goal of the GNU Project was to make a free operating system that would be compatible with Unix. And that is what we got: the GNU/Linux operating system is as powerful as Unix, and as easy to learn as Unix. Which means, not easy enough ;-).

...Ultimately GNOME should aim to surpass Windows; the goal should be to make the GNU system as natural as the Macintosh. That won't be easy; it will require careful attention to the coherence of the interface, and to how non-hacker users respond when the program is set before them. But if we keep the goal in mind, we will get there.

So please, let's start keeping that goal in mind, OK? :-)

Component Software

The Unix community claims to have a "modular tool" philosophy. And if you're using command-line tools, this is true. But once you move away from the command line, nothing could be further from the truth.

Miguel de Icaza, leader of the Gnome project, spoke about this at the Ottawa Linux Symposium. The Linux Weekly News wrote an excellent summary:

According to Miguel, free software does not yet have much to be proud of. We have still not provided a complete free software system, which addresses the needs of most users. There's not much in the way of new ideas, everything has been inspired by Unix. And, as we have noted, Miguel thinks that Unix sucks...

Unix is said to suck because it has long since ceased to be a platform for innovation. Unix, says Miguel, is stagnant. Unix's problems come from its longstanding approach of not deciding policy. The kernel does not decide policy; neither does the C library, the X libraries, or the window system in general. The people who decided that X users could pick their own window manager created a situation where there were many, many window managers to choose from; "they were smoking crack."

Miguel, of course, got flamed to a crisp. In response, he wrote an excellent paper title Let's Make Unix Not Suck. In this paper, Miguel talks about xenophobia:

I have seen many times people defending the greatness of Unix by comparing the good things of Unix against the bad things of other operating systems. I have done this myself in the past.

Here is a common problem: people focus on their strengths and ignore their flaws when it comes to anything that is dear to them. Even worse, when comparing with another competing entity, they focus on their weaknesses and ignore their strengths.

He goes on to say that Microsoft is learning from Unix, but Unix isn't learning from Microsoft. And that Microsoft knows some pretty important stuff:

Unknown to the untrained eye, a large revamp of the core of [Microsoft's] operating systems was happening at the time: their COM component architecture which was originally developed to solve other problems was found to be a very good general solution to many problems: from scalability problems for software development, to code reuse and to consistency[2].

Miguel is very big into component software, scripting, and modular applications. (GNOME is actually a clumsy acronym for "GNU Network Object Model Environment".)

Some Good News

The Gnome and KDE developers are starting to learn about user interfaces and component software. They haven't caught up to Apple and Microsoft yet, but at least they're paying some attention to the world outside Unix.

A project such as Nautilus is doubly exciting. Here we have actual Macintosh developers who are contributing great new code to Unix.

Personally, I'm happy about these trends. They represent a breath of fresh air for Unix. Wise developers teach what they know, but they also learn from others.

Cheers,
Eric




This page was archived on 6/13/2001; 4:56:08 PM.

© Copyright 1998-2001 UserLand Software, Inc.