Special issue from RESET - Social science research on the Internet edited by Gabriel Alcaras (CMH, ENS-EHESS), Manuel Boutet (GREDEG, Université de Nice Sophia Antipolis) and Antoine Larribeau (EXPERICE, Université Paris 13).
Algorithms represent an ever growing part of the public and scientific debate, often raising the issue of their power, be it political or economic in nature (Cardon, 2015). Questions on the ontology, the usage and the impact of algorithms, although essential to study them as political apparatuses, sometimes put aside the unceasing work effort necessary to produce and maintain these technical infrastructures. However, writing code spans hobbyist activities (programming one’s calculator) as well as expert practises (software engineering); it concerns professions of the digital industry (web or game developers) as well as ones where computer skills were not traditionnaly required (Gollac & Kramarz, 2000); it informs the hackers’ aesthetic approach to technology (Coleman, 2012) as well as its use as a trojan horse to promote political agenda (Vincente, 2017).
While algorithms and codes are linked in practise, a specific study of each object requires a somewhat different articulation of theory and method. On the one hand, the analysis of algorithms looks into programming and its productions. As an intellectual and cognitive activity, programming does not necessarily rely on the digital − or even on computers for that matter. Alan Turing (1937) uses the term “computer” to describe someone who computes numbers rather than a machine (Mélès, 2015). It is on this basis that computers can be studied as the continuation of administrative writing practises (Agar, 2003; Gardey, 1008). On the other hand, studying source code incites to a close analysis of the concrete act of writing software, aiming to produce a text which will be interpreted or compiled by machines, inserted into hardware and software infrastructures, read and edited by colleagues, copied and pasted by hobbyists and so on. The functional properties of this specific kind of writing deserve to be examined on their own, since they encourage original ways to collaborate, require tremendous uses of electrical power and participate to the scriptural construction of reality (Denis, 2018).
In that sense, “coding” differs from “programming”. This analytical precision invites to specify how technical differences can also act as distinctions in the sociological sense. Among other examples, the differenciation between coding and programming solidifies with the administration of the ENIAC mainframe in the 1950s (Ensmenger, 2010: 124). The difference enables the devaluation of the labour performed by the women coding these machines, picturing it as a trivial and manual activity that requires very few skills and equivocating it with clerk work or dactylography. At the same time, it makes programming into an intellectual endeavour, calling for highly qualified workers and strong planning skills, which in turn justifies the hiring of men in positions of responsibility. Nowadays, the distinction between coders and programmers seems to progressively fade away − a factor that could partially explain, or at least reflect, the overrepresentation of men among developers.
This special issue of RESET intends to encourage original and empirical works that approach the digital from the perspective of codes and their authors, highlighting the concrete process of writing programs, the differentiated relations with computers and, more broadly, the code's conditions of production. Our goal is to contribute to the dialogue between the numerous approaches already mobilized by the humanities and social sciences, be they algorithms, programs (Méadel & Sire, 2017), interfaces (Galloway, 2012), platforms (Abdelnour & Bernard, 2018, Bastard et al, 2017), APIs (Ermoshina, 2017), software studies (Manovich, 2013) and code studies (Marino, 2010).
This call is open to investigations of a wide range of activities revolving around codes. Those do not stop at programming languages, such as C or Python, whose diversity of philosophies and communities could be investigated, nor at computer science laboratories (Jaton, 2019). They also include markup languages such as HTML, Latex or BBcode as well as all the texts that accompany the source code, from the technical documentation to the configuration files. These texts favor the reuse and sharing of codes inside open networks, at an extended scale today thanks to the Internet (Dodier, 1995). Similarly, iconic and sometimes fantasized figures, including hackers and geeks, may be interesting to analyze. However, we also invite contributors to look beyond them to better describe a wide array of different practices, from virtuoso programmers to the invisible workers of the code industry (Dagiral & Peerbaye, 2012).
We note that few sociological inquiries tackle the professional, yet ordinary, figure of the developer. Symmetrically, surveys of code practices in non-computer professions, such as secretaries' use of excel macros, are notable for their absence. Finally, these code practices are expressed in contexts that are equally varied: codes can be open or proprietary; written by amateurs or professionals, by self-employed engineers or by salaried developers, working at home, in a co-working space or an open space; embedded in market or militant contexts; managed on a small scale by occasional contributors or inserted in quasi-bureaucratic scriptural infrastructures. Contributions can address these many facets of the source code with the following two types of concerns in mind.
First, this issue invites the contributors to consider both the materiality of the source codes themselves, following the approach of social sciences concerned with techniques (Dagiral & Martin, 2017) and the material conditions of their production. Among other useful resources, the anthropology and the sociology of writing support the study of the relationships between the materiality of writing code, the cognitive processes related to programming and the social relationships between developers (Goody, 1979; Olson, 1998). Without going so far as to establish a direct equivalence between the source code and the law (Lessig, 1999), the source code can be qualified as a writing act (Fraenkel, 2007), i.e. a performative text which introduces many constraints in its drafting. The relevance of the notion of performativity could also be questioned in the specific context of the code. More broadly, the conditions under which source codes are produced would also deserve specific scrutiny. Many reserachers have already laid the groundwork for understanding the interrelations between code and politics, whether through hacker ethics (Coleman 2012; Auray, 2013), the recursive publics of the geeks (Kelty, 2008) or the governance by and for code (Auray, 2009; Ermoshina, 2017). However, these studies have two limitations: on the one hand, they study the field of free software as an independent political sphere, thus leaving aside the conditions of employment of the majority of code workers, and on the other hand, they largely ignore the economic models in which this activity is embedded, in free and open source software as well as in the digital industry at large (Demazière, Horn, & Zune, 2008, 2013).
The issue also encourages historical perspectives that envision source codes within broader long-term evolutions. If the image of the coder bent on its keyboard and captured by its screens is an obvious cliché today, it is only by the end of the 1960s that it became possible to write, compile and execute a program on the same machine (Waldrop, 2002: 142-147), years before most coders could watch the code they were editing on a display. Finally, the role of the Internet in transforming the work of code is of prime importance for socio-historical analysis. One could think of the emergence of online communities, the change of scale in software cooperation or the increasing number of self-taught programmers. In the spirit of the RESET journal, the proposals will take care to question the so-called revolutionary properties of the Internet by taking seriously the continuity of practices, such as the sharing of source code, to better highlight their actual transformations and possible discontinuities.
Contributions may be made in one of the following areas.
Areas of research
Coding as work and as activity
This special issue of RESET welcomes contributions able to flesh out a detailed and contextualized account to answer the question: “what is coding?”. The first approach here is to focus on the very content of this activity. In particular, the act of writing code differs from many other writing practises because of its performative nature (Denis & Pontille, 2010), whose conditions should be questioned and specified. One case study could tackle the emergence and the management of a “technical debt”, meaning the growing constraints arising from the accumulation of legacy code and unresolved bugs weighing on the current development. Another avenue of inquiry could examine programmation as a form of literacy. In that sense, learning how to code becomes part of a larger “scriptural-scholastic relationship” to language (Lahire, 2008), which requires the acquired skill of transitioning from a practical relationship to a reflexive one in order to properly “master” programming.
A second approach could explore the “operational relationship” coders develop with the “screen world” (Bidet, 2011), for instance through the hardware and software tools that programmers use to perceive, write and handle code. The lively and complex world of text editors would be a good starting point, from the infamous flame wars opposing Vi advocates and EMACS zealots to the growing space of IDEs (Integrated Development Environment), heavily invested by massive corporations such as Microsoft or IBM, while smaller tools still find their own niche.
While writing is certainly a major part of coding, it is far from the only skill involved. One could for example study the extended periods of reading (code from colleagues or technical documentation), researching and browsing Stack Overflow, the critical process of debugging, the need to stay up to date with technologies by living in a “state of constant monitoring” (Lelong, Thomas et Ziemlicki, 2004) and so on. The work of coders often goes beyond what is stricly necessary to build a program and can include, depending on the historical and organizational context, maintaining infrastructures or ensuring technical support. Even though writing emails and writing code can look similar to an observer, workers do not always feel that way.
Finally, coding is often the result of writing by more than one hand. When achieved at a very large scale, as some successful free software projects have, coding has been studied as a form of distributed cognition (Conein, 2004). What are the practical modalities and the material conditions that enable the collective writing of software? The change of scale has been enabled by technical innovations, such as the modularity of the UNIX system, political movements and legal devices, like the Free Software movement or the GPL licence, but also by infrastructures dedicated to collaboration and sharing. The major role of the Bulletin Boards System or of the mailing list (Paloque-Bergès, 2018) cannot be overlooked, as deftly handling email and messages has become one of the main tasks of developers, as it has in many other areas (Akrich, Méadel, & Paravel, 2001; Bretesché, Corbière, & Geffroy, 2012; Denis & Assadi, 2005). Recently, new tools such as version control systems have transformed the collaborative practices of engineers (Couture, 2012). In the world of Git and its platforms, how should one understand the forms of coordination, the values, norms and rituals that enable the governance of the collective writing of code? To provide detailed and situated accounts, one could start with the role of remote work (also see area #2) or the new ways oral and written communication are being institutionalized in the workplace − written communication through version control and bug tracking systems; oral communication through so-called “agile” methods and other stand-up meetings.
Code: professions and industries
Proposals addressing the emergence of professions and industries directly related to code are also welcome. In 1969, IBM famously decided to unbundle hardware and software. The latter then became a commercial object in its own right and the work of the code became the competence of a new profession, software engineers. That kind of reconfiguration can be studied through its consequences, for example on the socio-demographic characteristics of employees − Marie Hicks (2017) shows how the revaluation of the profession of programmer in Great Britain was accompanied by its masculinization. An approach in terms of careers could highlight differentiated career paths, like free software developers (Vicente, 2015) or engineers who become venture capitalists. Also, employment situations can be described. The question of the workplace is often central and the configurations are very varied: in fact, in a globalized industry, a team can share the same open space or be "multi-located" by promoting teleworking or mixing these two configurations. Similarly, the status of "coder" deserve a full analysis, to distinguish the engineers-shareholders of large companies in Silicon Valley (Lecuyer, 2007) from the more precarious freelancers who sometimes collaborate on the same projects.
Code management and engineering is another interesting entry point for these professions. In 1975, Frederick Brooks published a landmark book in the history of computer management, The Mythical Man-Month (Brooks, 1995 ). As coder and team leader at IBM, he makes a portrait of the code as a craft activity and, in this context, he praises the small teams and mobile start-ups against large monolithic enterprises. Today, if projects and start-ups are far from gone, we must recognize that the code has since become an industrial activity, massive and streamlined. Specific management techniques (Agile, SCRUM) and original types of peer review (code reviews, pull requests) were invented and generalized, allowing to increase the rates and maximize the productivity of each developer, a trend often painted as detrimental to the values of the craftsman (Kraft, 1977; Sennett, 2008). By studying these different methods and their practical implementation, one could back up an analysis of the role of managers and the structuring of teams.
Finally, we will welcome proposals about the irruption of code in professional circles that are closely related to it (like the video game industry) or were seemingly completely devoid of it. One can think of the growing investment made by academics in languages like Python or R, the valorization of machine learning in the biological disciplines, or the new skills required by the simulations in physical sciences. Even in social worlds where code has been around for a long time, the growing weight of digital industries can generate radical reconfigurations. Governance of open source projects, which has already been well studied (Auray, 2003, 2005, Broca, 2013), deserves to be evaluated again in the light of its ambiguities (Kelty, 2016), between neoliberal empowerment and citizen participation, especially as many open source projects depend on the human and economic resources of large digital corporations, such as Google or Microsoft (Berry, 2008: 134, 159).
Coders and their relationship to code
This special issue also encourages contributions questioning the relationship between the code and the people who write it. In this respect, the theme of hacker ethics has become unavoidable (Himanen, 2001). Coding would thus constitute a creative activity, halfway between DIY and playful practice, guided by the pleasure of solving logical problems. In short, coding would be fundamentally fun. In contrast to this boundless enthusiasm, “the craze around make should not be seen as the simple expression of a new trick of capitalist reason” (Lallement, 2015: 20). The question of how coders become and stay engaged in their code then becomes central to explain and understand their sometimes considerable investments. A detailed description of what constitutes and separates the “dirty work” from their “true job” (Bidet, 2011) could be developed or contrasted with the more routine relationships that some have deplored since the late 1970s (Kraft, 1977). To get a better sense of the meaning coders give to their practices could require exploring those professional communities that are built around each language and its “philosophy”, as well as the “good practices” that they promote and that vary significantly. The plurality of relationships to computer science can also be examined in the light of broader relationships to science and by questioning, for example, the separation between an instrumental dimension and an “aesthetic” dimension, stemming from a taste for mathematical intellectual challenge (Zarca, 2009).
The question of the relationship to infrastructures is also a promising area of research. On the one hand, software infrastructures are supposedly invisible both to users, who only notice them during failures, and to developers who have a familiar and almost ordinary relationship with them (Star, 1999). On the other hand, a significant proportion of programmers can be described as “recursive publics” (Kelty, 2008), who watch over the infrastructures they use, know about the interdependence of these devices and, above all, are competent enough to open the black box of programs. A precise study of the concern and care for infrastructures would help to explain why two programs essential to the Internet, the Linux kernel which powers the majority of servers, and OpenSSL which encrypts exchanges on the web, nevertheless benefit from radically different visibilities: Linux is home to celebrities in the field, such as Linus Torvalds, and attracts thousands of contributions every month, while OpenSSL only came out of the shadows after it was identified as responsible for Heartbleed, one of the most important security vulnerabilities the Internet has ever known.
Another avenue for the investigation would be to question the relationship to source code by disentangling aesthetic appreciation, technical norms and the legitimacy of codes. Many computer scientists have described programming as a form of art (Knuth, 1974), while putting it in tension with computer science. The Python language provides an interesting illustration of this tension between, on the one hand, a rigid standard known as PEP8 which dictates, among other things, the maximum length of lines, and, on the other hand, an appreciation of the “idiomatic” uses of Python (pythonic code) which would best reflect the “philosophy” of the language. These judgments raise the question of the differential legitimacy and prestige of practices within and between different code communities. At the same time, the boundaries between these communities probably could be questioned as well.
Finally, this issue welcomes proposals around non-professional relationships to code and what can be called “ordinary contributions” (Rankin, 2018), such as programming one’s scientific calculator by copying ready-made programs, writing and sharing excel macros, writing messages in markup languages (HTML, Markdown, Wikicode or Bbcode) on sites, wiki or forums. It may also involve examining the dynamics of an amateur programming practice, whether it is leisure or “side-work” (Weber, 1990; Flichy, 2010).
Abstracts (3.000 characters [about 500 words] maximum, including spaces but excluding references) are due by January 17, 2020. They should be sent to the four following addresses:
- Revue RESET resetopeneditionorg
- Gabriel Alcaras gabriel.alcarasehessfr
- Manuel Boutet manuel.boutetgmailcom
- Antoine Larribeau antoine.larribeauens-lyonfr
The abstracts will be reviewed anonymously by the issue coordinators and the members of the editorial board. Authors of submissions selected at this stage will be asked to e-mail their full papers by April 10, 2020.
- Deadline for abstract submissions: January 17, 2020.
- Answers to authors: early february 2020.
- Deadline for full papers (40.000 to 60.000 characters [about 6.000 to 9.000 words), including spaces but excluding references): April 10, 2020.
27. November 2019
17. Januar 2020
Stimmt hier etwas nicht? Sagen Sie es uns!
Haben Sie einen Fehler gefunden, stimmt der obige Text faktisch nicht oder möchten Sie uns sonst etwas mitteilen? Gerne nehmen wir Ihre Rückmeldung auf und bemühen uns, allfällige Fehler und Unstimmigkeiten so schnell wie möglich zu beheben.