Open Source project maintainers and contributors are a special breed – that’s something we know from personal experience. You’ve got to have a high tolerance for change, ambiguity, and to a certain extent, anonymity. Despite all the hard work and off-hours dedication expected of a maintainer, their work often goes unnoticed. The Linux Foundation is keenly aware of this situation and hopes to shine a brighter light on key projects and their maintainers to draw awareness to the critical role these technologies and their contributors play.
The Linux Foundation recently published the Open Source Maintainers Report 2023 where some of the many challenges faced by maintainers were profiled. For this report, LF Research conducted detailed qualitative interviews with 32 super maintainers from projects our research identified as among the top 200 critical OSS projects. It uncovered some of the many challenges faced by maintainers – lack of time, resources, support and recognition. A declining positive contributor experience adds to the issue at hand. As Shuah Khan mentioned in the preface to the report, it’s hoped that “by making open source broadly more sustainable, we believe we can increase the pool of successful open source projects and make maintainership more fulfilling and less taxing.” Hear, hear! We support that sentiment and goal wholeheartedly.
Among the project maintainers who participated in this research are the four lead maintainers and contributors for Salt, an open source project backed by VMware. Salt is an open source project that automates the management and configuration of any infrastructure or application at scale. Anil Sharma, Gareth Greenaway, Pedro Algarvio, and Megan Wilhite from VMware provided insights that rolled up in the report and have reflected on the experience.
Maintainer or Contributor – or Both?
Open source community members are renowned for wearing many hats. Community manager one day, code reviewer the next – it’s a merry-go-round of opportunity. The distinction between a contributor and a maintainer is an important one – and all projects need both to thrive and survive. LF Research defines a contributor as “someone who writes and submits code to a project” and a maintainer “as someone who works in the management of a project, including code review, triage, test, security, build and infrastructure, and release management.” In the case of Salt, all four individuals interviewed are both contributors and maintainers as they share the wealth of work that a project of Salt’s size and popularity generates. It truly takes a village.
To reduce the burden on a few people, it’s important for every project to foster a healthy pipeline of new contributors. Lowering the barrier to entry for the “curious, but unsure” potential contributor is a good starting point. But as the report notes, many of these critical projects are quite mature and the entry point for contributions is naturally high. Current practices at the Salt project reflect that situation. According to Anil Sharma, “Salt is now at a scale where it wants higher quality code and less code overall in the core project, with more functionality moving to Salt-community-managed extensions. To match this goal, Salt has made test compliance a mandatory part of the submission process, versus optional before when the project was more focused on pulling in new contributors to the core project’s code base. “
The best way to counter this growing sophistication is through a combination of documentation and a bit of patience and maintainer time. A contributor’s guide, code of conduct, and governance document are all essential to a well-run and well-structured project. Think of these items as your project’s “welcome mat”. Dawn Foster, former Director of Community Strategy at VMware makes the case for these basics in her three part blog series on Building a Community for Your Company’s Open Source Projects.
Beyond the basics, setting aside some time to identify some “good first issues” or posting a wish list can entice new contributors to join the community. Simply providing constructive and positive feedback on new PRs will earn goodwill with new contributors – goodwill that may blossom into a fledgling maintainer. “Every new issue that comes in goes through proper triage these days,” says Pedro Algarvio, a Salt maintainer, noting this was not always the case.
Gareth Greenway, currently a maintainer of the Salt project, had submitted an error-riddled PR that the lead project creator, Thomas Hatch, read. Hatch took the time to provide Greenway with positive feedback and worked with him to fix the code. Greenway went on to submit numerous other PRs and later became a Salt maintainer.
Documentation: Write it down!
The Identify best practices for your project section mentions how the Salt team is modernizing by automating with GitHub action pipelines and enabling community managed module extensions. This allows the Salt project team to focus on core modules enforcing best quality practices of test driven development. “A focus on documentation helps to eliminate any barriers for users when they go to use that new functionality. We consider documentation a key part of the project that helps enable users and developers of Salt.” adds Megan Wilhite
Valuable insights are provided into other open source projects which can be used to compare and contrast. Finding ways to improve contributor and user experience requires increased efforts to ensure getting started and contributing within open source is clear in documentation. The section “Strive to lower the bar for contributions” in the report helped to mirror the importance and priority of this goal. How to Create Good First Issues by Nisha Kumar covers the goodwill of hospitality in a project. It makes only good sense to be welcoming and to create a safe space for all to contribute. “In study after study, it’s been asserted that up to 80% of a code base is open source. Only 20% is net new code.” writes Suzanne Ambiel in her blog Counting Change: The Cost of Open Source Adoption.
Stay tuned to the Open Source Blog and follow us on Twitter for more deep dives into the world of open source contributing.