Book: Decoding Liberation: The Promise of Free and Open Source Software. Samir Chopra and Scott Dexter. Routledge, 2007.
By the authors:
"In this book we take free software to be a liberatory enterprise in several dimensions. While the freedom to inspect source code is most commonly associated with FOSS, of more interest to us are the political, artistic, and scientific freedoms it brings in its wake. The title of this book reflects this promise: in a world that is increasingly encoded, our free software carries much potential for liberation. Granted, claims about technology and freedom are nothing new; much of the early hype about the Internet was rhetoric of this kind. But what is important about the recurrence of such hyperbolic enthusiasm is that it is clearly articulated evidence of a desire for technology to live up to its potential as a liberatory force.
With this book, the investigation of free software becomes broader than those conducted by lawyers, economists, businessmen, and cultural theorists: FOSS carries many philosophical implications that must be carefully explored and explicated. FOSS, most importantly, focuses attention on that often misunderstood creature: software. To understand it as mere machine instructions, to ignore its creative potential and it power to enforce political and social control, is to indulge in a problematic blindness.
We do not contend that "knowledge [or information] just wants to be free," that this is a fait accompli. But we do want to understand what this freedom might be and how we might go about achieving it. While the potential of free software is often alluded to, it is not fully understood. This book is partly an expression of a utopian hope, partly the expression of the fear that a liberatory moment is slipping away." (http://www.sci.brooklyn.cuny.edu/~bcfoss/DL/DLintroduction.html)
By the authors:
"In the first chapter, we begin with a history of software development as an industrial process, characterizing the emergence of the GNU free software project in the 1980s as a natural step in the evolution of software, one that challenged the anomalous proprietary software regimes that had taken hold in the late 1970s. We show how this history reflects the value of cooperative work, and track the slow move towards the eventual commodification of software; while free software is legitimately regarded as a radical intervention in the software industry, it may also be thought of as a return to softwareÕs roots. We investigate the political economies of software, examining the extent to which FOSS invokes or revises traditional notions of property and production. In our narrative, the 1998 schism between the free software and open source movements--where a faction within the free software community changed tactics and language to court commercial interests--is a crucial event. We examine the potential for co-optation that the open source movement has created, drawing it apart from the free software moment, which remains committed to an anti-technocratic, emancipatory, yet pragmatic vision.
In Chapter Two, we examine the ethical positions enshrined in the constitutive documents of the free and open source movements. The freedoms enumerated in the Free Software Definition and Open Source Definition provide normative ethical guidance to the FOSS community.
Building on these definitions, free software licensing schemes grant a suite of rights and freedoms, to programmers and users alike, that are much broader than those granted by proprietary software licensing schemes. At a finer granularity, the particular licenses take different approaches to protecting these rights and freedoms; hence, choosing a license is an important responsibility of the free software developer. The discussion in this chapter is intended both to support this decision-making and to assess the ethical implications of the rhetorical character of these documents.
Chapter Three addresses the FOSS creative process, which facilitates group collaboration and innovation through unique organizational structures. This examination relies on an analysis of the aesthetics of software in general, invoking notions of beauty in science, and uncovering the meaning of "beautiful code" through the testimonials of programmers themselves. FOSSÕs social and technical organization carries the greatest potential to produce such beautiful code through its affordances for programmers' artistic freedoms.
Building on the previous chapter, in Chapter Four we argue that both the creative possibilities and the scientific objectivity of computing are compromised by proprietary software and the closed standards it proliferates. One necessary condition for the objectivity of science is that its practices and products remain public, open for mutual critique within the scientific community. But the industrialization of computer science and the application of intellectual "property" that is its natural consequence prevent the public practice of computer science. Defenses of commercial computer science on grounds of economic expediency ring hollow when we realize that these have never distinguished science from pseudo-science. We speculate on the shape of computing practices in a world in which all code is free, and show that it leads to a radically different conception of computing as a science.
In the final chapter, we address the role of free software in a world infused with code. In this world, distinctions between human and machine evanesce: personal and social freedoms in this domain are precisely the freedoms granted or restricted by software. In the cyborg world, software will retain its regulatory role, but it will also become a language of interaction with our extended cyborg selves. We point out that questions about the cyborg world's polity are essential questions of technology; the language of the cyborg world must be free, as natural languages are, in order to protect the liberties of our cyborg selves. We argue for transparency in governmentality in the information age and show that free software embodies the anarchist ideal of eliminating the indiscriminate, opaque application of power." (http://www.sci.brooklyn.cuny.edu/~bcfoss/DL/DLintroduction.html)
RCSS has 2 reviews with author response at http://rccs.usfca.edu/bookinfo.asp?AuthorID=162&BookID=415
Excerpt by Andrew Famiglietti:
"After recounting the history of how FOSS's unique volunteer-driven and intellectual commons-based political economy developed, the first section moves on to discuss some of the implications of this productive method. Two of the discussions provided here stand out as particularly interesting. The first is their development of the notion, initially posited by Weber, that FOSS governance relies on FOSS developers maintaining a "right to fork" -- that is, to say, a right to split an existing FOSS project into two descendant projects. Forking is widely considered, by theorists and practitioners alike, to be dangerous, as it may lead to duplicate effort and a loss of confidence in FOSS projects. Yet over the course of the following sections, Chopra and Dexter demonstrate some of the ways maintaining the "right to fork" has benefited the FOSS community as a whole. The ability of FOSS developers to fork, they argue, leads to better management of FOSS projects, more aesthetic freedom for FOSS developers, and higher quality FOSS software.
The second notable discussion in this first section is the exploration of issues of governance, labor, and co-coptation. Chopra and Dexter respond to FOSS critics like Tiziana Terranova, who argue that capitalism co-opts FOSS volunteers by exploiting their labor without paying them monetary wages. "Compensations in the FOSS economy are diverse," Chopra and Dexter assert, "a programmer who releases code freely may do so anticipating others will release code useful to him".
- In FOSS, the conception of the open source user as empowered programmer enables a reconfiguration of the relationship between worker and product that significantly addresses the Marxian notions of worker alienation. The user of proprietary software is alienated from the product; he is unable to perceive the product's infrastructure or adapt it to meet his needs. The FOSS model, by making source code available, modulates this alienation by casting users as workers who might modify the product.
Chopra and Dexter admit, however, that "the open source movement does provide evidence of the trend toward the co-optation of the digital economy by the corporate world", and suggest that the most persuasive evidence of this trend are those cases in which permissive "open source" licensing has allowed programs developed by the community to be re-released as proprietary software, and thus alienated from the community that labored to produce them. While some may quibble with the general way in which Chopra and Dexter invoke the term "alienation," the authors still provide a fruitful intersection between Marxist theory and the historical details of FOSS." (http://rccs.usfca.edu/bookinfo.asp?ReviewID=579&BookID=415)
From Chapter 1: Governance, Labor, and Co-optation
The FOSS practice of distributing source code and accreting changes submitted by user-programmers is a form of production where the traditional practice of dividing labor among a pool of programmers is enhanced, expanded, and rendered radically flexible. The labor pool for a FOSS project is not limited to a small group of workers, but is expanded, exploiting the Internet, so that the cycle of distribution and accumulation of modifications is orders of magnitude more efficient and effective than the code-sharing of the past. FOSS, that is, relies on “distribution of labor,” an enhanced form of division of labor, by opening the gates of the virtual factory. The organization of this “factory” can be hierarchical, but this governance does not imply a hierarchical imposition of work assignments. . . . To make an industrial analogy, while senior developers often act somewhat like foremen, workers are not told where to go or what to do. Instead, the shop floor is scattered with tools and partially complete work, with copious explicit instructions and advice: anyone can pick up an unassigned programming task, read the documentation, and consult with other workers through e-mail, newsgroups, and chat. Work schedules are very weakly constrained, though there is no guarantee that a worker’s contribution will ultimately be accepted: contributions to work within this “factory” come from all time zones and are accepted on the basis of a meritocratic process. Workers are free to leave with a copy of the product and to open up another manufacturing shop: programmers are always free to fork a development tree. Users are also “workers,” as they may become producers of future versions of the code. Workers’ inspection of each other’s work, combined with effective management, ensures that the energies of an army of programmers, of whatever size, can effectively be focused on solving the problems of creating excellent code (Raymond 2001).
The corporatization of FOSS suggests a need, to the capitalist owner, for disciplining labor. But this disciplining is made difficult by the availability to workers of empowering technological advances, their education, and their independence as they choose schedules and work assignments. The corporate owner therefore must deploy a delicate mix of cooperation and co-optation. One form this co-optation takes is the introduction and promulgation of corporate ideals. As the FOSS community makes concessions — in the choice of licensing scheme, in the mixing of proprietary and free software, or in the diversion of labor to closed source projects — these ideals are reinforced. The most seductive promises made by the corporate world remain those of venture capital funding, commercial success, and unlimited accumulation of wealth, all of which continue to require such concessions. . . .
Co-optation, properly understood as the furtherance of another’s goals under the mistaken impression of furthering one’s own, could take several forms in the FOSS realm. One is the compromising of the goals of FOSS: for people to have agency over the software on their machines, and, subordinately, to write free software and encourage its widespread adoption. This compromise could be effected in a variety of ways: the number of FOSS programmers could decline, some lured away by enticing proprietary-software jobs, some unconvinced by the inadequate marketing of the technical and economic viability of FOSS, some thwarted by unforeseen shifts in the economy that render FOSS a financially unviable way to work. Furthermore, FOSS products could be driven out of the market by monopolistic pressures…continued nonreciprocal borrowing of free software for use in proprietary products could increase the latter’s market share without contributing to the software commons. Last, and most subtle, is the possibility of a weakening, after exposure to differing values, of the shared norms that bind the community.
From Chapter 3: Free Software, Beautiful Code, and Collaboration
Different fields of creative endeavor have their own aesthetic imperatives: we expect software and its creators to have one that reflects the unique nature of its artifacts. The relationship between the programmer and his source code is grounded in a classical conception of aesthetics, in an ancient connection between objects and art. Classical Greek aesthetics understood art as the knowledge of how to make an object; good art was by definition produced by an artisan proficient in that art. By analogy, good code is that written by a good programmer. A study of the art of software must, therefore, seek to understand how someone becomes a good software artisan. As we will see, the free software aesthetic confirms the converse of the relationship between art and artisan: good coders are produced by good code. . . .
Programming is no more or less collaborative than any other technical discipline. Scientific results must be reproducible. Many experiments depend on hundreds of scientists for their successful execution. But programming is collaborative at a much finer granularity. Programs are modified, extended, improved, recombined. Modern programming languages and techniques, such as the object oriented paradigm, are explicitly intended to facilitate this sort of collaboration. In this sense, code is beautiful to the extent it provides an affordance for collaboration,or shows off its recombinatory potential, by virtue of clean design, readability, and ingenious expression.
The free software approach to collaboration is a remarkable mode of creative production. Here, creators begin work on a piece, but rather than working in relative seclusion, they periodically release perfect copies of their works to their audience. The audience’s response is not limited to mere criticism: audience members may go in different creative directions with their copies of the work, or they may make modifications (possibly improvements) and send these back to the creative originators, who may or may not incorporate these changes as they proceed. In this model, documenting the rationale behind creative decisions is an integral part of the process; it is critical for creators to share their work with others to receive critique, corrections, and modifications embodying a community-wide logic of taste. . . .
In a profound aesthetic move, the free software “apparatus of production” blurs, nearly to the point of invisibility, the conceptual lines between artist and critic, between programmer and user, between owner and licensee. Programmers deprecate any special authorial relationship to their code, effectively saying, “In order to innovate, to create, I do not block you from making it your own.” The pressure to allow others to fix your code (or to be able to tolerate this kind of intrusion) leads to a redefinition of ownership and a humility that will not permit the “test-pilot syndrome”: though it is the artist’s work, his authorship does not grant him exclusive creative control. Exclusive authorial control may be lost, either voluntarily, when the programmer moves on to another project, or involuntarily, through forking.
From Chapter 4: The Failure of Computer Science
Science is truth-tropic because of open criticism. In the realm of computing, free software provides and protects openness, not only through community-wide criticism but also through its challenge to the very idea of “intellectual property.” These practices, contrary to the constraints of proprietary software, have the effect of making public the scientific knowledge embedded in software. Contemporary computer science fails to meet most standards for objectivity in the sciences (Longino 1990), yet it carries the potential to become a strongly objective science, the publicly practiced discipline exemplified by the free software community.
The requirement that an objective science must provide recognized avenues of criticism is only partially met by a world in which proprietary code is so prevalent. While the discipline of computer science is equipped with all the requisite institutions for public criticism, such as peer-reviewed conferences and journals, practitioners who trade in closed code only participate in limited fashion. There is no avenue of criticism for closed code other than private code review among a small group of developers. Corporations or university researchers who work with or produce proprietary software may release research reports, but they provide little knowledge of the inner workings of their code: problem-solving techniques implemented in closed code are not subject to the critique of the entire community. Using closed code is akin to the deliberate obfuscation of research so as to avoid critique, emendation, or poaching: there is no scope for the collective improvement afforded by intersubjective criticism.
Scientific objectivity requires shared principles and values to undergird meaningful discipline-wide discourse. Much of computer science is done in corporate settings, which have their own norms — not necessarily congruent with those of the academy — about the practice of science. If the products of one group within a discipline are not available to the rest, this impoverishes any notion of “scientific community”…if so little of the knowledge produced within corporate walls is available to the broader scientific community, it may not be accurate to say commercial computing enterprises truly practice the communitywide discipline of “computer science.” A discipline is not just a subject matter but also the social structures that sustain it…
…..In computer science, the political power to determine the scientific direction of the discipline flows from the technical and economic power wielded by its dominant commercial members; one significant way in which this power is retained is through the mechanisms of closed code. All authority on closed code rests with its writers and anyone else who has agreed not to disclose its contents.….The closed model thus encourages the creation of an intellectual monopoly in computer science, an artificial scarcity of code that may become the basis of an economic monopoly for its owner. Monopolistic owners of proprietary code then exercise power derived from their domination of the market, introducing inertia by setting impossibly high economic barriers for potential competitors to breach, and forcing conformance by users to their technical standards.
….Closed code adversely affects, too, the objective evaluation of rival hypotheses in computer science. Even if such evaluation were entirely objective, if nonscientific values partly determine the candidacy of these hypotheses, they will play a role in determining which hypotheses are adopted (Okruhlik 1998). We would evaluate scientific theories, then, not against all possible competitors, but against a small number of rival possibilities. If bias or prejudice has prevented some possibilities from being considered at all, then an apparently well-confirmed theory may just be the best of a bad lot. If closed code restricts the evaluation of competitors in the ecology of computer science epistemology, then not all theories compete equally against selection pressures. Closed code, if understood as a hypothesis for a possible solution to a problem, is not subject to refutationist or falsificationist pressures (Popper 1962). When the level of detail for “full disclosure,” a standard of “normal” science, is not acceptable, concerns about the decline of objectivity invariably follow.
Toward “Open Computer Science”:
A computer science based on open code, protocols, and standards promises a reconfiguration of research, industry, and pedagogy, ameliorating the effects of the current entanglement of the academic and corporate sectors on the practice of the science. Universities and commercial vendors could become true partners, with the innovative capabilities of both equally available to the other. Universities dream of being technology incubators; these could take the shape of consortia modeled on the Apache Software Foundation, drawing partners from multiple sources. The availability of previously closed code could infuse teaching and research with new knowledge, as huge bodies of code, currently hidden from the curious, became available for inspection and modification. As a previously closed science opened its textbooks, experimental manuals, and lab notes, we would gain access to new facts, practices, theories, paradigms, and epistemologies. The resulting wave of innovation would benefit not only computer science but also scientists in other disciplines, commercial users, and citizens: the creative expression of closed-code programmers would finally be on display.
Open computer science would bring the discipline closer to meeting the requirements for an objective science (Longino 1990). Opportunities for public intersubjective criticism would be much broader as open code is predicated on vigorous critical activity: “the greater the number of different points of view included in a given community, the more likely it is that its scientific practice will be objective” (Longino 1990, 184). The very act of merging open and formerly closed code would require the development of shared technical standards and norms. This sharing of standards and values and, thereby the reworking of the university–industrial relationship, would give meaning to talk of “the community of computer scientists.” The meritocratic structure so familiar to the free software development world would support a more equitable distribution of intellectual authority. The opening of code would bring with it a greater role for the Internet in distributing results and facilitating communication among computer scientists as “Heterogenous computer networks . . . provide the possibility for a kind of peer-review that precedes, and occasionally bypasses . . . the existing, trusted, and well-known peer-review of scientific journals and societies” (Kelty 2001). In this setting, knowledge, no longer under exclusive control to support the extraction of monopoly rent, would gain in value with its increasing availability.
The discipline we describe resembles the fledgling computer science of the 1950s and 1960s, which, because of a dramatic change in its political economy during the 1970s, moved toward a proprietary economy that free software counters. The safeguarding of this potentially objective sphere for the practice of computer science might take inspiration from strong free-software licensing schemes such as the GPL, as its practitioners’ endeavors would be available to all under conditions of reciprocity. Closed software is a fundamental negation of the social character of computer science. Free software reminds us that the political economy of science must not be limited only to the consideration of efficient allocation of scarce resources; it must also address the fundamental principles by which a technologized society should be organized (Kelty 2005). For economic reasons, computer science is currently looking past — indeed, defending — practices that stifle innovation. If economic arguments are used to support bad science and attack potentially reformatory practices, then the science is not easily distinguished from an astrology whose practitioners concoct fantasies for a fee."