Contradicting Motivations in Civic Tech Software Development: Analysis of a Grassroots Project
Abstract
Grassroots civic tech, or software for social change, is an emerging practice where people create and then use software to create positive change in their community. In this interpretive case study, we apply Engeström’s expanded activity theory as a theoretical lens to analyze motivations, how they relate to for example group goals or development tool supported processes, and what contradictions emerge. Participants agreed on big picture motivations, such as learning new skills or improving the community. The main contradictions occurred inside activity systems on details of implementation or between system motives, instead of big picture motivations. Two most significant contradictions involved planning, and converging on design and technical approaches. These findings demonstrate the value of examining civic tech development processes as evolving activity systems.
Index Terms:
civic tech, software engineering, software development, motivations, activity theory, case study, contradictionsGeneral Abstract
Grassroots civic tech, where people create and use software to create positive change in their community, is based on volunteer and free/libre open source software participants. Earlier survey-based studies indicate that participant motivations are generally in alignment due to participant self-selection. In our case study, we examine one civic tech grassroots software group and their two projects to see how individual motives evolve and contradict as the project progresses. We found that even though participants agree on the big picture, there are significant contradictions in details. Two most significant contradictions involved planning, and converging on design and technical approaches. To address these contradictions and to sustain similar projects, we recommend involving skilled and committed facilitators that can keep volunteers pointed in the same direction and sustain participant engagement.
I Introduction
Grassroots civic tech, or software for social change, is an emerging practice where people create and then use software to create positive change in their community, such as using citizen sensing to record evidence of air pollution to support environmental activism [1]. It is related to Free/Libre and Open Source Software (FLOSS) movement and participants are diverse, calling themselves for example civic innovation, tech for good, civic crowdsourcing, free software, and community technology [2]. Like their names for the field, the participants’ and groups’ motivations and working practices are diverse.
Civic tech itself is a wider field [3, 4], with studies for example in: examining the role of information technologies in governance [5]; supporting participatory democracy practices of technology in society [6]; understanding the role of software in society [7]; developing agile methods and techniques to support software development in society [8, 9] and, more recently architecting smart cities, open data with and for people [10, 11]. However, civic tech software development processes from a systems perspective have been less often studied, especially when it comes to grounds-up development processes. Similarly, there have been studies on what drives individuals to participate and keep contributing in FLOSS [12, 13] or tech for good [14], but less analysis on how volunteer motivations interact once the development process is ongoing. We propose that this is an open question that is worth addressing, since development processes in action [15, 16] evolve based on team needs. A study on motivations of a project in action can reveal how different volunteer motivations can be negotiated towards a compromise.
In this paper, we apply Engeström’s expanded activity theory [17] as a theoretical lens to analyze motivations, how they relate to for example group goals or development tool supported processes, and what contradictions emerge when a civic tech group’s development process is in progress. The research case is based on the activities of Code from Ireland civic tech group from 2018 to 2019, with the group structure described in more detail in [18]. During the case study period, Code for Ireland was engaged in two projects: Transparent Water for publishing data on water quality and Finding Vacant Homes for identifying residences that could alleviate the Irish housing crisis.
More specifically, our research question is: What motivation, motive, or goal contradictions emerge in a grassroots civic tech project in action?
In the following Section 2, we detail related research on grassroots civic tech and motivations. We continue then in Section 3, about case study and analysis. Findings are presented in Section 4 and conclusions in Section 5.
II Related research on motivations in FLOSS and Civic Tech
Individual motivations for contributors have been studied in free/libre and open source software projects recently by Gerosa et al. [13]. They found that key motivational factors were social aspects (helping others, teamwork, reputation) and intrinsic motivations, such as fun, learning and altruism. Similarly, Barcomb et al. [12] found that social norms, satisfaction, and community commitment were supporting factors in episodic volunteers. Coelho et al. [19] who studied motivations of core developers mainly had similar results in friendly community and opportunity to engage in volunteer work. By contrast, core developers were also motivated by technical quality, such as improving projects they use, lack of project complexity, and lack of complex or buggy code.
Huang et al. [14] studied specifically FLOSS for social good project participant motivations and found that they are more motivated by project impact, such as the societal issue being addressed, and who are the project owners. Community and social characteristics were also important.
Pern and Kitchin [20] analyze frictions from a broader social and cultural systems perspective in civic tech development, using an earlier Irish case study as a data source. They found that complex urban issues can have only partial or imperfect solutions, that can in turn lead to or reveal further complications. The main frictions Pern and Kitchin discuss were stakeholder engagement, shifting goals, and varying commitment from participating developers.
III Research context and analysis
The case we studied is focused on a grassroots group creating civic tech, Code for Ireland, which describes its mission as “developing innovative and sustainable solutions to real-world problems faced by communities across Ireland, by fostering collaboration with civic-minded individuals, businesses and public sector organizations.” The research and data collection occurred during 2018 and 2019. The process is summarized in this Section and is reported in further detail in an earlier study on the group [18].
Case study data includes interviews, development activity logs from GitHub, and an ethnographic study with a researcher embedded with the group for six months in the first half of 2018. Of these, the main data source was semi-structured interviews with six key group contributors. The interviewees included the community leader, a project manager, an open data advocate, and several programmers. The interviews were recorded, transcribed, and analyzed with qualitative data analysis software. The interview guide is archived in the Zenodo repository 111https://doi.org/10.5281/zenodo.2565434. Other collected data was used to contextualize the analysis findings.
Other related research on the group has been performed by Perng and Kitchin [20], who discussed Code for Ireland from a civic and cultural perspective and defined Code for Ireland as a civic hacking group, where “civic hacking binds together elements of civic innovation and computer hacking, with citizens quickly and collaboratively developing technological solutions” [20, pp. 2].
III-A Analysis method
To accomplish our goals, we framed our research as an interpretive case study [21, 22], using an iterative qualitative data analysis process aiming towards increasing abstraction [23, 24]. Case study research was found to be the most suitable for the purposes of this research. It is a qualitative approach in which the investigator explores a bounded system (a case in a specific setting/context) over time, through detailed, in-depth data collection involving multiple sources of information, and reports a case description and case-based themes [21, 25, 22].
Initial codebook for motivations was based on the work of Barcomb et al. [12], Silva et al. [26], and Gerosa et al. [13]. Novel goals and motives were coded inductively when encountered.
For rigour in our research process, we used a selection of techniques by Lincoln and Guba [27] for qualitative research. We used prolonged engagement to get rich data from the context, used referential adequacy in the transcription and coding process, and used peer debriefing to get additional neutral viewpoints into data analysis.
III-B Theoretical lens
From an activity-theoretical perspective, human life is fundamentally rooted in participation in activites that are oriented towards objects [28]. These activities are driven by their own or collective purposes, mediated by social rules, shared with a community, and facilitated by tools [29]. For this paper, we use Engeström’s cultural-historical activity theory [17], which distinguishes short-lived goal-directed actions and long-term activity systems [29]. This version is suitable for the study of work and technologies [30] and has been used in IS [31], software engineering [32], and HCI [33].
In Engeström’s cultural-historical activity theory [17], activity systems are depicted as a set of mediation triangles, such as in Fig. 1. It displays the subject, object, and facilitating tools. The activity is moderated by rules, community, and the agreed division of labour between actors. Another key concept within activity systems are disturbances and contradictions. While rules, objects and motives give the system stability, they are often contradictory internally or between actors, and also tilt the system towards increasing instability. An activity system therefore constantly evolves towards a new balance based on internal contradictions in what Engeström has named “cycles of expansive learning.”
Contradictions can occur inside the key concepts or between them. Based on the distances, the contradictions are labeled as follows [17]: 1) primary (multiple value systems within an activity), 2) secondary (between constituents of the activity), 3) tertiary (between object/motive of the central activity and culturally more advanced new activity), or 4) quarternary (between adjacent activities).
When applying Engeström’s cultural-historical activity theory as a theoretical lens, we use the diagram representation to contextualize the motives and contradiction levels to analyze where the contradictions in motives occur. In the following sections where we present the analysis, we use terminology from the theory, which discusses actions, outcomes, and motives, instead of the adjacent word motivation. In this paper, we define motivation as a big picture “energization and direction of behavior” [34]. By contrast, motive is a specific reason for taking an action.

