Software Maintenance as Materialization of Common Knowledge

  • Mace Ojala
  • Marisa Leavitt Cohn

Abstract

While development of software always implicitly takes place in contexts of inherited entanglements and legacies, its maintenance deals explicitly with what is already present. Software maintenance locates itself in media res, in the middle of things. Maintaining software typically involves intervening in the material archive of source code, documentation, and software tools. Doing so successfully requires relevant situated knowledge of how the software at hand already hangs together, and how to effectively put this knowledge to use. This knowledge builds on first-hand experience, acquired in practice over shared lifetimes of people and code. For code to continue to endure over time, ongoing articulation of its entanglements is externalized and materialized across contributing programmers and software development tools, each themselves vulnerable and in need of maintenance. This paper analyzes how this process of externalizing and materializing knowledge is negotiated. We conclude that the common knowledge which suspends the string figure of software in time and in a broken world (Jackson 2014) is always a locally hybrid assemblage which carries this knowledge forward. Hence, to maintain software well is to add on to its legacy.

References

@adam-npm. 2018. “Details about the Event-Stream Incident.” Npm Blog (Archive). November 27, 2018. Accessed February 23, 2024.

https://blog.npmjs.org/post/180565383195/details-about-the-event-stream-incident.

Ahmed, Sara. 2019. What’s the Use?: On the Uses of Use. Illustrated edition. Durham: Duke University Press.

https://doi.org/10.1215/9781478007210.

Bialski, Paula. 2019. “Code Review as Communication: The Case of Corporate Software Developers.” In Communication, edited by Paula Bialski, Finn Brunton, and Mercedes Bunz, 93–111. Lüneburg: Meson Press.

https://meson.press/books/communication/.

Boscoe, Bernadette, and Michael Scroggins. 2019. “Maintaining FITS in Two Careers.” Presented at the Conference Maintainers III: Practice, Policy and Care, October 6–9, 2019, Washington DC.

Bowker, Geoffrey C., and Susan Leigh Star. 2000. Sorting Things Out: Classification and Its Consequences. Cambridge, MA: The MIT Press.

Chun, Wendy Hui Kyong. 2008. “On ‘Sourcery,’ or Code as Fetish.” Configurations: A Journal of Literature, Science, and Technology 16(3): 299–324.

https://doi.org/10.1353/con.0.0064.

⸻. 2011. Programmed Visions. Software and Memory. Cambridge, MA: MIT Press.

Coelho, Jailton, Marco Tulio Valente, Luciano Milen, and Luciana L. Silva. 2020. “Is this GitHub Project Maintained? Measuring the Level of Maintenance Activity of Open-Source Projects.” Information and Software Technology 122: 1 – 16.

https://doi.org/10.1016/j.infsof.2020.106274.

Cohn, Marisa Leavitt. 2016. “Convivial Decay: Entangled Lifetimes in a Geriatric Infrastructure.” In Proceedings of the 19th ACM Conference on Computer-Supported Cooperative Work & Social Computing, CSCW ’16, 1511–23. New York, NY: Association for Computing Machinery.

https://doi.org/10.1145/2818048.2820077.

⸻. 2017. “‘Lifetime Issues’: Temporal Relations of Design and Maintenance.” Continent 6(1): 4–12.

⸻. 2019. “Keeping Software Present: Software as a Timely Object for STS Studies of the Digital.” In DigitalSTS: A Field Guide for Science & Technology Studies, edited by Janet Vertesi and David Ribes, 423–46. Princeton, NJ: Princeton University Press.

Cohn, Marisa Leavitt, Susan Elliott Sim, and Charlotte P. Lee. 2009. “What Counts as Software Process? Negotiating the Boundary of Software Work Through Artifacts and Conversation.” Computer Supported Cooperative Work (CSCW) 18(5): 401–443.

https://doi.org/10.1007/s10606-009-9100-4.

Collin, Finn. 2019. “The Twin Roots and Branches of Social Epistemology.” In The Routledge Handbook of Social Epistemology, edited by Miranda Fricker, Peter J. Graham, David Henderson, and Nikolaj J. L. L. Pedersen. Routledge Handbooks Online. New York, NY: Routledge.

https://doi.org/10.4324/9781315717937-3.

