Using Data from Git and GitHub in Ethnographies of Software Development
Laboratory studies provide the classic examples of ethnography in Science and Technology Studies, however ethnographic methods can also offer insight into scientific and technological development that is geographically dispersed and mediated through computational tools and infrastructures. Sociologists of science studying software development projects are presented with a variety of infrastructures that together constitute the life of a software project. Such infrastructures include mailing lists, wikis, forums, and version control systems. In this chapter I consider how the history of a project’s development, as recorded in its version control history (specifically, git and GitHub), can provide a useful resource to STS scholars interested in studying software development. I outline how git and GitHub can be used, what kinds of qualitative and quantitative data can be derived from them, and I evaluate the strengths and limitations of using this kind of data.
KeywordsDigital ethnography Software development Git Github
- Atlassian. 2016. Forking workflow. Atlassian git tutorial. https://www.atlassian.com/git/tutorials/comparing-workflows. Accessed 9 Mar 2018.
- Beams, C. 2014. How to write a git commit message. https://chris.beams.io/posts/git-commit/. Accessed 13 Feb 2018.
- Bird, C., P.C. Rigby, E.T. Barr, D.J. Hamilton, D.M. German, and P. Devanbu. 2009. The promises and perils of mining git. In 6th IEEE international working conference on mining software repositories, 2009. MSR 2009, 1–10. https://doi.org/10.1109/MSR.2009.5069475.
- Chacon, S., and B. Straub. 2018a. Branches in a nutshell. Git-Scm. https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell. Accessed 13 Feb 2018.
- ———. 2018b. Branching workflows. Git-Scm. https://www.git-scm.com/book/en/v2/Git-Branching-Branching-Workflows. Accessed 9 Mar 2016.
- ———. 2018c. Contributing to a project. Git-Scm. https://www.git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project#_commit_guidelines. Accessed 30 Jan 2018.
- ———. 2018d. Recording changes to the repository. Git-Scm. https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository. Accessed 13 Feb 2018.
- Driessen, V. 2010. A successful git branching model. Nvie.com. http://nvie.com/posts/a-successful-git-branching-model/. Accessed 5 Jan 2010.
- Geiger, R.S., and D. Ribes. 2011. Trace ethnography: Following coordination through documentary practices. In System sciences (HICSS), 44th Hawaii international conference on, 1–10. IEEE.Google Scholar
- Git. 2018a. Git. Git-Scm. https://git-scm.com/. Accessed 16 Feb 2018.
- ———. 2018b. Git: Documentation/SubmittingPatches. https://github.com/git/git/blob/master/Documentation/SubmittingPatches. Accessed 13 Feb 2018.
- Git Developers. 2018. Git-commit documentation. Git-Scm. https://git-scm.com/docs/git-commit.
- GitHub. 2013. Understanding the GitHub flow. GitHub guides. https://guides.github.com/introduction/flow/index.html. Accessed 13 Feb 2018.
- ———. 2018a. Build software better, together. GitHub. https://github.com/about. Accessed 13 Feb 2018.
- ———. 2018b. Git handbook. GitHub guides. https://guides.github.com/introduction/git-handbook/. Accessed 13 Feb 2018.
- Knorr-Cetina, K. 1999. Epistemic cultures: How the sciences make knowledge. London: Harvard University Press.Google Scholar
- Latour, B., and S. Woolgar. 1986. Laboratory life: The construction of scientific facts. Chichester: Princeton University Press.Google Scholar
- Lynch, M. 1985. Art and artifact in laboratory science: A study of shop work and shop talk in a research laboratory. London: Routledge & Kegan Paul.Google Scholar
- Marcus, G.E. 1995. Ethnography in/of the world system: The emergence of multi-sited ethnography. Annual Review of Anthropology 24 (1): 95–117. https://doi.org/10.1146/annurev.an.24.100195.000523.CrossRefGoogle Scholar
- Woolgar, S. 1990. Configuring the user: The case of usability trials. The Sociological Review 38 (S1): 58–99. https://doi.org/10.1111/j.1467-954X.1990.tb03349.x.CrossRefGoogle Scholar