22 11 2006
Free Software Commons between North and South
by Felix Stalder (AT)
Can the freedom inherent in “free and open source software” (FOSS) foster greater freedom in diverse societies, including people who are not expert users of computers or do not have access to them at all? Or is FOSS, as empirical studies seem to suggest, something that is produced and used primarily in the technological centers of the global North, in Europe and North America specifically?
Before addressing this question, it is important to stress that “freedom” in the context FOSS is a legal concept, with a clearly defined and limited meaning. Software is said to be free (or open source), when the user has the irrevocable right to run, distribute and modify the software according to his or her intentions. If these conditions are given, software is free, even if forces the users up a (too) steep learning curve, or does not provide essential functionality. Thus, there is no necessary connection between the freedom inherent in FOSS and the actual freedom of people who might be using it, or be affected by its use more indirectly. However, the freedom that is built into FOSS is an important precondition to support freedom in a broader, social sense.
This for two reasons: transparency and distributed development. The first is mandatory, the second is a mere possibility, but one that is realized often, even if the distribution in terms of geography is still limited. In order to make the right to modify software practicable, the source code of the software – that is the code as written by programmers, rather than just the ones and zeros read by the machine – needs to be accessible. This means that a skilled programmer can read the entire code base of the program and thus see exactly the functionality built into it. In effect, it's impossible, or very difficult, to hide something. Knowing that functionality which allows, for example, back door access, or spying on users, can be seen by anyone who knows how to look, the temptation to put such features into the software in the first place will be much smaller. Thus, free software functions the very foundations our the technically-enabled societies, the software, is open to ongoing, public scrutiny. This can be likened to the archives of parliaments or courts, where citizens can go and see what the officials have been doing. Even if only few might actually go there, knowing that records are available to everyone interested already makes a big difference. Because, sooner or later, someone will go and look. In free software, the archives, so to speak, are heavily used, because the source code is scrutinized not just be investigative journalists or historians, but by everyone who contributes to the development of the software, which can be dozens, hundreds, or thousands of people, depending on the particular project. Thus, in effect, open source software is probably the most transparent, accessible body of complex technology ever created, even if the vast majority of people in practice don't know how read it.
The second feature of open source software, distributed development, builds on this in important ways. Because everyone can access the source code and make changes to his or her liking, but cannot, in virtually all cases, develop a program alone (advanced programs are far too large and complex for that), developers tend to collaborate, which is supported by a range of custom-built, internet-based tools, which can be used at little, or no, costs to the individual developer. Thus most open source software is the result of a collaborative effort of different people who each pursue diverging personal and collective agendas when participating in this process.
By "agenda" I mean simply someone's reason(s) to do a certain thing. Some of the reasons to engage in open source development are peer recognition, efficiency, aesthetic pleasure, financial gain or a particular social/political belief. Proprietary software is also developed by a number of different people, who arguably work on it for many different personal reasons (being paid is but one of them). However, there is – and this is the difference to the open source process – a single dominant collective agenda: the agenda of the company that owns the software and hires the programmers. For a publicly traded company, this agenda has to be to maximize value for its shareholders. At the end of the day, this single collective agenda overrides all others.
The combination of a single agenda that lies outside of the software itself and opaque source code makes it easy to put features into the software that are controversial, or even unpopular, but serve the agenda which dominates the developmental process. If Microsoft (or Sun, or Oracle, or Apple, or...) reaches the conclusion that its interests are best served by working against the users, then the necessary work will be implemented by the programmers, no matter if they personally belief this to be a good thing or not. The examples for such behavior range from the banal – low quality software released with great hype in order to conform to a marketing schedule – to the politically unacceptable, such as back doors which allow security agencies to access computers without their owner's consent or even knowledge. Both problematic examples reflect overarching agendas of the commercial companies which are unchecked, and cannot be checked, by outside developers or users. Open source software is very unlikely to contain such hidden features. Not only because it is open, hence the features would be visible to literate users, but also because the agendas of the people working on the development of the software are very diverse. It would, mos likely, be impossible to get an agreement of such features, or, they would cause so much discussion, that they were no longer hidden. Even more important is that in the open source development there is no mechanism by which someone could force someone else to adopt something against his or her own personal conviction, no matter what this convictions is. Given the impossibility of imposing an overarching agenda it is unlikely that there will be features embedded in the code that clearly promote any particular non-technical goal, such as gathering data for marketing purposes, or improving relations to government agencies through secret deals.
Does this matter? It does. Software needs to be clean and it needs be accessible to the full range of social actors. Computers and software can be thought of as amplifiers. They amplify the user's agenda by giving her access to means of, say, communication that she would not have otherwise. But computers and software also amplify the agendas of their makers. For example, the software that enables people to listen to music online allows million users to listen to whatever they personally find worth listening to. The software amplifies their power to gain access to recorded sounds. On the other hand, these players also promote the agenda of their developers. In case of open source developers, the overall agenda (that on which all developers can agree) is to develop the best player. Commercial software, on the other hand, the overall agenda is to make money. There are many ways of doing that, apart from creating good software. One is to collect data about what the users are doing and sending that secretly back to a central server where it can be aggregated and acted upon to the benefit of the company. There are numerous cases of software that has just done that. In such cases, we can say that now millions of users are amplifying the agenda of the developing company, creating an imbalance that is not in their own interest. Tracking music use might be a benign thing, but imagine the same functionality built into a word processor. Open source software reduces this imbalance. The various agendas of the developers cancel out one another as they meet on a relatively restricted common ground: the development of technically superior software. Consequently, open source software empowers the user vis-à-vis the developer for the simple reason that the nontechnical motivations of each individual developer become less important because they are checked by others who can not be assumed to share these motivations. Checked from a wide ranges of angles, the software becomes not only more stable, but also more clean or neutral.
Paradoxically, this political neutrality is a radical political feature in a context where software that is biased towards the interest of the commercial company is the normality. These are usually located in the global North and address needs of rich customers there. The recent wave of outsourcing to places like Bangalore has not changed this much. Indeed, despite the large number of skilled programmers, India is only a minor contributor to free software projects. Software needs to be cheap. While clean software addresses the imbalance of amplifying power between the developer and the users, cheap software allows more social groups to use that power than simply those with money. At the centers of technological development this is not such an important point because the connection between knowledge and money is more direct. The situation is different in developing countries where knowledge is more abundant than money. Open source software, because it is much cheaper, allows more people to use the amplifying power computers. Here, however, open source software has to compete with pirated commercial software, which is also very cheap, if not free of costs. But the costs factor is, perhaps, not even the main issue here. Commercial software, even if pirated and hence free of costs, is still software developed with a commercial agenda, dividing people in developers and users, sellers and consumers, and so on, and not addressing any need that cannot be fit into this framework. This is important from the point of view of the South, because it effectively prevents the possibility of skilled users to ever become skilled programmers, even if they wish to do so, for financial or non-financial reasons. Thus, proprietary software effectively creates, maintains and enforces knowledge monopolies residing in the North.
Finally, open source allows to create software outside the domain and the imperative of the market. In effect, open source software is a high-tech product that is developed outside of capitalism, neither reflecting buying power of clients, nor in-house commands of managers. It is not anti-capitalist in any political sense, rather it's a-capitalist. Now, there is considerable debate whether is should be likened to pre-competitive collaboration (as in basic research) thus stands in the chain of development before capitalism, or, if, in fact, it represents some new form of post-capitalist production. Given the heavy involvement of major publicly-traded companies (such as IBM) which are, by law, required to put the financial interests of their shareholders above all other interests, I would be hesitant to claim the latter. Nevertheless, within open source, the boundaries between for-profit and not-for-profit are becoming blurry, which at least gives the possibility, and we see evidence of this, of strengthening the non-commercial sector by catering to their particular needs regardless whether these constitute a profitable market or not. If only, by giving NGOs and other non-market, non-public actors powerful tools at their disposal, effectively leveling the playing field in regards to communication, between the rich and poor, large and small organizations. And this, I think, will also benefit a wide range of people irrespective of their computer literacy.
Thus, FOSS even though still mainly developed and maintained in the North, offers on numerous levels opportunities for developing countries to develop skills and functionality that can address their unique needs in ways that proprietary software will never allow for. Opportunities are there, in the heart of the technology, but to realize them, social, educational and political efforts are necessary. Technology on its own is but a promise not kept.