Conrad, Lisa. 2019. “The Organization is a Repair Shop.” Ephemera: Theory & Politics in Organization 19(2): 303–24.

https://ephemerajournal.org/contribution/organization-repair-shop.

Couture, Stéphane. 2019. “The Ambiguous Boundaries of Computer Source Code and Some of Its Political Consequences.” In digitalSTS: A Field Guide for Science & Technology Studies, edited by Janet Vertesi and David Ribes, 136–56. Princeton, NJ: Princeton University Press.

Denis, Jérôme, Alessandro Mongili, and David Pontille. 2015. “Maintenance & Repair in Science and Technology Studies.” TECNOSCIENZA: Italian Journal of Science & Technology Studies 6(2): 5–15.

https://doi.org/10.6092/issn.2038-3460/17251.

Denis, Jérôme, and David Pontille. 2020. “Why Do Maintenance and Repair Matter?” In The Routledge Companion to Actor-Network Theory, edited by Anders Blok, Ignacio Farías, and Celia Roberts, 283–93. London, England, and New York, NY: Routledge.

⸻. 2017. “Beyond Breakdown: Exploring Regimes of Maintenance.” Continent 6(1): 13–17.

⸻. 2021. “Maintenance Epistemology and Public Order: Removing Graffiti in Paris.” Social Studies of Science 51(2): 233–58.

https://doi.org/10.1177/0306312720956720.

Ensmenger, Nathan. 2014. “When Good Software Goes Bad: The Surprising Durability of an Ephemeral Technology.” Paper presented at the Conference MICE: Mistakes, Ignorance, Contingency, and Error in Science and Technology, October 2–4, 2014, Münich. Accessed February 23, 2024.

http://homes.soic.indiana.edu/nensmeng/files/ensmenger-mice.pdf.

Feathers, Michael C. 2004. Working Effectively with Legacy Code. First Edition. Upper Saddle River, NJ: Pearson.

Freiman, Ori, and Boaz Miller. 2020. “Can Artificial Entities Assert?” In The Oxford Handbook of Assertion, edited by Sanford C. Goldberg, 414–34. Oxford, UK: Oxford University Press.

Geiger, R. Stuart, Dorothy Howard, and Lilly Irani. 2021. “The Labor of Maintaining and Scaling Free and Open-Source Software Projects.” Proceedings of the ACM on Human-Computer Interaction 5(1): 1–28.

https://doi.org/10.1145/3449249.

Goodwin, Charles. 1995. “Seeing in Depth.” Social Studies of Science 25(2): 237–74.

https://doi.org/10.1177/030631295025002002.

Graham, Stephen, and Nigel Thrift. 2007. “Out of Order: Understanding Repair and Maintenance.” Theory, Culture & Society 24(3): 1–25.

https://doi.org/10.1177/0263276407075954.

Gupta, Akhil. 2018. “The Future in Ruins: Thoughts on the Temporality of Infrastructure.” In The Promise of Infrastructure, edited by Nikhil Anand, Akhil Gupta, and Hannah Appel, 62–79. Durham, NC: Duke University Press.

https://doi.org/10.1515/9781478002031-004.

Haraway, Donna J. 2013. “SF: Science Fiction, Speculative Fabulation, String Figures, So Far.” Ada. A Journal of Gender, New Media & Technology 3. Accessed February 23, 2024.

https://scholarsbank.uoregon.edu/xmlui/bitstream/handle/1794/26308/ada03-sfsci-har-2013.pdf?sequence=1&isAllowed=y.

⸻. 2016. Staying with the Trouble: Making Kin in the Chthulucene. Illustrated Edition. Experimental Futures. Durham, NC: Duke University Press.

Heidegger, Martin. 1977. The Question Concerning Technology, and Other Essays. Translated and with an Introduction by William Lovitt. New York, NY: Harper Torchbooks.

Helmond, Anne. 2015. “The Platformization of the Web: Making Web Data Platform Ready.” Social Media + Society 1(2).

https://doi.org/10.1177/2056305115603080.

Henderson, Kathryn. 1991. “Flexible Sketches and Inflexible Data Bases: Visual Communication, Conscription Devices, and Boundary Objects in Design Engineering.” Science, Technology, & Human Values 16(4): 448–73.

