In lieu of an abstract, here is a brief excerpt of the content:

6 Porting Lua In 1993 a group of computer scientists working at a university in Rio de Janeiro developed a simple programming language called “Lua” to serve the needs of a Brazilian company based in the same city. Nineteen years later, Lua is often ranked among twenty of the world’s most popular programming languages1 (out of thousands) and has a user community spanning five continents. While Lua has brought its authors rather modest financial rewards (it is distributed for free and brings little consulting revenue), its use in popular software such as Adobe Lightroom, World of Warcraft, and, more recently, Angry Birds, has made it in some ways one of the most successful software products ever developed in Latin America. Lua’s story provides us with a rather different picture of peripheral participation in a global world of practice than the case of Alta that I discussed in chapter 5. This picture is also a lot less intuitive and more complex. I therefore look at Lua extensively in two chapters: this one and the one that follows. One of the things that makes Lua’s story unintuitive is the fact that the language is little used in Brazil. In 2007, when I was doing my fieldwork, few Rio programmers had heard of it. The situation has changed only somewhat since—Lua is now better known, but still rarely used. This isolation from the local context, however, is the flip side of Lua’s success. American users of Lua often credit it with being highly portable—Lua can run on many different computing platforms. While increased portability in this narrow technical sense is an important part of Lua’s story, I focus here on a different kind of “portability”: Lua’s gradual transformation from a highly local project to an international programming language that betrays little connection to the city where it was developed and where it is still based. I organize my discussion around Giddens’s (1991) notion of “disembedding”—the “lifting out” of social (or in our case socio-technical) relations from their local context, which then makes them mobile across time and space. Following Lua’s transition from a highly embedded project—developed as a 136 Chapter 6 solution for a specific set of problems, entangled in a web of local relations , goals, and commitments, and reliant on “tacit knowledge” (Polanyi 1966; MacKenzie and Spinardi 1995)—to an international programming language, we observe the different mechanisms that enabled and facilitated this disembedding. As we will see, Lua’s disembedding and its later international success were not planned in advance. To a large extent the disembedding of Lua simply “happened,” in many ways without a conscious intention by its authors. It happened in part due to numerous decisions that most participants saw as quite natural. In some of the cases, acting otherwise—for example, using Portuguese words as Lua’s keywords—would be nothing short of silly according to some of my interviewees. It is important, however , to look closely at such “obvious” decisions. It is by understanding how such decisions come to be obvious, and why they are obvious to some and not others, that we can come to see the geographic logic woven into the professional culture of software development. The story of disembedding told in this chapter complements the investigation of local reassembly of a foreign practice presented in chapters 4 and 5. After decades of work that helped establish the foundation of software practice in Brazil, the context was created that made it possible for some of the practitioners to engage in one of the most central roles in the world of software: developing a new programming language. This replicated context , however, is characterized by a distinct pattern of connections that makes it different from the remote original in many ways. Brazilian academic computer science has strong connections to foreign computer science , which proved an important factor in Lua’s success. At the same time, much unlike the American computer science research community, which is famous for tight linkages with industry, Brazilian academic computer science is relatively isolated from both local and foreign computer industry and instead exists in somewhat of an enclave. This makes the experience of Lua’s authors quite different from that of their students working for companies like Alta, whose success depends in many ways on tight integration with local systems of production. I start this chapter with a look at my interviews with Lua’s users in California in...

Share