IV Findings
In this Section, we present our qualitative data analysis outcomes step by step as we progress towards increasing level of abstraction, following lightweight qualitative data analysis practises by Saldana [23] and Miles et al. [24].
In the first step of analysis, open coding, we analyze the interviews and note any motivations and motives. In the second round of analysis, we extract activity descriptions from interviews and online materials, and relate the motives to activities using our theoretical lens. In the final step of analysis, where we generate a situated explanation of the case, we present levels of contradictions inside and between the activities.
IV-A Discovering Motives in Case
In this Section, we present the findings of open coding analysis where we discovered individual motivations and motives, and then performed a sorting exercise to group the discovered motivations into larger themes. Four most common themes are listed in Table I, in a descending order of frequency.
Motivation | Representative example |
To have an practical impact on society | “Okay, we’re working on software projects. It’s very different, it’s something good for the community, it’s something to give back.” –P5 |
Commitment to community | “But, really, I’ll do whatever I can to try and keep the Code For Ireland going on.” –P3 |
Learning and developing skills | “I do at some point maybe see myself managing some people so getting some project management experience, those help as well.” –P5 |
Enjoyment and fun | “I think the reason for that is that they like the freedom of these projects because if you have worked in a big company like SAP or Facebook, you’re pretty much told what to do.” –P1 |
IV-B Contextualizing Motives in Activities
In the second step of analysis, we performed another iteration of open coding to detect activity system concepts in two first stages of the software project: planning and design. The stages were originally discovered and defined in [18].
Then, we used activity theory mediation triangles to contextualize and visualize the constituent interactions in activity systems of 1) project planning and 2) software design. Finally, we analyzed how the stated big picture motivations translate to individual activity system motives.
Planning and design activity systems were selected for presentation in this paper due to them featuring key contradictions. Implementation (prototyping and design) and evaluation stage analyses were omitted from this short paper due to size and scope limitations.
IV-B1 Planning Activity
In the first activity system, the key motive for project participants is to negotiate software development practises, which current urban issue should be addressed, and work division between current projects. Used tools involve communication tools such Slack and WhatsApp, project management tools such as Trello, and meeting memos. The key actors are the community leader and project managers. The optimal outcome would be a project plan that all participants agree on. The activity system is visualized in Fig. 2.

