Price, Quality, Availability, Security, Simplicity, and Interoperability
The idea of choice is part of the bedrock of open source. But open source also wants to replace Microsoft on the desktop, or at least make a serious dent in Microsoft's hegemony. To do that, the open source community must recognize that its primary goals: freedom of choice, freedom of source code, and freedom to alter applications, are not the goals of the average user.
Choice, to most users, is the ability to choose any program they wish, and have it install and run seamlessly, without affecting any other application already installed; without requiring them to know which GUI they're running (or even that they're running a GUI); without altering path statements; without editing configuration files; without facing a command prompt; and without having to compile any source code; create any makefiles, or any other programming task that only developers are fond of.
|It's extremely important for the open source community to be responsive not only to users' freedom to choose, but also to users' freedom not to have to choose.|
They don't care that they can't see or change the source code to their current programs. They don't care that they don't actually own the software, as long as they only have to pay for it once. They don't care that most of their software comes from a single source. In short, they don't care about the fundamental issues behind open source software at all. But they do care about price, quality, availability, security, simplicity, and interoperability. Supply these, and open source will be the
So far, the open source community has been highly sensitive to the needs of power users, hobbyists, and centralized IT departments, but highly insensitive to the needs of average, technically (and sometimes literally) illiterate users. Many people will argue that the public should be educated to value software choice and to see Microsoft's impositions and removal of choice for what it is. But it is a grave mistake to stake Linux' future on the hope that millions of people will be inspired to software activism, that they will take the ideological high road when all they want is to buy a piece of software that works with a piece of electronics.
Don't shoot the messenger. I'm trying to ease the transition of Linux into a Microsoft-centric world. Instead, go ask average users what they want. Microsoft does. They perform extensive user testing with every major application. Microsoft's choices weren't made by fiatat least, not in recent history. Open source software must begin to address these users' needs if Linux is to become a real competitor to Windows.
Start with a Standard GUI
The tradeoffs made by the open source community between usability vs. choice will become increasingly important as various distributions and organizations (such as SuSe and Lindows) try to move Linux into the general desktop market space. It's extremely important for the open source community to be responsive not only to users' freedom to choose, but also to users' freedom not to have to choose.
As a first step, open source proponents should band together to create a standardized Linux/GUI combination as a single platform for application development targeted toward average users with the goal of removing barriers to generalized adoption. Doing so would not remove or limit choice for more advanced Linux users. Vendors and open source projects would be free to choose to support the standard or not, just as they please. Freedom of choice is not incompatible with the concept of providing a standard platform. Applications that meet the standard would:
- be guaranteed to work on the defined standard platform
- have an install program that automated all modifications to the target machine and provided reasonable and intelligent default settings
- have an uninstall program that removed the software but would not affect any data produced with the software
- would interoperate (where appropriate) with other standard applications
- would include the ability for users to manually or automatically upgrade their applications to the latest stable release version
Any such group should immediately implement comprehensive end-user testing and make the results available to the open source community. A project that builds on and augments the existing Free Standards Group recommendation, the Linux Standard Base (LSB) project, might be a good first step. The LSB provides tests and documentation so that organizations can certify their Linux application binaries as compatible with a specified binary standard.
The LSB project doesn't address GUI concerns, and perhaps it shouldn't. After all, not all applications require a GUI. But those that do need some way to provide assurance to users that the software will run on their systems. Until that happens, average users aren't likely to get very excited about either Linux or open source.