What The Linux Community Needs To Grok (Grok: to understand deeply, from Stranger In A Strange Land by Robert Heinlein.) Recently, I published two newspaper
articles that evoked the wrath of many Linux fans. The first
article was not about Linux, but only mentioned it in passing. The second article was about Linux and stated the obvious
conclusion that it has a way to go before it becomes the best choice for nontechnical
users. The responses I received to the articles said that I am stupid, ignorant,
unethical, and a pawn of Microsoft. One reader took the trouble to track down the name of
my boss (at a local university where I teach part time) and wrote to him suggesting that I
be fired. That said, here are
the important points that the Linux community should internalize
People set up computers alone. When people buy a new computer, they often bring the box home from the computer store, and then let it sit on the bedroom floor for several days as they screw up their courage to open it. When they do open the box, they turn on the computer fearfully and hope that it starts up correctly. If there are any problems, they have no one to call for help (other than the manufacturer's support line, which often is not very helpful). To address this
reality, new computers with pre-installed Linux should work fully and completely the first
time they are turned on. When the user plugs in a standard option that they already own --
printer, network, external storage device, etc. -- those options should be recognized and
configured automatically. For users who are installing Linux on an existing computer, the
process should be nearly as simple (although perhaps more time consuming). The
installation procedure should recognize and configure automatically all standard devices,
adding them to the desktop or file tree as appropriate. The model for this
ease-of-setup is the Macintosh system, which truly is user-friendly. Some pre-built Linux
systems and Linux installation CDs may already meet this goal. Many do not however. Some
readers told me that part of the Linux installation process is to have a "Linux
friend" who can edit a few files in /etc to solve any nagging problems.
Unfortunately, most people don't know a computer expert of any kind, much less a Linux
expert. It is important for the Linux community to keep in mind that most users will be
completely on their own when setting up or installing Linux systems and software. Learning new applications is hard. Millions of people have spent years learning a particular business application suite -- most likely Microsoft Office. They know the word processing keystrokes, spreadsheet menus, and graphics commands like the back of their hand. Switching to another office suite, like Sun StarOffice, is very difficult for most people. All of their existing documents, representing years of work, may import poorly to the new software. Key features that they depend on may not be present in the new application. People also are busy at their jobs. They don't have a spare 10 hours to learn the basics of some new software, or another 50 hours to get really good at it. For Linux experts, learning a new application is relatively simple. For most computer users, it is not. Several Linux fans
wrote to me stating that the "application problem" is actually a "user
problem". Users are incorrectly resistant to change, the argument goes, when they
should be accepting something that is new and better. This is backward thinking. People
create computers to do the things that people want to do. It is not the job of the masses
to adapt to your computer system. The history of business is carpeted with extinct
companies that did not understand this. A good example to follow is Palm Computing, which
understood what people really wanted to do with handheld devices, and captured the market
as a result. Consider focusing your immediate application efforts on the few key pieces of software that receive 90% of home and office use. Microsoft Word and America Online are near the top of this list. You might create a native Linux look-a-like for MS Word. To speed development, initially it can include just the most commonly used subset of features. Convince Steve Case to let America Online's engineers port AOL 5.0 to Linux. A Linux computer with these two pieces of software would be a great home system. The Wine project, if it succeeds, will provide a longer-term solution, by allowing users to run their familiar Windows applications "as is" on Linux. (Note that VMware
is not a solution to the application problem. To run Windows software, VMware requires
users to load and configure three operating systems -- the virtual machine program, Linux,
and Windows. Windows applications then run on the virtual Windows machine, not on Linux at
all.) Open source
still requires good project management. The Linux community has been on a honeymoon as
it has created the Linux software. You have been allowed to develop the system at your own
pace, put in the features you want, and release it when it is ready. The reason for this
is that, until recently, Linux has not been mission-critical to many important
organizations. But that is changing. As Linux is embraced by more organizations, and used in more ways that are crucial, the demands upon you will increase. New feature ideas and bug reports will no longer go onto a "wish list"; they will go onto a "hot list." You will face pressure to add 50 new items to the next release, when it really ought to have 10. Wealthy organizations, accustomed to getting their way, will demand impossible schedules from you, and then complain if the quality is not perfect. Some readers have
suggested to me that the open source method of software development causes project
management issues to evaporate; that the projects manage themselves. This is a fantasy.
The open source method, while it does solves some problems, raises new ones. You will be
managing a large public programming project with conflicting demands, tight schedules, and
the need for high quality. You have to figure out how to do this well. Hopefully, you can
invent and master new techniques for software project management within the open source
method. But if you don't, the complexity of this task will sink your whole endeavor. Humility is a virtue. If Linux succeeds in a significant portion of the computer world, and it looks like it might, your time in the limelight is short. I worked at Digital
Equipment in the mid-80s, when they were on top of the computing heap. Their annual user's
meeting in Boston was so large and lavish that they rented the ocean liners Oceanic and
Queen Elizabeth II. DEC docked the boats next to the convention center, using them to
house and entertain important customers. Executives at DEC believed they were invincible
and that, if they kept doing things as they were, the good times would continue to roll.
Just a couple years later, the mini-computer fad was dying and DEC failed to embrace PC's.
DEC's stock sank to 10% of its previous value and before long the company ceased to exist. Lotus nearly went out of business when it did not see that Windows was more popular than OS/2. IBM's mainframe division took a nosedive when they failed to understand the importance of mini-computers and connectivity (allowing DEC to flourish for a while). The same thing will happen to you. The Linux killer is just around the corner. You don't know what it is, and you won't recognize it when you first see it. The next generation of techies will understand it and will consider you old fogies for having your heads buried in the Linux sand. So dont get
cocky. Stay humble and keep listening to your customers. If you do, you can extend your
time on top for a while. *
Biography: Charles Connell is
president of CHC-3 Consulting Inc., teaches computer science at Boston University, and
writes frequently on computer topics. He can be reached at www.chc-3.com.
(Copyright 2000 by Charles H. Connell Jr.)
|