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 spatiotemporal 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 technologicallyadept 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. 1983 the GNU Project with the goals of providing free software and "creating a new software-sharing community" (2001). In 1985, Stallman founded the Free Software Foundation (FSF), an organization dedicated to these goals. In 1989, Michael Teimann founded Cygnus Solutions, the first free-software distribution and service company. These acts and others like them signaled a new counter-movement in PC software-the Free Software Movement, which I discuss in detail in subsequent chapters of this dissertation. Also during the 1980s, software that made the Internet what it is today proliferated. In 1984, the free software Domain Name System (DNS) that translates the natural language web addresses (e.g. www.amazon.com) into the numerical addresses that hardware reads was developed. And in 1989, Tim Berners-Lee made hypertext distributable via the Internet possible by developing the http protocol ...