Seven Things we're tired of hearing from software hackers
(historical note: I first put this online in September 2006, at digifreedom.net. In the following years, I reorganized my websites several times… until this piece went offline. I put it back at this new URL, with (almost) all the links updated, in December 2013)
1. Free Software is great because, if two Free programs are not compatible, anybody can write filters to convert files to and from each format
Sure, but this is simply dumb and inefficient. Filters shouldn’t exist in the first place; not among programs which must not compete for market share. Ditto for configuration data: why should they be imported and converted at all from one Free Software client to another? Why don’t all Free Software browsers share only one bookmark format? Why can Free Software email (or IM, or news or…) clients not read and write POP3 server, password, filtering criteria and so on… all from one single configuration file? Why do their users have to re-enter a lot of data, run special routines or need to know how to create custom conversion scripts to not lose those same data?
2. Free Formats and Protocols are needed to protect Free Software
Not really. As is, the slogan seems made to order for people who only want to tweak their computers and programs, rather than actually do something with them. Free Formats and Protocols are necessary and right just because they are necessary to communicate, regardless of how the software is developed and distributed. Data and knowledge exist before and beyond any single software application used to manage them, whatever its license is.
3. All software must become Free as in Freedom, as soon as possible
Can something continue to be really Free as in Freedom, if one isn’t free to chose something else? Free Software is wonderful, no question about it. It would be great if some day everybody freely adopted it. In the meantime, it might be more effective first of all to support Free Communication between people. Who is hurting that the most? Somebody using only OpenOffice on Gnu/Linux to write and distribute .doc files… or somebody creating OpenDocument files with Microsoft Office on Windows? What is the fairest and more realistic goal? Mandating Free Software on every desktop or allowing all desktop users to run their preferred programs at home and work, at the same time making a switch to Free Software easier?
4. Hardware is cheap today, and Free Software is great on older PCs anyways
No. First of all, cheap is a terribly relative word. It is really impolite to assume that what is cheap for you is equally affordable for people you have never met or met only on some mailing list.
In the second place, the latest versions of GPL word processors, spreadsheets, email clients… should work smoothly on 5 year old computers, not just on new ones. Otherwise, many people could not afford to be “Free as in Freedom”. The standard Free Software desktops available today are not efficient enough to run decently on older computers. Especially in the many cases when such computers cannot be used as thin clients (laptops, stand alone home computers) or there is simply no money to buy a powerful server for them. Recompiling programs to work with less resources, going with older versions or more limited alternatives is either not acceptable or not applicable, since it simply means any combination of:
- running software with widely known security holes
- giving up modern standard web pages, IMAP and other functionalities essential even on a basic desktop
- receiving no support usable by non programmers on the main mailing lists
- having very good programming skills and a lot of spare or paid time to apply them to recompile and patch everything
- having other powerful computers for compilng optimized programs
5. Every scratch finds an itcher
This was never true, even in the beginnings. In September 2006, the Wall Stree Journal asked Apple co-founder Steve Wozniak “What has most surprised you by how personal computers have evolved and how people use them?”. One of the surprises was:
...we thought that when people had a problem, they would write a program and solve it. We thought an easy programming language would be the key. Instead, what happened was that other people wrote programs for you. Now we have to find a program that will help us do our job and figure how to use it... That was a change we didn't really see for a couple of years.
Regardless of how things were twenty years ago, today most Free Software users are just that, users, not programmers or system administrators with a server cluster to run: people with the mindset, needs and skills which are very different from those of a professional programmer. See the “What really scares me” part of this message as just one of the countless examples.
6. Given enough eyes, all bugs are shallow
See previous point. This was true at the beginning, but today there are more reasons every day to consider the assumption that “just because thousands of people have access to the source code those same thousands of people will actually examine it” a “deluded belief”. Furthermore, the available bug reporting systems are “complex and scare users, but more fundamentally, users do not know how to implement a feature, and programmers seem to listen only to “code-jargon”.
Another excellent explanation of why bugs don’t get great info from everybody was posted on the Suse mailing list:
Those of us who aren't doing software and system config for a living, or as our major hobby, likely have just one Linux box that is also our main/only computer... not everybody knows what to do to gather just the right bug-diagnosing info (or can afford do it)... if they're working on a computer that needs to stay available for their **real** work or their **real** hobby.
7. This is a COMMUNITY: since you got for free some software that everybody can improve, you are a parasite to be ignored if you don’t do just that. Even if you can’t code
Right. Even ignoring money, there are other ways to contribute, just as valid as coding: writing documentation, for example. Too bad that good documentation can be written only by someone who has already used all the features of a program for a long time, not from newcomers.
Now, let’s ignore the cases where this is just an excuse to verbally abuse strangers because it feels good to do so. In real life, the principle that to ask for support or changes in a “community”-driven software you must contribute to it is disturbingly elitist, if not offensive, and really inefficient for the only community that really matters. It sends the message that other communities, including the one of all human beings, are worthless; that non programmers who already devote any moment of their spare time to free the community from trifles like drugs, child abuse, pollution, illiteracy, whatever… cannot do it with Free Software, unless they spend less time on the streets and more at the keyboard. This is simply incompatible with any attempt to introduce Free Software to social activists.
For more on these issues, you are welcome to read the Free Software Manifesto for all of us.