What a difference a year makes. With every new release of a Linux distribution, the operating system takes another giant hopscotch forward in addressing one of its most frequently criticized aspects: ease of use. The spanking new Caldera OpenLinux 2.2 -- featuring the KDE graphical user interface (or GUI) and scads of other goodies -- offers by the far the easiest, most idiot-proof installation of any Linux distribution so far. Even more intriguingly, it extends to Linux newbies the warm comforting embrace of a graphical desktop environment so much improved over last year's model that one can only wonder what will be next.
Expert Linux users are by no means united in praise of Caldera's new offering. To some, the installation procedure doesn't offer enough choices; to others, it makes the job of upgrading from previous versions very difficult. But underneath the glossy new exterior, the messy, anarchic complexity of Linux still swarms. Hackers who want to ditch the slick KDE interface and start tinkering with the engine can drop down to a command line without hassle. In theory, then, one might call OpenLinux a major stab at achieving the holy grail of Linux computing -- seamless user friendliness without any sacrifice of flexibility and configurability. (Never mind, for now, the always controversial issue of whether Caldera and KDE qualify as truly "free" software by the stringent standards of Richard Stallman and his cohorts.)
The theory doesn't quite hold up, however. Despite its evident power, the KDE desktop interface is still really just a veneer disguising a host of challenges lurking for the unwary user. It is all too easy to plunge into the innards of any Linux system and severely mangle the "user friendly" shell; believe me, I know. And there's also the question of where the continuing evolution of no-brainer Linux installations is leading. The various Linux distributions continue to morph into distinctly different identities. Does this mean that the Linux market is fulfilling the predictions of open-source skeptics by beginning to fragment into incompatibility, just as Unix did before it?
First, the good news: OpenLinux 2.2 is easy to install. I installed it on two different machines -- a four-year-old Pentium 100 clunker and a brand new box from VA Linux Systems (formerly VA Research). In both instances, the work proceeded smoothly -- without one single command-line entry required. While the installation software did not automatically recognize the make of either monitor, it was easy enough to choose the correct model from a drop-down list. Perhaps most remarkably, for those who are familiar with the intricacies of Unix and Linux, OpenLinux even allows users to skate right through the process of partitioning their hard drive. Basically, you pop in a floppy disk and a CD-ROM, click on a few buttons, wait an hour or so and you're done.
After installation, I stared at a graphical desktop that looked remarkably familiar to someone coming from a Windows background. I could click on icons for my CD-ROM and floppy disk drive -- no more cumbersome "mount" commands necessary to access files stored there. I could get Netscape or WordPerfect running with a minimum of labor. On my machine at work, I connected via ethernet to the office network on my first attempt. At home, to my enduring astonishment, I was even able to configure PPP and connect to the Net -- on my first try.
There are, naturally, still bugs in the system. The PPP connection, although easy to set up, proved to be extremely unreliable. I also managed to brutally crash my systems through actions that would no doubt have been unimaginably stupid to a Linux guru, but seemed to me quite normal things to try. Is OpenLinux 2.2 as easy to use as Windows 98 or an iMac? No.
But even as my PPP connection was crashing, the KDE developers were announcing a major new upgrade of KDE that included a fix for some PPP problems. For Linux watchers wondering when to make the jump from Windows, the relevant point to consider is not whether Caldera's version of Linux is better, now, than Microsoft Windows. The sharp upward angle of the Linux growth curve is the real eyebrow raiser. There's no longer any question that hackers can produce a usable GUI. Even in the relative backwater of help documentation, KDE is making substantial progress (it is, for example, light years ahead of its main competitor, GNOME). Sure, there are spelling and syntax errors in the documentation -- not to mention a basic, and possibly misplaced, assumption that all new Linux users are intelligent human beings. But those are quibbles. OpenLinux 2.2 screams progress.
And yet, at the same time, it waves a warning flag. Once you begin to dig deeper into the various Linux distribution packages, you start to realize that Linux's vaunted flexibility is also an invitation to endless confusion. There are enormous differences in how the distributions are configured -- key files are located in different places, startup scripts perform operations in different orders, and there is a tremendous variation in the number of applications designed to work with different GUIs.
According to one software engineer with whom I struck up a correspondence on these issues, the endless flexibility presents major problems for GUI-based applications and configuration tools -- which depend on certain files being located in certain places and structured in certain ways.
"It is not practically possible to slap a GUI on top of a command line interface-based system and call it a day," says Eric O'Dell, the director of information services at the Gadget Guru. "If your computer is a bureaucracy, using GUIs to communicate with it is a bit like filling out forms to get some bureaucrat to perform a simple task. A command-line interface, on the other hand, is like being the bureaucrat's boss and just telling him what you want done. With a GUI, if there isn't a form ready to perform the task, it can't be done, period. With a command-line interface, no such limitation exists."
The problem, says O'Dell, is that there is a "strong tendency for configuration files to become hopelessly corrupted" if users try to use both GUI tools and command-line direct intervention at the same time.
"Either usability suffers or flexibility does," says O'Dell. "Since the hackers maintain the system, there is obviously a certain reluctance to cripple the system just to satisfy end users, who are not held in very high esteem anyway. Until some really clever hacker comes up with a way to get GUI-based parameters to peacefully coexist with scripts, there will be no real progress."
There may even be some regress. As the various distribution vendors seek to target different markets and solve end-user problems in different ways, the vendors are fragmenting the Linux market. The fragmentation will never be as severe as the splintering that has hamstrung Unix: As Linux advocates are quick to note, all the distributions use the same basic kernel at the operating system's heart, and the fact that all operating-system code is open-source and available for inspection means that it is much easier to solve incompatibility issues.
But there's an intermediate ground between the kernel and the graphical user interface where differences between distributions are exploding. KDE has its own batch of applications that work with KDE. GNOME has its own batch of apps that work with GNOME. Caldera's version of Linux, designed to work with KDE, is different from a Red Hat system running KDE. The endless configurability of Linux is a beloved boon for hackers only concerned with doing their own thing -- but for application developers seeking to reach out to an undifferentiated mainstream market, it must be a nightmare in the making.
Just think about the challenges in providing support -- supposedly a key revenue-generating business model for open-source entrepreneurs. To provide general support for Linux to end users, one would need to be an expert in not just one GUI, but at least two, and then in the intricacies of how those GUIs are configured on a host of different Linux distributions. It's no longer enough to go to a Usenet newsgroup, ask a quick question, and get an immediate answer; there are far too many variables.
The variables are a sign of Linux's strength -- its grass-roots approach to solving problems. But they are also an indicator of the central contradiction that will continue to plague Linux developers.
Says O'Dell, "It's easy to create powerful but hard-to-use tools, and it's easy to create easy-to-use but inflexible tools. It's really hard to make a tool that's both powerful and easy to use."
Such a goal is an immense challenge for all software manufacturers, not just the Linux hackers who are only now getting started on it. And who knows whether it's even possible? But that in itself is good reason to pay attention to the continuing development of a GUI for Linux. If the open-source community can crack this nut, what can't it do?