In the first week of July, 7,000 people gathered in Porto Alegre, in southern Brazil, for the annual meeting of the International Free Software Forum. Every year since 2000, the forum has met to discuss what is commonly known as open source software -- software that individuals can use, change, and redistribute -- and is called “free software” by many of its true believers. The forum, one of the world’s largest, takes place thousands of miles away from the place where the free-software movement originally started, at American universities such as MIT and Berkeley. And that is no accident. Although the production of free software remains largely centered in the United States, it could end up having greater economic and political consequences for places like Brazil.
SOFT ON SOFTWARE
From the earliest days of computing in the 1950s and 1960s, technology firms recognized the economic value of computer hardware. They sold physical computers at high prices and protected the designs using patents and nondisclosure agreements. The tight control exerted by the computer manufacturers, which were mostly based in the United States and Europe, angered many engineers in countries such as Brazil, who wished to see such technologies produced in their own countries. Reliance on foreign technologies also worried policymakers in the developing world, since the high cost of imported machines threatened to drain sparse foreign currency reserves. The increased use of computers for military purposes made dependence on imported computers all the more unnerving.
In the mid-1970s, Brazil resolved to address those concerns by building a national computer industry. It was one of only a small number of developing countries to attempt to do so. By early 1977, the country had introduced a new policy: foreign computer makers would be allowed to sell certain kinds of computers in Brazil only if they agreed to manufacture them there and to license their technology to Brazilian partners. Some foreign companies agreed to play along. Most did not. The policy lasted through the mid-1980s, and its legacy has been disputed ever since. For some, it was a heroic battle of David against Goliath that left Brazil stronger, even though it eventually lost the fight. For others, it was a nationalistic boondoggle that deprived a generation of Brazilians from access to good foreign computers.
Computer software followed a very different trajectory. In many ways, software is like a machine. It usually consists of a large number of intricately linked parts that must work together to perform a task. So one could argue that software needs the same kind of legal protection that has been used for hardware: patents and trade secrets. Yet software is also immaterial -- built of words, not metal and plastic. This makes the economics of software quite different from the economics of hardware. Although it takes additional resources to assemble each new copy of a computer, making another copy of a program costs nothing. This distinction made most governments reluctant to automatically extend to software the same legal protections afforded to computer hardware. Instead, they took a wait-and-see approach.
At first, the lack of intellectual property protection for software did not seem to bother technology companies. Early computers were usually purchased by large organizations, since those were the only entities that could afford them. In general, hardware manufacturers provided such customers with basic software for free, relying on hardware sales for revenue. Purchasing organizations then hired programmers to write any of the more specialized software that they needed. These organizations often shared their custom software with other organizations -- sometimes unofficially, as programmers working for different organizations called on each other for assistance. In most cases, a company receiving such shared software then had to spend months customizing it for its own use.
By the late 1960s, however, more and more companies were starting to realize that, with a bit of extra work, a program could be made to serve the needs of many customers without extensive modifications. In effect, software could finally be treated as a product and sold, just like a piece of hardware. For this to work, however, there would need to be a way to keep users from making copies for free.
American businessmen, policymakers, and technologists started to discuss how best to support software businesses. Some favored granting software patent protections similar to the ones for hardware. Others were reluctant to treat programs like machines. What emerged was a compromise of protecting programs like books, using copyright. In practice, that meant that one would be prohibited from making actual copies of a program but would be relatively free to appropriate ideas contained in it. (A patent, by contrast, protects the idea behind the machine. Patent protection for software became possible in the United States eventually, but only much later.) Copyright protection for software was introduced with a 1980 amendment to a larger law that strengthened copyright protection overall.
Once the issue was resolved in the United States, the solution was quickly imposed on other countries: offering legal patent protection to software became a standard prerequisite for uninhibited trade with the United States. Countries that opposed the new regime were threatened with trade sanctions -- as was the case with Brazil, which resisted until 1987, when it gave in as it became clear that its lucrative export of soybeans to the United States would be imperiled.
Acceptance of software copyright crushed the hopes of those envisioning an autonomous and national computer technology in Brazil. If Brazilian computers would be running Microsoft Windows, unmodified, what difference did it make where those computers were made? And, although Brazilian engineers could go ahead and build all the needed software from scratch in theory, by the late 1980s there was little appetite for taking on this Herculean task. Brazilian technologists and engineers decided it was time to focus their effort on figuring out how to get the best results while playing by American rules. In particular, this meant finding the best ways to apply proprietary, closed-box foreign technology to local problems.
In the United States in the late 1980s, the intellectual property regime was a boon for many technology companies. The new rules made it much easier to sell software at home. And the (reluctant) acceptance of the U.S. legal regime by foreign countries also made it easier to sell software abroad. It is thus not surprising that many of the world’s largest software companies, such as Microsoft and Oracle, came to prominence in this era.
But the era did have its discontents. For many software practitioners in the United States, the system was a betrayal of their field’s established values: collaboration and sharing. Programmers soon started looking for ways to adapt their old practices to new legal realities. This meant, among other things, finding ways to establish explicit legal principles for sharing and formally defining what used to be unwritten. Under the old law, giving a program to another person was all it took to share it. Under the new law, sharing required an explicit license, carefully worded to protect both parties from legal harm. There was also the challenge of keeping free software free. This was eventually solved by a clever form of licensing called “copyleft” --- a pun on “copyright.” A copyleft license allows people to use the software as they see fit, to modify it, and to give it to others. However, it explicitly prohibits them from attaching new restrictions in the process. Proponents of freely shared software also started establishing new methods for organizing, for example drawing on nonprofit foundations. Together, these activities became known as the free-software movement.
Free software is free in the sense that one can legally use it without paying. Its advocates usually stress, however, that free software is really all about freedom -- freedom to use the software, to make changes, and to share it. And such freedom, it turns out, often makes a lot of business sense. Letting people modify software allows them to find and fix problems in it; that can accelerate innovation and development. Freedom to modify the software without having to ask anyone for permission is also tremendously useful for consumers, especially big companies that make expensive long-term investments in the computer programs they use.
By the 1990s, engineers in the United States and abroad had started to take advantage of those benefits. In turn, a number of free-software projects started finding wide adoption, successfully competing with proprietary alternatives. One notable example was Linux, an operating system that started as a hobby project by an undergraduate student in Finland. By allowing users to freely modify the software, Linux helped mobilize thousands of volunteers. By the late 1990s, Linux was powering the servers of many Internet companies, including Google.
In Brazil, technologists started putting Linux to use as early as 1993. Two years later, a group of engineers in the south of Brazil started Conectiva, a company dedicated to packaging Linux for Latin American users. (In 2005, a French Linux distributor bought the company for just over a million dollars.) For many Brazilian technologists, free software presented a hard-to-believe proposition. In the 1970s and 1980s, Brazilian policymakers and engineers had to fight to get access to foreign computing technology. In the 1990s, they got the best of it offered to them on terms that allowed them unrestricted use, and also freedom to study and modify it. And they didn’t even have to ask.
Free software also offered Brazilian engineers new ways of participating in global software development. My recent Foreign Affairs article “From Brazil to Wikipedia” describes the case of Lua, a free-software programming language developed in Rio de Janeiro in the 1990s. Lua has since found wide adoption around the world, including by Wikipedia. Brazil has also contributed many prominent developers to Linux and numerous other free-software projects. To be sure, participating in global software development from a peripheral country can be challenging. Free software declares that it knows no boundaries, yet its production remains centered in the north, especially in the United States, and its business models were developed with the United States in mind. Those participating in free software in a place like Brazil, then, must adapt.
PROGRAMMING PORTO ALEGRE
Bringing free software to Brazil, however, is not just a matter of copying North American practices. The idea of free software has also been substantially transformed through contact with Brazilian politics.
In the United States, the open source software community has long had libertarian leanings, which have only strengthened over time. The core tenet of free software, after all, is giving the users freedom to do what they want. American practitioners have often stood up against legislation that they believe restricts individual liberties. For example, they played an important role in the successful derailing of a 2012 bill they saw as limiting Internet freedom, the Stop Online Piracy Act (SOPA). However, they have rarely called on the government to be more involved with the production of free software. And when free software was finally embraced by business, many members of the movement welcomed it as a validation of their ideas.