Contributors and contribution
SROSS is sustained by contributors
Contributors are commonly understood as people who work towards the mission of an open source project on a voluntary basis. A contributor’s role in a project somewhat differs from that of a maintainer’s. A participant who identifies as a full-time developer clarified that maintainers are accountable for the project’s stability, quality and progress while contributors can contribute in their own capacity, desire and capability without being held accountable. Maintainers also often have a decision making role which contributors may not. Anyone who cares about an OS project has the opportunity to contribute to it, which is one of the biggest differentiators with commercial software development. In fact, resource constraints in OS writ large, including in academia, and research organizations necessitate contributions to ensure project sustainability. Contribution is important to projects because it is also “a way of building trust with the community, even if it’s a small number of citizens who are willing or able to participate in the development and maintenance of it”, said a participant who identifies themselves as a researcher.
The nature of contributions is evolving; design has yet to find a way to be recognized at large
“Contribution means people working with me on the code.” The quote brings to light the kind of output a contributor adds to a project. While historically contributions were made with code or feature development, the notion of what “counts” as a contribution is evolving to include mentoring, event organization, conducting workshops, moderating forums, looking for funding, documentation, package management, supporting software distribution, design and a lot more.
People rarely brought up design as a part of contributions; in fact, only the designers we interviewed ever mentioned design as a contribution. One participant who identified as a designer said that it was their goal to work on open source but had to figure out ways without having to write HTML and CSS. Another participant who identifies themselves as an R&D engineer mentioned in the context of design that “I don’t think we have the opportunity to have them contribute a whole lot.”
Who are the different contributors?
Students, researchers, developers and designers are the most easily identifiable community members who contribute. “I was a student in science and software and I got to contribute to open source” recounts one developer participant. Another participant shared their story of getting students involved with usability studies.
New developers from computer science backgrounds get attracted to contributing to open source as well. Most of the contributors fall in technical, conceptual and research areas. There was an evident dichotomy whether ‘users’ of the software are contributors. For projects where users can and do contribute, they contribute in different ways such as helping improve the terminology, helping choose the right language, providing feedback, or helping with software distribution by sharing it with colleagues. In other cases though, users were not considered contributors when they “just used the software or resources”. This dichotomy is further highlighted as one participant claimed that “many of the current contributors have been users, at some point” while another participant said that they “have a really hard time converting users to contributors”.
People’s passion for contribution to the community and a commitment to science brings them to open source projects while their social interactions and finding social connections makes them stick
This has been conveyed by most of the participants in one way or the other. One participant’s wholesome summary is worth mentioning, in which they indicated that they contribute:
-
to impact people’s lives with the software
-
for the opportunity to challenge their skills, their knowledge
-
make technology accessible to people who may not have the means to pay for a license or have the freedom to change and enhance when it’s necessary
There have been other individual reasons that drive people to contribute such as their emotional connection with the project; in the case of students, to build on their academic study, improve grades, and/or fulfill work study, to be associated with a widely used software, job opportunities and career advancement, overall generosity, etc.
What makes contributors stick around in the long run however, is to be a part of the community and belong in an open space. A researcher participant shared that “for all citizen science projects I’ve worked on, I think the biggest thing I’ve learned beyond just using the tools is that there’s typically a community of users somewhere on Slack on a forum or some mode of social interaction. And reaching out to people there, I think is the social aspect is what really makes people stick.”
Projects generally have their own structures for contributions as opposed to a formal, widely accepted standard
The questions projects try to answer when setting up structures are - how to design the governance? Who gets to make decisions? Is there a decision making structure? Who all are involved? What contributions to keep or drop?
Some projects have criteria and guidelines, code of conduct, dedicated channels as a part of their contributions governance. One participant who identified as the creator and main maintainer explained:
“We have several criteria for integrating new features in terms of number of citations. When has it been released? Is it in the scope of the projects? Is it maintainable? … [the process is that]every PR that is a technical contribution, gets reviewed, at least by two people so that we make sure that it’s valuable in terms of experience, homogeneity, and document discoverability.”
While it is true that projects value contributions for their sustainability and need to be accepting of them, not all contributions necessarily make it to the software. The participant said “we sometimes say no to people’s contribution, because we think it does not fit the scope of the library. we don’t want people to contribute to the project, if it’s not good, to be integrated.” It does safeguard the sanctity and stability of the software. Whatever a project decides to do, it is crucial to have a structure in place. These are really important to encourage contributions and make contributors stick around. “If one hopes to grow a community around open source projects in the academic space, else it is easy for people to get burned in the process and not want to contribute anymore” highlighted a researcher participant.
Conclusion
Contributors play a crucial role in the SROSS space. Different projects have different methods and governance styles to respond to contributors and their contributions, but what’s common is their part in improving projects. The contributor ecosystem is evolving and it is really dynamic today wherein anyone can support the project beyond just code. There’s also a fluid nature in which people move in and out of contributor roles for a project - from being a user to a contributor and back to user, from contributor to maintainer staff and back and many such combinations.