https://doi.org/10.1177/016224399101600402.

Henke, Christopher R. 2000. “The Mechanics of Workplace Order: Toward a Sociology of Repair.” Berkeley Journal of Sociology 44: 55–81.

Henke, Christopher R., and Benjamin Sims. 2020. Repairing Infrastructures: The Maintenance of Materiality and Power. Cambridge, MA: MIT Press.

Hutchins, Edwin. 1995. Cognition in the Wild. Cambridge, MA: MIT Press.

Ingold, Tim. 2000. The Perception of the Environment: Essays on Livelihood, Dwelling and Skill. London, England, and New York, NY: Routledge.

Jackson, Steven J. 2014. “Rethinking Repair.” In Media Technologies: Essays on Communication, Materiality, and Society, edited by Tarleton Gillespie, Pablo J. Boczkowski, and Kirsten A. Foot, 221–40. Cambridge, MA: The MIT Press.

Knorr Cetina, Karin, and Urs Bruegger. 2002. “Global Microstructures: The Virtual Societies of Financial Markets.” American Journal of Sociology 107(4): 905–50.

https://doi.org/10.1086/341045.

Kocksch, Laura, Matthias Korn, Andreas Poller, and Susann Wagenknecht. 2018. “Caring for IT Security: Accountabilities, Moralities, and Oscillations in IT Security Practices.” Proceedings of the ACM on Human-Computer Interaction 2: 1–20.

https://doi.org/10.1145/3274361.

Krysa, Joasia, and Grzesiek Sedek. 2008. “Source Code.” In Software Studies: A Lexicon, edited by Matthew Fuller, 236–43. Cambridge, MA: MIT Press.

https://doi.org/10.7551/mitpress/7725.003.0036.

Latour, Bruno. 1987. Science in Action: How to Follow Scientists and Engineers Through Society. Cambridge, MA: Harvard University Press.

⸻. 1990. “Technology Is Society Made Durable.” The Sociological Review 38(1): 103–31.

https://doi.org/10.1111/j.1467-954X.1990.tb03350.x.

Lindén, Lisa, and Doris Lydahl. 2021. “Editorial: Care in STS.” Nordic Journal of Science and Technology Studies 9(1): 3–12.

https://doi.org/10.5324/njsts.v9i1.4000.

Mackenzie, Adrian. 2006. Cutting Code: Software and Sociality. Frankfurt am Main: Peter Lang.

Marino, Mark C. 2020. Critical Code Studies. Cambridge, MA: MIT Press.

Mathiesen, Kay. 2007. “Introduction to Special Issue of Social Epistemology on ‘Collective Knowledge and Collective Knowers.’” Social Epistemology: A Journal of Knowledge, Culture and Policy 21(3): 209–16.

https://doi.org/10.1080/02691720701673934.

Mattern, Shannon. 2018. “Maintenance and Care.” Places Journal.

https://doi.org/10.22269/181120.

Miller, Boaz, and Ori Freiman. 2020. “Trust and Distributed Epistemic Labor” In The Routledge Handbook on Trust and Philosophy, edited by Judith Simon, 341–53. New York, NY: Routledge.

Munroe, Randall. 2020. “Dependency.” Xkcd: A Webcomic of Romance, Sarcasm, Math, and Language. Comic feed. August 17, 2020. Accessed February 23, 2024.

https://xkcd.com/2347/.

Neff, Gina, and David C. Stark. 2004. “Permanently Beta: Responsive Organization in the Internet Era.” In Society Online: The Internet in Context, edited by Philip N. Howard and Steve Jones, 173–88. Thousand Oaks: SAGE Publications, Inc.

https://doi.org/10.4135/9781452229560.

Ojala, Mace. 2021. “Maintain-Ability. A Thesis on Life Alongside Computer Software.” Master’s Thesis, Tampere: Tampere University. Trepo.

https://urn.fi/URN:NBN:fi:tuni-202202031820.

Paine, Drew, and Charlotte P. Lee. 2017. “‘Who Has Plots?’: Contextualizing Scientific Software, Practice, and Visualizations.” Proceedings of the ACM on Human-Computer Interaction 1: 1–21.

https://doi.org/10.1145/3134720.