IV-B2 Design Activity
In the second activity system, the key motive for a development group participants is to decide in more detail what the final software artefact should be like, and how to divide the work inside the group. Used tools include wire-framing, design sessions, and comparison between visual designs. The outcome of the activity system is a design document. The activity system is visualized in Fig. 3.

IV-C Contradictions of Motives in Activities
Contradiction level | Activity system(s) and contradicting constituents | Description |
Primary | Design: Rules, tools | There is a difficulty to agree on development tools. Some participants would also like to set strict quality controls and unit tests even at prototype development stage. |
Primary | Design: Community | Who should be involved in the community during design? (the difficulty in finding opportunities to involve citizens) |
Secondary | Planning: Community division of labour | Varying level of commitment to agreed on activities between community members. |
Secondary | Design: Community tools | Contradiction between some participants’ skill levels and selected state of the art (but difficult) development tools. |
Tertiary | Design activity more inclusive design activity | Project participant envisioned better processes, such as co-design or better support in design. However, the current system had no capability to implement them, leading to tensions. |
Quarternary | Design activity programming activity | The activity systems were only loosely coupled, programming activity system sometimes disregarding the outputs and motives of design activity. |
In the final stage of analysis, contradictions inside activity systems, between system concepts, and between activity systems were analyzed. Inside each activity system concept, participant motivations (as listed in Section IV-A) were mainly in alignment. Whether participant was motivated by impact, commitment to friends, learning, or fun, they agreed with the overall motives and what the activity system should accomplish. What caused most contradictions inside activity systems was how these goals should be accomplished: in software engineering methods, selection of instruments, and various levels of commitment to agreed on division of labour. Key contradictions identified in analysis and their levels are listed in Table II.
Between activity systems, two main contradictions were loose coupling between software engineering stages (or activity systems).
IV-D Discussing the Findings
Some of the largest contradictions emerged in communication and task management, where a phone-based instant messenger was used for communication and task tracking. A second major issue occurred in design and choosing the technical specification: Design went through several rapid iterations, was loosely coupled, and several competing (instead of complementing) technical approaches were simultaneously implemented.
In our case study, we found that the big picture motivations of participants were in alignment and what differs is how participants want to achieve those goals. This follows expectations set by Huang et al. [14], where they mention that tech for good group membership can be self-selecting for aligned goals.
Our findings indicate that a richer view into participant motives appears when examining a process in action in detail, even though earlier survey-based research indicated that in tech for good projects, motives are initially in alignment. We found that contradictions rose up in the details of decision-making and in varying levels of commitment. These included how to divide tasks, communication tools and details, how to select implementation details, and how to select the technical approach. Majority of the participants were highly motivated, but the volunteer nature of participants and the lack of specialized facilitators meant that good compromises were not achieved on all viewpoints.
V Conclusions
In this paper, we analyzed what motivation, motive, or goal contradictions emerge in a grassroots civic tech project in action. The main contradictions occurred inside activity systems on details of implementation or between system motives, instead of big picture motivations. Two most significant contradictions involved planning, and converging on design and technical approaches.
Our recommendations for practice are what perhaps professionals in established volunteering and non-government organisations already know: Have skilled and committed facilitators that can keep volunteers pointed in the same direction and sustain participant engagement. Based on our case study, it appears that it is essential to have: efficient communicators, shared task management tools, and a compromise on technologies that most participants can commit to. Finding an acceptable lowest common technology denominator is important, since participant skill levels in civic tech can vary [35, 36].
We extend the body of knowledge in civic tech software engineering through two main contributions. First, we demonstrate activity theory can be used as a theoretical lens to evaluate software engineering methods in action [15, 16] as evolving, in-action activity systems. Second, we demonstrate that examining participant motives together as an activity system can shed light on contradictions that arise during civic tech or tech for good development.
The trade-off between contextual richness of a single case study and generalizability of a multiple case study points towards a potential limitation in our work. However, seminal literature [37, 38] acknowledge single case study as a method of inquiry, especially when undertaking novel, exploratory research to capture the complexity of the context in which the case is situated (i.e. motives and motivations within activity systems in complex civic tech environments and processes). Looking forward, we advocate for more comparisons between different civic tech software engineering activity systems for broader findings and more generalizability.
Acknowledgment
We thank Dr. Victoria Palacin for her conceptual contributions and research contributions to the authors’ earlier research collaboration. This research is based on the line of thinking that started in collaboration with Dr. Palacin.
References
- [1] Antti Knutas et al. “Civic Code for Social Change: Lessons in Civic Tech Grassroots for Software Engineers” In IEEE Software 39.6 IEEE, 2022, pp. 64–72
- [2] Sasha Costanza-Chock et al. “#MoreThanCode: Practitioners reimagine the landscape of technology for justice and equity.” Research Action Design & Open Technology Institute, 2018
- [3] Micah Sifry, Matt Stempeck and Erin Simpson “Civic Tech Field Guide” In URL: https://civictech.guide, 2017
- [4] Jorge Saldivar et al. “Civic Technology for Social Innovation” In Computer Supported Cooperative Work (CSCW) 28.1, 2019, pp. 169–207 DOI: 10.1007/s10606-018-9311-7
- [5] Markus Borg, Thomas Olsson, Ulrik Franke and Saïd Assar “Digitalization of Swedish Government Agencies - A Perspective Through the Lens of a Software Development Census” In arXiv:1802.00312 [cs], 2018 arXiv: http://arxiv.org/abs/1802.00312
- [6] James Holston, Valérie Issarny and Cristhian Parra “Engineering Software Assemblies for Participatory Democracy: The Participatory Budgeting Use Case” In Proceedings of the 38th International Conference on Software Engineering Companion, ICSE ’16 New York, NY, USA: ACM, 2016, pp. 573–582 DOI: 10.1145/2889160.2889221
- [7] Peter Newman et al. “The role of design thinking and physical prototyping in social software engineering” In Proceedings of the 37th International Conference on Software Engineering-Volume 2 IEEE Press, 2015, pp. 487–496 URL: http://dl.acm.org/citation.cfm?id=2819085
- [8] Maria Angela Ferrario et al. “Software engineering for ’social good’: integrating action research, participatory design, and agile development” In Companion Proceedings of the 36th International Conference on Software Engineering, ICSE Companion 2014 New York, NY, USA: Association for Computing Machinery, 2014, pp. 520–523 DOI: 10.1145/2591062.2591121
- [9] Kiev Gama “Preliminary Findings on Software Engineering Practices in Civic Hackathons” In 2017 IEEE/ACM 4th International Workshop on CrowdSourcing in Software Engineering (CSI-SE), 2017, pp. 14–20 DOI: 10.1109/CSI-SE.2017.5
- [10] M.. Balestrini “A City in Common: Explorations on Sustained Community Engagement with Bottom-up Civic Technologies”, 2017 URL: http://discovery.ucl.ac.uk/1547540/
- [11] Xabier Larrucea, Annie Combelles, John Favaro and Kunal Taneja “Software engineering for the internet of things” In IEEE Software, 2017, pp. 24–28
- [12] Ann Barcomb, Klaas-Jan Stol, Dirk Riehle and Brian Fitzgerald “Why Do Episodic Volunteers Stay in FLOSS Communities?” In 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE) Montreal, QC, Canada: IEEE, 2019, pp. 948–959 DOI: 10.1109/ICSE.2019.00100
- [13] Marco Gerosa et al. “The Shifting Sands of Motivation: Revisiting What Drives Contributors in Open Source” ISSN: 1558-1225 In 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE), 2021, pp. 1046–1058 DOI: 10.1109/ICSE43902.2021.00098
- [14] Yu Huang, Denae Ford and Thomas Zimmermann “Leaving My Fingerprints: Motivations and Challenges of Contributing to OSS for Social Good” ISSN: 1558-1225 In 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE), 2021, pp. 1020–1032 DOI: 10.1109/ICSE43902.2021.00096
- [15] Yvonne Dittrich “What does it mean to use a method? Towards a practice theory for software engineering” In Information and Software Technology 70, 2016, pp. 220–231 DOI: 10.1016/j.infsof.2015.07.001
- [16] Yvonne Dittrich et al. “Exploring the evolution of software practices” In Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, 2020, pp. 493–504
- [17] Yrjö Engeström “Learning by expanding: An activity-theoretical approach to developmental research” Cambridge University Press, 2015 URL: https://researchportal.helsinki.fi/en/publications/learning-by-expanding-an-activity-theoretical-approach-to-develop
- [18] Antti Knutas, Victoria Palacin, Giovanni Maccani and Markus Helfert “Software engineering in Civic Tech a case study about code for Ireland” In 2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering in Society (ICSE-SEIS), 2019, pp. 41–50 IEEE
- [19] Jailton Coelho, Marco Tulio Valente, Luciana L. Silva and André Hora “Why we engage in FLOSS: answers from core developers” In Proceedings of the 11th International Workshop on Cooperative and Human Aspects of Software Engineering, CHASE ’18 New York, NY, USA: Association for Computing Machinery, 2018, pp. 114–121 DOI: 10.1145/3195836.3195848
- [20] Sung-Yueh Perng and Rob Kitchin “Solutions and frictions in civic hacking: collaboratively designing and building wait time predictions for an immigration office” In Social & Cultural Geography 19.1, 2018, pp. 1–20 DOI: 10.1080/14649365.2016.1247193
- [21] G Walsham “Interpretive case studies in IS research: nature and method” In European Journal of Information Systems 4.2, 1995, pp. 74–81 DOI: 10.1057/ejis.1995.9
- [22] Per Runeson, Martin Host, Austen Rainer and Bjorn Regnell “Case Study Research in Software Engineering: Guidelines and Examples” Google-Books-ID: T7rXoaxqPIAC John Wiley & Sons, 2012
- [23] Johnny Saldana “The Coding Manual for Qualitative Researchers” Los Angeles ; London: SAGE Publications Ltd, 2015
- [24] Matthew B Miles, A Michael Huberman and Johnny Saldaña “Qualitative data analysis: A methods sourcebook” Sage publications, 2018
- [25] Robert K. Yin “Case study research: design and methods”, Applied social research methods v. 5 Los Angeles, Calif: Sage Publications, 2009
- [26] Jefferson Silva et al. “A theory of the engagement in open source projects via summer of code programs” In Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE 2020 New York, NY, USA: Association for Computing Machinery, 2020, pp. 421–431 DOI: 10.1145/3368089.3409724
- [27] Yvonna S. Lincoln and Egon G. Guba “Naturalistic inquiry” Sage, 1985
- [28] Annalisa Ed Sannino, Harry Ed Daniels and Kris D. Gutiérrez “Learning and expanding with activity theory” Cambridge University Press, 2009
- [29] Yrjo Engestrom “Activity theory as a framework for analyzing and redesigning work” Publisher: Taylor & Francis _eprint: https://doi.org/10.1080/001401300409143 In Ergonomics 43.7, 2000, pp. 960–974 DOI: 10.1080/001401300409143
- [30] Bonnie A. Nardi “Studying context: A comparison of activity theory, situated action models, and distributed cognition” In Context and consciousness: Activity theory and human-computer interaction 69102, 1996
- [31] Denis Dennehy and Kieran Conboy “Breaking the flow: a study of contradictions in information systems development (ISD)” In Information Technology & People 33.2, 2019, pp. 477–501 DOI: 10.1108/ITP-02-2018-0102
- [32] Andrea Hemetsberger and Christian Reinhardt “Collective Development in Open-Source Communities: An Activity Theoretical Perspective on Successful Online Collaboration” Publisher: SAGE Publications Ltd In Organization Studies 30.9, 2009, pp. 987–1008 DOI: 10.1177/0170840609339241
- [33] Torkil Clemmensen, Victor Kaptelinin and Bonnie Nardi “Making HCI theory work: an analysis of the use of activity theory in HCI research” Publisher: Taylor & Francis _eprint: https://doi.org/10.1080/0144929X.2016.1175507 In Behaviour & Information Technology 35.8, 2016, pp. 608–627 DOI: 10.1080/0144929X.2016.1175507
- [34] Todd M Thrash and Anne L Hurst “Approach and avoidance motivation in the achievement domain: Integrating the achievement motive and achievement goal traditions.” Psychology Press, 2008
- [35] Andrew R. Schrock “What is Civic Tech? Defining a Practice of Technical Pluralism” In The Right to the Smart City Emerald Publishing Limited, 2019, pp. 125–133 DOI: 10.1108/978-1-78769-139-120191009
- [36] Felix Becker, Dominik Siemon and Susanne Robra-Bissantz “Smart Participation Design: Prescriptive Knowledge for Bottom-Up Participation”, 2022 Association for Information Systems
- [37] Kathleen M. Eisenhardt “Building theories from case study research” Publisher: Academy of management Briarcliff Manor, NY 10510 In Academy of management review 14.4, 1989, pp. 532–550
- [38] Robert K. Yin “Validity and generalization in future case study evaluations” In Evaluation 19.3, 2013, pp. 321–332