Modes of Production: Free Software and the Internet
Issue #37, March 1998
When I first started to explore the Internet, the thing which most impressed me was free software. By that point, free software was already a well established concept; but before I started to learn about the Internet, the closest thing to free software which I'd ever seen was shareware.
At a large university (like Berkeley, where I was), it is easy to idealize free software. It's not just that it embodies the best aspect of the academy — sharing information to everyone's benefit — but it is entirely free. At most universities, included in fees, students get access to powerful (and expensive) machines, as well as near limitless bandwidth.
When I talk about free software, I'm not talking about shareware or even of software like Microsoft's Internet Explorer (MSIE), which you can download and use without paying, i.e. "gratis". While many people use shareware as if it were free, legally speaking, it isn't. Equally important, unless you make arrangements with the author, you generally don't get the source code and can't use the software in whole or part in software of your own. With software which you receive "gratis" the latter still holds; and such software typically comes with a license which prevents you from reverse engineering it (i.e. trying to get the source code from the program).
What I am talking about is software which you get with the source code, with which you can build your own modified or entirely new software, subject to certain restrictions. The nature of those restrictions do vary between different projects; GNU (which stands for GNU is Not UNIX) provides a reasonably good, if somewhat biased, explanation of the different kinds of free software at http://www.gnu.org/philosophy/free-sw.html. GNU license, the GPL (GNU Public License), makes restrictions that many other free software projects don't — you can't sell (licenses for) software which is built in whole or part from GNU code.
Of course, for most people, before you can use any software, you've got to buy the hardware. And what's more, generally free software licensing terms (including the GPL) do allow you to charge for a copy of the distribution. And for the type of free software which I'm talking about, quite frequently you have to be very technically capable to make use of it.
Given the technical knowledge and expensive hardware required to use free software, and the amazing usefulness of commercial software for Windows, Mac, and other systems, it's fair to ask if free software is actually anything more than a toy for programmers, a product of the university system which will gradually fade as commercial organizations become more and more involved with the Internet.
The Joys of Labor
Clearly, the models of production for free software need to differ from those used for commercial software. In the commercial model, after someone has come up with an idea and gotten some funding for it, they hire a bunch of programmers, rent some office space and buy some computers, and have them start building a new product. By the time there's something which can be sold, the group backing this has got a significant investment which it needs to protect and eventually make back with interest. Usually that means selling as many copies of the software as possible, and protecting the source code zealously — because it's quite likely that someone who got it could make a better product, cheaper, using only parts of the code or at least its framework and design. The people who work to create this are almost inevitably alienated from their labor: once they're done, they get paid and their code belongs to someone else.
Even when companies provide software "gratis" ("for free" in the sense of costing no money), they generally do so in the interests of making money in the long run. For example, Microsoft provides MSIE "gratis" for strategic reasons: they want their software running on as many computers as possible, since it's been clear that in the long run, that strategy will provide them with ample opportunities to profit.
After the initial work is done on free software projects, the person or people trying to create the project will typically post information to websites, mailing lists, or newsgroups, to attract volunteers. The projects are generally managed by mailing list; the people working on them are often mostly volunteers who are geographically dispersed, frequently in more than one country. The software is generally available online for free, and on CDs for a modest price. If you use the software and fix bugs in it (or add new functionality), you can submit the changes required to do this to the developer group, who may choose to integrate them. Providing your users with a way to fix bugs or add needed functionality has shown itself to be a reasonably effective way to develop software — which is most likely a significant part of the reason Netscape has decided to make their popular web browser free software.
End user support is harder to get with free software than with proprietary software, however. For projects in wide use, there are companies that provide support for money. However, there are also newsgroups and mailing lists on which one can get some support from the user community. Those groups will happily help people who have already made efforts to find an answer in the documentation available on-line, but will react with hostility to those who ask questions without first trying to find the answer themselves. So while they're good resources for those who are already technically competent, they're not always much help for people who aren't.
Some people do make money from free software (some selling services, some selling products which extend free software programs), but it's also true that most of those who work with free software do like to give code to free software projects. They do so because they like to work, or they want to improve the software, or they want prestige, or they want to contribute to the idea of free software. Interestingly, the production of free software is an area where some of the ideas of Marxism seem to find direct application: from each according to his ability, to each according to his need. The people who help build free software seem happy to do the work; and once the software is created, it's about as inexpensive to give copies to ten people as to ten thousand. It actually seems a viable, sustainable model of production. And unlike a commercial model, the workers are not necessarily alienated from their labor: when they're done, they can show the code to others, reuse it in other projects, give it away, and so on.
To me, this is one of the utopian promises of the Internet: that it can transform our means of production and distribution. Without the Internet, it would be impossible to have the same rapid transfer of information between people as geographically dispersed as those in most free software projects; and without that, free software would be far less viable as a concept. The utopian side of this should be tempered with the knowledge that entrance into the community and use of free software requires hardware and often technical expertise, things far more available to those of the middle class than to other groups. But despite that, the model of free software is unarguably far more equitable one than that of commercial software.
But it does remain to be seen if free software is viable as it is. We've all seen the amazing things done with commercial software; Windows and other such products are in use nearly everywhere because they're easy to use and effective at what they do.
Fortunately, there are examples which suggest that at least in some situations, free software is a viable alternative. Many companies are using Linux or FreeBSD, two free UNIX-like operating systems which run on Intel (IBM compatible) hardware; many of the special effects for the blockbuster movie Titanic were actually done on machines running Linux. There is a full suite of tools available for these operating systems; some of these are competitive with commercial products, and others aren't. But as an example — there's a project called Gimp, which is a free software competitor to Photoshop, which many people in the multimedia industry are saying offers 90% of the functionality (including that provided by third party add-ons to Photoshop) — with the remaining 10% likely to be bridged in the not-to-distant future. It's not particularly easy to install right now — but that's something which may well be fixed, as those who use it gradually make it easier for others to use.
Another example is a project I occasionally contribute to called Apache, which is by far the most widely used web server software in existence. Apache and its derivatives are used on more than half the web servers in the world, according to Netcraft's surveys. Its success, combined with that of other free software projects such as Linux, have helped convince Netscape to make its popular browser free software. The next version will be available with source code, with development to be done by those who use the software and organized by a small group at Netscape using the same tools that free software communities typically use. The details aren't all worked out right now, but Netscape seems to be going ahead with this — which is good, since it seems to be Netscape's only hope in competing with Microsoft's Internet Explorer.
While Netscape started out with a significant technical lead, and a huge installed user base, Microsoft was able to throw far more resources at their product, MSIE, and to give it away for free; Netscape was free for individual and educational use, but not for commercial use. Netscape's browsers have been buggy (they've frequently failed to fix even reported bugs), unreliable, and bloated (if not so much as Microsoft's). At this point, there are clearly some operating systems on which MSIE is a better choice than Netscape — and MSIE is nearly as widely used as Netscape (the difference is small, and steadily shifting in Microsoft's favor). While Netscape will stop making money on the browser, they may make money on associated work — selling support or other services, selling advertising space, etc.. And what Netscape is hoping is that allowing the Internet community to develop a browser based on what Netscape's already got will allow them to produce significantly better software — software which really is competitive with MSIE.
There's some support for this idea. Apache was the first web server software to implement new features like HTTP/1.1 (a new specification for the language that web servers and web browsers use to talk to each other); and there are numerous studies suggesting that free software is more reliable and more secure — if from nothing else, simply from the fact that more people look at the source code searching for problems.
When I think of free software, I think of it in contrast to the products and tactics of Microsoft. By leveraging its strength in markets which it currently controls, Microsoft seems to be following the inevitable logic of capitalism, towards a monopolization of all available markets. Even if Congress does curtail Microsoft, the commercial software market will continue to operate according to capitalism's principles, which has software companies zealously protecting their source code as their property (i.e. accumulated wealth). Put another way, the problems are simply those inherent in capitalism, not ones specific to Microsoft: propriety software is available only to those who can pay for it (except for instances where the company expects to make more money by giving it away, at least for a while — given the licensing terms, they can generally change that if they choose), and those who build it are alienated from their labor. Free software appears to be, in the long run, the last real competitor to Microsoft.
The software marketplace is one in which it's possible to make amazing amounts of money, since it costs very little to produce each additional copy of the software. But for the same reason, it's a marketplace in which more equitable means of distributing resources may be a viable answer to the logic of capitalism. Free software isn't going to provide everyone with equal access to computers; but it can at least offer a model of unalienated, community-based labor which doesn't follow the logic of capitalism.
Ed Korthof works with (mostly) free software in the web industry in San Francisco. He's employed by Organic (www.organic.com), which provides some support for free software projects. In his spare time, he likes raving, coding, and games. You can reach him at firstname.lastname@example.org.