Independent Together: Building and Maintaining Values in a Distributed Web Infrastructure
Total Page:16
File Type:pdf, Size:1020Kb
Independent Together: Building and Maintaining Values in a Distributed Web Infrastructure by Jack Jamieson A thesis submitted in conformity with the requirements for the degree of Doctor of Philosophy Graduate Department of Information University of Toronto © Copyright 2021 by Jack Jamieson Abstract Independent Together: Building and Maintaining Values in a Distributed Web Infrastructure Jack Jamieson Doctor of Philosophy Graduate Department of Information University of Toronto 2021 This dissertation studies a community of web developers building the IndieWeb, a modular and decen- tralized social web infrastructure through which people can produce and share content and participate in online communities without being dependent on corporate platforms. The purpose of this disser- tation is to investigate how developers' values shape and are shaped by this infrastructure, including how concentrations of power and influence affect individuals' capacity to participate in design-decisions related to values. Individuals' design activities are situated in a sociotechnical system to address influ- ence among individual software artifacts, peers in the community, mechanisms for interoperability, and broader internet infrastructures. Multiple methods are combined to address design activities across individual, community, and in- frastructural scales. I observed discussions and development activities in IndieWeb's online chat and at in-person events, studied source-code and developer decision-making on GitHub, and conducted 15 in-depth interviews with IndieWeb contributors between April 2018 and June 2019. I engaged in crit- ical making to reflect on and document the process of building software for this infrastructure. And I employed computational analyses including social network analysis and topic modelling to study the structure of developers' online activities. This dissertation identifies how values of import to IndieWeb's community are employed in designing its material architectures as well as community policies. This includes an ongoing balance between supporting individuals' agency over personal design decisions and a need to maintain commensurability for the sake of interoperability. In many cases, early decisions about this balance have contributed to barriers for certain types of participants. Yet, those who can cross those barriers experience a lack of stabilization in IndieWeb's infrastructure as a means of achieving richer engagements with technology. By studying design activities as longitudinal and situated within broader infrastructures, this dissertation describes how changing situations and a variety of influences affect possibilities for articulating values through material engagement, offering insights about how to support positive and healthy relationships with technology. ii Acknowledgements I'm extremely grateful to have been surrounded by supportive colleagues, friends, and family during this dissertation. First, thank you to IndieWeb's community. David Shanske made Yarns possible and taught me to be a better developer. Tantek C¸elik was extremely generous with his time sharing nuances of IndieWeb's history. Writing with Greg McVerry highlighted the role of learning in IndieWeb's community. Ryan Barrett provided meticulous feedback about Bridgy's technical details. And too many others to name everyone. Thank you to all who participated in an interview, shared their insights on IRC and at events, or otherwise helped make this research such a joy to work on. My committee members, Nicole Cohen and Matt Ratto, have been extremely generous with their insights. We have shared many conversations that led me to new questions and approaches, were always enjoyable, and ultimately made me a stronger researcher. And of course, thank you to my supervisor, Rhonda McEwen. In every respect, your mentorship has been a perfect fit. Every time we talked through some methodological detail or other aspect of this research, I've emerged with more confidence, curiosity, and motivation. Thank you to the many other mentors and colleagues who have supported me along the way. Jeffrey Boase has a been constant and generous collaborator and I owe him an inexpressible debt of gratitude. Naomi Yamashita's dedication to using design research to help the disadvantaged is a major inspiration on my work. Jan Hadlaw, who supervised my MA, introduced me to STS and related approaches for thinking about culture and technology. Dawn Walker's insights about decentralization have been a strong influence on my thinking. Herv´eSaint-Louis has been a close confidant during every stage of my PhD. Emily Maemura provided valuable feedback on early drafts. Peter Unwin has been a dear friend and colleague from day one of grad school. The \McEwen Squad"| Michelle Lui, Zhao Zhao, and Yaxi Zhou|formed a strong support network for the final stretch. And I am privileged to have learned from Curtis, Dan, Gabby, Kaveh, Rekha and everyone else with whom I've enjoyed long chats at Semaphore, as well as my cohort and the rest of the iSchool community. Finally, thank you to Elena, whose love and support mean the world; the Lundys, who are a second family; Elizabeth, who supports me even though I used to make way too much noise while she was watching Buffy; and my parents, for everything. This dissertation was supported by a Social Science and Humanities Research Council Canada Graduate Scholarship, 2015-2018. iii Contents 1 Introduction 1 1.1 Motivation and purpose . .1 1.2 Background . .2 1.2.1 Building for Web 1.0 . .3 1.2.2 Web 2.0 . .4 1.2.3 Decentralized Web . .6 1.2.4 About the IndieWeb . .9 1.2.5 Personal standpoint . 11 1.3 Contribution . 12 1.4 Structure of the Dissertation . 13 2 Background and Literature Review 14 2.1 Questions of values and technology . 14 2.1.1 Defining and Locating Values . 16 2.2 Infrastructures and platforms . 19 2.3 Political Economy . 22 2.4 Labour and technological communities of practice . 25 2.4.1 Technological divisions of labour . 26 2.4.2 Learning in communities of practice . 27 2.5 Theoretical approach and Research Questions . 29 3 Research Design 32 3.1 Research setting . 33 3.2 Participant-observation . 35 3.2.1 Critical making . 36 3.2.2 Interviews . 39 3.2.3 Coding and Reflecting on Field Notes . 41 3.3 Logged interactional data . 42 3.3.1 Collecting and Cleaning Log Data. 43 3.3.2 Analysis: Topic Modelling . 46 3.3.3 Analysis: Network Analysis . 49 3.3.4 Linking chat and GitHub data . 51 3.4 Combining qualitative and computational analyses . 54 3.5 Ethical considerations . 55 iv 3.6 Limitations . 57 4 Building for yourself: Creating IndieWeb tools with values in mind 59 4.1 Introduction . 59 4.2 Autonomy and self-empowerment as guiding values . 60 4.2.1 Empowerment and making . 61 4.2.2 Autonomy and Free Software . 62 4.3 Principles of building on the IndieWeb . 63 4.3.1 Why and what to build on the IndieWeb . 65 4.3.2 How to build on the IndieWeb . 67 4.4 Coordination mechanisms . 70 4.4.1 Technical standards / Building blocks . 72 4.5 Building Yarns . 77 4.5.1 Motivations and background . 78 4.5.2 From Yarns Indie Reader to Yarns Microsub Server ................. 79 4.5.3 Plurality in IndieWeb sites . 83 4.5.4 Distributed collaboration and Microsub data structures . 85 4.6 Discussion and conclusion . 89 4.6.1 Reflection and balancing individual with communal values . 89 4.6.2 Employed values . 92 4.6.3 Conclusion . 94 5 Mapping IndieWeb's community structure with logged data analysis 95 5.1 Summary statistics about IndieWeb's Chat . 96 5.1.1 Length of chat participation . 97 5.2 Results: Topic Modelling . 98 5.2.1 Topic probability distribution across documents . 98 5.2.2 Distribution of keywords across topics . 99 5.2.3 Labelling and grouping topics . 101 5.2.4 Results: cluster analysis of topic trends over time . 107 5.2.5 Topics over time . 109 5.3 Summary statistics about IndieWeb's GitHub network . 111 5.3.1 Event types by year . 113 5.3.2 Distribution of commits and issues among repos . 113 5.4 Does chat activity relate to GitHub activity? . 116 5.4.1 Linking between GitHub and chat . 116 5.4.2 Cluster analysis of GitHub activities . 117 5.4.3 Connecting chat activity to commit-focused and issue-focused GitHub activity . 120 5.5 Limitations . 124 5.6 Discussion and Conclusion . 124 v 6 Accounts of community from the ground: Investigating influence and exclusivity 126 6.1 Overview of interview participants . 127 6.2 Influence and exclusion around technical experience . 129 6.2.1 Influence through technical implementation . 129 6.2.2 Formal technical barriers . 131 6.2.3 Informal technical barriers . 132 6.3 Influence and exclusion around cultural diversity . 135 6.3.1 Gender gap . 135 6.3.2 Addressing exclusion at a community level . 139 6.4 Discussion and conclusion . 141 7 Building Alongside the Corporate Web 144 7.1 Introduction . 144 7.2 Using.