Why free software isn't there yet
(and what can be done about it)
It's a paradox. Two very different software offerings. One expensive, virus-prone, secretive, and controlling. The second free, secure, open, and empowering. Yet the first is ubiquitous and the second a minor player. What could possibly explain this state of affairs?
First we must ask - what is the goal? I think it is to have a free software stack on the average user's computing device of choice. That implies upwards of 90% market penetration. Why should that be the goal? Cost, functionality and control. People are paying too much money for proprietary software. It is vastly over-priced. Really, is Windows worth more than about $5 a pop? It is priced at what the individual user will pay, and bears no relation to its cost of production. That's a lot of consumers' disposable cash sucked out of the economy when it could be used to buy real goods and services. And what do they get for it? Precious little. Windows doesn't come with much in the way of real applications that people want to use. More dollars for more overpriced software. But the last reason is the most important. You cede control of your computing platform to other agents, who have their own interests first and foremost. In effect, you are paying your jailer for the privilege of being in prison.
So I think it is a worthy goal to provide the benefits of free software to as many people as possible. I don't subscribe to the idea that one should have to make an effort, or some kind of sacrifice, before being admitted to the club. That just raises the bar impossibly high for most people. On the other hand, neither is it some kind of a right. People aren't entitled to free software. So what is it? To me, it's just an economic inevitability. Software in bulk is cheap. It may be expensive to produce the first copy (unless volunteer labour is used), but after that it is practically worthless if enough units are made. The more people using a piece of software, the more ridiculous it gets that there is anything other than a nominal price associated with it. The fact that the vast majority of people are continuing to use proprietary software for their basic personal computing tasks is not natural. We shouldn't look outside the free software community for the reasons. We can only do that so long before the excuses start to wear thin. It is our own deficiencies that are holding back the process.
So what are the problems? I believe that's best answered by looking at what the three main actors want, and whether those wants are being supplied.
First the consumer, since the consumer rules. At time of purchase, they want to buy a computing device with their basic needs already supplied. That means a device (PC or whatever) with an OS installed plus a rich software stack that covers what most people do. Can they do that now with free software? Only with great difficulty and in limited places. For example, you can't walk into a store and buy a PC with all that in place. But how can the free software community change that? Isn't this a chicken and egg situation, with no supply until there is demand, and no demand until there is supply? I don't believe so. This is another of those excuses that let us off the hook and prevent self-examination. There is no demand and supply because the current product is inferior.
Continuing with the consumer, and assuming the obstacle is somehow ovecome and now they have a nice PC loaded with free software at home. What kinds of things are they likely to do? Browsing, email, chat, spreadsheets - no problem. But of course most people want to add additional applications that fit their special constellation of interests. There are several ways this need might arise. They could be part of some special interest group, and there might be companies that cater to it, or the group might produce their own. They might have specific must-do tasks, like calculating taxes. Or they might be required to install an application that they use at work. Or perhaps they just want to relax with a certain type of game. In other words, the need can come from anywhere. The consumer wants to be able to install software from any legitimate supplier onto their PC and be sure it's going to work. With free software, the process can be very easy, but only if limited to a pre-selected repository. The repository may be huge, but it is still a world unto itself, a small microcosm of possible needs. Step outside and there is either nothing, or a minefield of stuff that may or may not work.
And finally, after using the PC and software for a few years, the consumer may want to upgrade to a newer version of the operating system (or an application that requires the newer OS) because they've been told it's shinier and has features they have to have. If adventurous, they might try to upgrade the OS as if it were any other piece of software. Or they might take their PC into a store and have it done for them. The first probably leads to disappointment and trying the second method. (Or even chucking it all out and starting all over with a new PC.) In any case, there is nowhere to go to have your free software stack refreshed.
The second actor is the point of hardware purchase, whether retail store or online system supplier. (And they are part of the free software solution as already mentioned, because the free software base must come pre-installed on the equipment being sold if free software is to spread beyond more than the small motivated group of people who will wipe a preinstalled Windows or dual-boot.) What does the retailer want? To make money. And that means selling something. But doesn't that mean they have a disincentive to include free software, which earns them no profit? Yes, it does. And many will refuse to get involved for that reason. But that creates opportunities for others who will supply a need and take just the hardware-related dollars even though they are less. We have seen some of that already, but for the most part these retail efforts have failed because the product they are offering simply results in too many returns, or not enough satisfaction to build momentum. For the most part, they are providing a product without support, pushing it out the door and hoping never to see the consumer again. No relationship is being built, and no technical expertise backs it up. That may be fine for the current sort of Linux user who expects to solve problems on their own or through a network of like users. But it is no way to grow a market beyond them. And yet, how can a retailer support free software? It is impossible to have expertise in all the popular distros, yet they limit their market by concentrating on one or two.
The third actor is the software provider. Their motives are various (profit, recognition, challenge), but they have one thing in common - they would like to see their software in as widespread use as possible. That means the software they develop needs to have as wide potential availability as possible. Currently that requires a large effort because there are so many targets, all of which are moving (changing their installed libraries) and of different sizes (have wide-ranging market shares). The trade-off they face is between increasing time and complexity and decreasing coverage. The LSB has helped to narrow these parameters, but it is still a less than comfortable situation.
So what is the way out of the current stagnation? Can free software break out into general consumer use? How can free software change to accommodate the needs of consumers, system providers and software providers?
I think the answer lies in two words: reference standard. Disappointed? Thought there was going to be some type of magic pill that would finally make everyone see the light and realize what a great thing they are missing in free software? It will never happen. Only the very few will be motivated by the concept of software freedom or will make any effort beyond what is already required of them. (This also illustrates why FireFox has become successful - downloading and installing an application is something most people are used to and will do if they see a real payback - and why installing a free OS has not.)
What is a reference standard, and why will it make any difference? Imagine a world in which a viable collection of free software - kernel, libraries, system utilities, and most commonly used end-user applications - is agreed on and released every two years. It's a complete stand-alone system, albeit a minimal one. Additional applications are easily installable (without a dependency checker/resolver because the base libraries are known) into their own directory. Such a standard would go far beyond what we currently have in terms of making a contract between system and developer.
What would be the benefit of a reference standard? I think the impacts are far-reaching and would positively impact each of the three actors.
The software provider's task becomes easier. Knowing what's present in the version of the reference standard reduces the number and complexity of the situations they must account for. They can produce an app targeted to reference standard 2010, and continue to produce updates or new versions as they require. Later they can produce a new version of their app targeted to reference standard 2012 exclusively. The app can be installed in its own directory with all supporting configs and libraries not in the standard. With fewer targets, more providers will get involved, even without the prospect of immediate widespread use, simply because the price of entry is lowered and the potential user base is so much greater.
The retail system provider now has something solid and predictable to offer and support. With a reference standard in place, training in order to provide after sales service to the average consumer gives promise of making returns not just on the hardware.
The consumer gets a system with a pre-installed software stack, and is reassured that they are not alone in their choice. Adding additional software is easy. They can go anywhere and simply choose the version of the app for their release of the reference standard, and be assured it will install correctly. Uninstalling is as simple as removing the directory with no dependency implications.
Note that a reference standard is not the enemy of choice. There is no conflict between multitudes of distros and a reference standard. Any distro that finds it advantageous to start from the reference standard and add software on top to meet the needs of its intended target audience poses no problem to any of the three actors. And any distro that wants to go its own way is also no problem as its intended audience must necessarily be capable of dealing with its individual way of doing things.
How could we ever arrive at the point where a reference standard comes about? Perhaps an expansion of the LSB's scope. Or perhaps a de facto standard emerges through a dominant distro. For certain the opportunity of industry leadership was missed when IBM, burned in several previous attempts at standards setting, took the path of standing on the sidelines and watching Linux emerge organically. However, the most likely future for free software is more of the present: a slow penetration of the existing limited market, with a few large scale adoptions by risk-taking organizations. That this will be enough to spark a general uptake by the average consumer seems unlikely.
Consumers, retailers, and software providers are at odds with the current set of Linux users. The first group seeks stability, orderly change, and predictability. The latter, because they are technically more adept than the average consumer, gets bored easily and wants rapid change and new experiences. As long as free software is focussed on satisfying their needs, it will never expand into the far greater pool of potential consumers that should be benefiting from free software.
Last revised: 2009.05.24 Send me a comment home