Not that long ago, I made the Founder of the Free Software Foundation, Richard Stallman, mad at me. At the time, I thought it was quite an accomplishment as I had never met Mr. Stallman and was fairly certain that he had never heard of me. To be honest, the controversy between us is of small consequence. Should we meet in the future, we will not be likely to exchange blows. However, the controversy between us was a reminder that the software world remains divided between those who believe that software should be free and those who consider it to be a commercial product.
The disagreement began when Mr. Stallman posted a request for information about software might have created or resolved social conflict. As I had been collecting stories about how the early software industry developed, I identified one story that seemed to fit his need, wrote a short essay on it, and sent it to him. In reply, I received a note that said that the story was not at all the kind of thing that he was seeking. He wanted stories of how software resolved big disagreements among peoples and cultures rather than an anecdote about a minor problem in the technology industry.
Perhaps I am being overly sensitive. Perhaps he really wasn’t that angry with me. However, in rereading his note, I can see that he was really telling me that I was thinking about problems and issues that were too small for him to consider. I can accept his point. The world has more than 7 billion people. Most of these people are unconcerned about the software industry and pay no attention to conflicts between software producers and software consumers.
Yet, the software industry is large and influential. According to the Gartner organization, it had revenues of US $407 billion in 2013. That figure is bigger than the Gross Domestic Product of all but 25 countries. Yet within this industry, you can find honest conflicts over the nature of software, over whether software has a value, and over whether companies should be able to charge a fee for software.
Stallman founded the Free Software Society in 1983, when he was a programmer at MIT in Boston. One of the first projects of the Free Software Society was to develop a version of the Unix operating system that could be distributed freely. Unix had been developed about 10 years earlier at Bell Laboratories, the research arm of the telephone company, American Telephone and Telegraph. It was simple, straightforward, and easy to use. It quickly became a favorite system at research universities. By 1983, it had become a commercial product that was distributed by several different organizations.
In 1983, the software industry was still new. By any account, it was no more than 15 years old. In the summer of 1968, IBM had announced that it was going to start charging its customers for software, an event that has come to be known as the “unbundling announcement.” As part of this announcement, IBM said that its customers could purchase software from other companies. However, in 1968 only a very few companies offered software for sale. There was no organized software industry. No software standards. No common form of a software product.
The software industry grew steadily during the 1970s. Many of the first software companies were led by former IBM employees who wanted to create their own businesses. These companies initially had difficulties raising money. Banks were unwilling to lend them money because these firms had no assets. At best, they owned an office and a computer system. The new software firms produced no material products, owned no factory, and had nothing that a bank could seize if they failed to repay the loan.
Of course, if software had no value, it would be difficult to create a profitable industry based upon it. In 1976, Bill Gates made exactly this point in an open letter to computer hobbyists. “Who can afford to do professional work for nothing?” he asked. If his company did not get paid for the software it created, “there is very little incentive to make this software available to hobbyists.” Over the course of his career, Gates had to return to this idea repeatedly. However, by 1983, he could claim substantial success. He and others had been able to convince people that software was a product and that people should pay a price for using it.
Yet, even though Gates’ company, Microsoft, could make substantial profits from software, many people, including Richard Stallman, still believed that it was wrong to charge for software. During the 1980s and early 1990s, many of them produced software that could be distributed without charge. They often called these programs freeware or shareware. Stallman’s organization, the Free Software Foundation, established the legal tools for distributing software. His group created software licenses that allowed software to circulate freely and prevented individuals from capturing that software and then selling it as their own product.
Some of the advocates of free software were driven by ideology. They wanted to replace the capitalist economic system with a different system that they viewed as more egalitarian and more fair. However, other programmers had had other reasons for creating and distributing free software. These programmers recognized that by working on free software, they could expand their skills and have an impact on the big issues. During the 1990s, both kinds of programmers began creating organizations to create other free software systems, including free operating systems, free Web browsers, free databases, and HTML servers.
By 2000, many of the people who were developing free software were identifying their products as open source software. Open source software is not quite the same thing as free software, though it is closely related to it. Open software is free software that must be distributed with its original source code. By making the source code a public, these developers altered the way the software was created and expanded. With the code in the public domain, anyone could fix a problem or add a feature.
The open source developers found that they were no longer managing a group of programmers who were receiving a salary for their work on the software. Instead, they were accepting contributions from people all over the world. Instead of setting the agenda for their project, they were following the lead of volunteer programmers.
Over the past 15 years, the developers of open source software have developed their own set of procedures for managing their projects. As base, they are replacing a rigid and formal managerial structure with an open marketplace. In this structure, no one, or very few people, has a formal connection to the project. People are free to contribute ideas and let the market select the best ideas. The founding document for this style of
About two years ago, one of my students married into the open source software moment. Her new husband, Andrew, was the chief developer of a content management system, a system that supported almost 25 percent of the world’s Web pages. When it came time to introduce me to Andrew, my student confessed that her husband was a little nervous about meeting me. I was a little surprised about this news because I had assumed that he and I would have much in common. However, I quickly discovered that Andrew’s nervousness was motivated by the division between the open source movement and the conventional software industries.
The conflict between the two parts of the software community is the conflict between formal education and learning on the job. To Andrew, I represented IEEE, and organization that had devoted much effort to organizing computing education. We have developed standard curriculum and supported formal standards. By contrast, Andrew had never taken a formal programming class. He had learned all of his programming skill by working on open source projects. Step by step, he had learned how to fix bugs, add features and manage teams of programmers. He had never taken a programming class or even finished a college degree.
Open source software has become a model for other groups to produce goods and services. With the Internet and with inexpensive computing services, they have been able to organize many kinds of markets. You can find open source markets, that solve scientific problems, do consumer research, do graphic design, and even organize political movements. In this sense, Mr. Stallman was probably right. I was thinking too narrowly when I only considered how the software industry has been influenced by its own creation.
At the same time, the industry had to develop its own methods of creating products and learn how to transfer those methods to other fields. Andrew, the husband of my former student, is part of that transfer process. Rather than disagree with his approach to software development or claim that he needed to learn formal methods, I can only encourage him in his efforts. I was part of a generation that demonstrated that software had value. He is part of a generation that is trying to spread that value to new fields and new people. We don’t disagree over the nature of the value. We just promote it in different ways.
About David Alan Grier
David Alan Grier is a writer and scholar on computing technologies and was President of the IEEE Computer Society in 2013. He writes for Computer magazine. You can find videos of his writings at video.dagrier.net. He has served as editor in chief of IEEE Annals of the History of Computing, as chair of the Magazine Operations Committee and as an editorial board member of Computer. Grier formerly wrote the monthly column “The Known World.” He is an associate professor of science and technology policy at George Washington University in Washington, DC, with a particular interest in policy regarding digital technology and professional societies. He can be reached at grier@computer.org.