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.
I initially found this over-reaction by some members of the Linux community to be disturbing and perplexing. Then I realized that the comments were telling me some important information about Linux, its creators and followers. Based on this experience, I believe there are a few key ideas that the Linux community needs to grok -- to get clearly into its collective head.
Before stating my advice, let me make my bias clear. I hope that you (Linux developers and promoters) kick some butts in Redmond. I hope Linux and its applications become serious competitors to Microsoft's products in all computing environments for all classes of users. I hope consumers pay less for better software, and business systems become more reliable, thanks to your efforts. I agree with the Department of Justice that Microsoft engaged in predatory, anti-competitive business practices. I hope Microsoft gets their comeuppance from the Linux movement.
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.
You have a chance to do something significant in the history of computing. Linux can be an important contribution that makes computers less expensive with higher quality, and causes true competition in the operating system marketplace. You can advance the state of the art in software development practice, if you can use the open source method for this large, mission-critical software system. Don't blow your chance with hubris.
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.)