The discursive coding of software: A study of the relationship between stability and change by Jennifer Helene Maher A dissertation submitted to the graduate faculty in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY Major: Rhetoric and Professional Communication Program of Study Committee: David Russell, Major Professor Carl Herndl Dorothy Winsor Diane Price Herndl David Schweingruber Iowa State University Ames, Iowa 2006 Copyright © Jennifer Helene Maher, 2006. All rights reserved UMI Number: 3243534 UMI Microform 3243534 Copyright 2007 by ProQuest Information and Learning Company. All rights reserved. This microform edition is protected against unauthorized copying under Title 17, United States Code.
ProQuest Information and Learning Company 300 North Zeeb Road P. Box 1346 Ann Arbor, MI 48106-1346 ii TABLE OF CONTENTS Abstract. iv Chapter One: The Discursive Coding of Software. 1 A Short History of Software.
5 The Symbolic power of the Software Programming culture. 11 Needs My Research Addresses. 18 The Relationship between Discourse and Culture. 24 Overview of Chapters.
28 Chapter Two: Theory, Framework, and Methods. 31 Theories of Practice. 37 Critiques of Theories of Practice. 39 The Spatio-Temporal Framework.
44 Time as Temporal Orientations to the Past, Future, and Present. 46 Space as Social Positionings. 52 Methods and Choice of Texts. 57 Iteration and Synthesis of Software Literature: Chapter Three.
57 Projectivity and Ideological Analysis: Chapters Four and Five. 59 Practical Evaluation and Genre Analysis: Chapter Six. 66 Chapter Three: The Reactivation of Iterative Social Practices. 69 The Practice of Programming as Knowledge Work.
70 Instrumentalist Talk about Coding Issues. 81 The Discursive Practice of Evangelism. 85 iii The Creation of Functional Differences in Software. 88 Established Software Technology.
89 Disruptive Software Technology. 92 Chapter Four: An Ideological Analysis Of the Encoding of Software. 95 Stories of Software. 96 The Entrepreneurial Narrative of Gates and the Professionalization of PC Hobbyists.
98 The Idealistic Narrative of Stallman and the Free Software Movement. 111 The Pragmatic Narrative. 123 The Evolution of the Competing Ideological Trajectories. 134 Software as a Commodity: Gates’ Evangelism.
135 Software as Morality: Stallman’s Evangelism. 139 Software as a Tool: Torvalds’ Evangelism. 143 Chapter Five: Imagining Software Through Identity in Competing Communities of the Software Programming Culture. 148 Identity in the Network Society.
150 Identity in the Software Programming culture. 153 The Legitimizing Identity and the Proprietary Software Industry. 155 The Resistance Identity and the Free Software and Open Source Communities. 165 The Free Software Community as a Resistant/would-be-Project Identity.
168 Chapter Six: Reconfiguring Copyright and Software Licensing Agreements as Strategic Deliberative Action. 185 The Generic Application of Software Licensing Agreements. 187 Copying and Distribution. 209 Enforcing Software Licensing Compliance.
214 Enforcing the EULA. 216 Compliance and the GNU GPL. 218 Compliance and the OSD. 219 Chapter Seven: Toward a Digital Literacy.
229 iv ABSTRACT Software has become an integral part of most people’s everyday lives. Though discussions of software in the field of rhetoric have traditionally taken an instrumentalist approach that seeks to increase the effective use of software, a critical turn has established the need to examine the ideological signification of software. I argue that one way we can do so is to examine the social practices that symbolically constitute software to reveal how software is discursively coded, and how, consequently, users of software are themselves discursively coded. To this end, I examine the discourse of those primarily responsible for the design and regulation of software—the software programming culture.
To analyze the discourse of the software programming culture, I developed a spatio- temporal framework rooted in theories of practice and theories of space and time to guide both my choice of data and the methods by which I conduct analyses. In attempting to resist the objectivist/subjectivist dualism that so often limits accounts of how meaning is made through social practices, I employ historical, ideological, and genre analysis to contextualize and analyze the discourse of the software programming culture. My goal is to identify, describe, and map a network of meaning that simultaneously allows for stability and change. I argue that this network of meaning constitutes not just software but also the software programming culture as a discursive site of ideological struggle, the effects of which have significance for society as a whole.
Unveiling the process by which software, as a technological and culture artifact, is discursively coded is a move toward digital literacy that is important for understanding the ways in which ideologies are embedded in the discourse of technological artifacts. In the case of software, I argue that such an understanding may allow even the least technologically- adept users to interrupt and challenge their own coding as digital subjects by the software programming culture and to cultivate a digital literacy that empowers users to have a voice in how their own lives are affected by the discursive coding of software. 1 CHAPTER ONE: THE DISCURSIVE CODING OF SOFTWARE …there is a group of software developers in the United States, and other parts of the world, that do not believe in the approach to copyright protection mandated by Congress. In the past 20 years, the Free Software Foundation (FSF) and others in the Open Source software movement have set out to actively and intentionally undermine the U.
and European systems of copyrights and patents. Leaders of the FSF have spent great efforts, written numerous articles and sometimes enforced the provisions of the GPL [the General Public License] as part of a deeply held belief in the need to undermine and eliminate software patent and copyright laws. Darl McBride (December 4, 2003), owner of the proprietary software company SCO which holds the copyright for UNIX, commenting on his company’s lawsuit against IBM, the biggest corporate supporter of the GNU/Linux operating system Maybe someone can explain to Darl that the GPL is designed so that people receive the value of other people’s copyright works in return for having made their own contributions. That is the fundamental idea of the whole license—everything else is just legal fluff…So not only is Darl wrong when he attacks the GPL as being somehow against “financial gain;” the notion that the GPL has, of “exchange of receipt of copyrighted works,” is actually explicitly encoded in U.
It’s not just a crazy idea that some lefty Commie hippie dreamed up in a drug-induced stupor. Linus Torvalds (December 8, 2003), the original developer of the Linux kernel and leader of the Open Source community, in response to McBride But in the end, it is our ability to unify all of the elements of the information society— software, hardware, and bandwith—in shared hands, that is our own hands, that determines whether we can succeed in carrying out the great 18th century dream, the one that is found in Article 1 Section 8 of the United States Constitution, the one that says that human beings and human society are infinitely improvable if only we take the necessary steps to set the mind free. That’s where we are really going. McBride’s company’s fate, whether it succeeds or fails…is compared to that.
We are running a civil rights movement. We’re not trying to compete everybody out of business, or anybody out of business. We don’t care who succeeds or fails in the marketplace. We have our eyes on the prize.
We know where we are going: Freedom. Eben Moglen (February 23, 2004), member of the FSF Board of Directors and lawyer for the FSF, in response to McBride These epigraphs, chosen from a distributed conversation among representatives of what I term “the software programming culture,” revolve around a March 3, 2003, complaint filed by software vendor SCO, formerly known as Caldera Systems, Inc., against International Business Machines, more commonly known as IBM, for a series of violations against SCO’s copyright on the UNIX operating system. On its face, the conversation is about copyright law and software, the instructions according to which all computerized technologies perform tasks. 2 However, the meaning of this conversation among McBride, Torvalds, and Moglen extends far beyond the writing, or coding, of software and the practices regulating its exchange to the politics and ideologies behind code development and the circulation of software.
The competing discourses evident in the exchange point to the connections between the development and dissemination of software and broader social, political, and ideological issues. These issues include ownership, nationalism, the meaning of value, and the effect of computer technologies on (re)envisioning freedom in the networked society of the Information Age. Consequently, if those of us outside the borders of the software programming culture—users and consumers of software and software-driven products—are to understand what is at stake in the struggle over the meaning-making of software that occurs through what I call the discursive coding of software, we must understand the ways in which we are inscribed both materially and ideologically by the discourse represented in such conversations. Let me start by explaining what I mean by the discursive coding of software.
When considering the coding of software, what immediately comes to mind is machine language: technical combining and recombining of ones and zeros, or the manipulation of any other system of signs that enables a computer to function. However, such a functional understanding of code does not account for the ways in which this most fundamental encoding represents only one layer of meaning that we can assign to the “coding” of software. Software acts upon reality “beyond the box” of the computer, not through machine language but through natural language—through discourse. Through their natural language discourse about software code, the developers and regulators of software—the architects of machine language—“encode” (in the sense in which semiotics uses the term) social actions that are shaped by the products, ideas, and activities that are made possible through the use of software.
Whether these actions entail programmers talking about development processes, office managers discussing whether to buy the Windows or Linux operating system, or students deciding what web browser to use, each act is in large part encoded through the discourse of the architects of software and the culture to which they belong, the software programming culture. The discourses surrounding the production, use, and circulation of software contribute layers of meaning beyond the functional meaning of its sign that is 3 encoded through competing ideologies articulated by and within the software programming culture. Software, in short, is made to mean something in the world beyond ones and zeros. Those at ground zero of the site of struggle over how software is made, distributed, and circulated (and how the rest of us will live with computers) are members of the software programming culture.
As Grossberg (1996a) argues, “Culture is the struggle over meaning, a struggle that takes place over and within the sign…But it is not only the sign that must be made to mean, it is the world as well…Culture is the site of struggle to define how life is lived and experienced” (p. Further, a culture provides to its members a set of typified social practices through which to act and give meaning to actions, what I refer to as “cultural practices.” Through the cultural practices available to the members of the software programming culture, these architects encode software with meaning not just for themselves but also for society. Because these practices have been sanctioned, even naturalized over time through their consistent use by actors within the software programming culture, they are temporarily stabilized resources available for inscribing meaning. The establishment of stability is, in fact, necessary for the existence of the culture and for meaning within the culture to evolve.
Paradoxically, the shared understandings that are temporarily stable, or, in the words of Schryer (1999) “stabilized enough” (p. 108), lead to differences in the ways that ideologies are encoded into practice producing a plural rather than monolithic software programming culture.