Payette, Sandy. 2014. “Hopper and Dijkstra: Crisis, Revolution, and the Future of Programming.” IEEE Annals of the History of Computing 36(4): 64–73.

https://doi.org/10.1109/MAHC.2014.54.

Peters, John Durham. 2015. “Proliferation and Obsolescence of the Historical Record in the Digital Era.” In Cultures of Obsolescence: History, Materiality, and the Digital Age, edited by Babette B. Tischleder and Sarah Wasserman, 79–96. New York: Palgrave Macmillan.

https://doi.org/10.1057/9781137463647_5.

Proctor, Robert N., and Londa Schiebinger, eds. 2008. Agnotology: The Making and Unmaking of Ignorance. Stanford, CA: Stanford University Press.

Puig de la Bellacasa, Maria. 2011. “Matters of Care in Technoscience: Assembling Neglected Things.” Social Studies of Science 41(1): 85–106.

https://doi.org/10.1177/0306312710380301.

⸻. 2017. Matters of Care. Speculative Ethics in More than Human Worlds. Minneapolis, MN: University of Minnesota Press.

Ritasdatter, Linda Hilfling. 2020. “Unwrapping Cobol: Lessons in Crisis Computing.” PhD Thesis, Malmö: Malmö University Publications.

http://urn.kb.se/resolve?urn=urn:nbn:se:mau:diva-17847.

Ruparelia, Nayan B. 2010. “Software Development Lifecycle Models.” ACM SIGSOFT Software Engineering Notes 35(3): 8–13.

https://doi.org/10.1145/1764810.1764814.

Sipser, Michael. 2013. Introduction to the Theory of Computation. Third Edition. Boston, MA: Cengage Learning.

Sollfrank, Cornelia, and Winnie Soon. 2021. Fix My Code. Berlin: Eeclectic.

Souza, Cleidson de, Jon Froehlich, and Paul Dourish. 2005. “Seeking the Source: Software Source Code as a Social and Technical Artifact.” In Proceedings of the 2005 ACM International Conference on Supporting Group Work, 197–206. New York, NY: Association for Computing Machinery.

https://doi.org/10.1145/1099203.1099239.

Star, Susan Leigh. 1999. “The Ethnography of Infrastructure:” American Behavioral Scientist 43(3): 377–91.

https://doi.org/10.1177/00027649921955326.

Star, Susan Leigh, and Karen Ruhleder. 1996. “Steps Toward an Ecology of Infrastructure: Design and Access for Large Information Spaces.” Information Systems Research 7(1): 111–34.

https://doi.org/10.1287/isre.7.1.111.

Tronto, Joan C. 1998. “An Ethic of Care.” Generations: Journal of the American Society on Aging 22(3): 15–20.

https://www.jstor.org/stable/44875693.

Turing, Alan Mathison. 1937. “On Computable Numbers, with an Application to the Entscheidungsproblem.” Proceedings of the London Mathematical Society s2–42(1): 230–65.

https://doi.org/10.1112/plms/s2-42.1.230.

Vanderschraaf, Peter, and Giacomo Sillari. [2001] 2013. “Common Knowledge.” In The Stanford Encyclopedia of Philosophy Archive, edited by Edward N. Zalta. Metaphysics Research Lab, Stanford University. Accessed February 23, 2024.

https://plato.stanford.edu/archives/fall2021/entries/common-knowledge/.

Vertesi, Janet. 2015. Seeing Like a Rover: How Robots, Teams, and Images Craft Knowledge of Mars. Chicago, IL: University of Chicago Press.

Vinsel, Lee, and Andrew L. Russell. 2020. The Innovation Delusion: How Our Obsession with the New Has Disrupted the Work that Matters Most. New York, NY: Currency.

Wilde, Mandy de. 2021. “‘A Heat Pump Needs a Bit of Care’: On Maintainability and Repairing Gender–Technology Relations.” Science, Technology, & Human Values 46(6): 1261–85.

https://doi.org/10.1177/0162243920978301.

Yuill, Simon. 2008. “Concurrent Versions Control.” In Software Studies: A Lexicon, edited by Matthew Fuller, 64–69. Cambridge, MA: MIT Press.

https://doi.org/10.7551/mitpress/7725.003.0011.

Published
22 Apr 2024
Section
Thematic Collections