Image: Attendees at Open Source Summit North America 2023 in Vancouver.
This blog originally ran on the Linux Foundation website. For more content like this, click here.
In our latest research, we interviewed dozens of maintainers who worked on some of the most used and widely dependent software projects. The result was a new report, “Open Source Maintainers: Exploring the people, practices, and constraints facing the world’s most critical open source software projects.“
When Norbert De Langen inherited the maintainership of Storybook.js, he thought the best approach was to actively design himself out of his role. This would mean bringing in as many good contributors as possible. So he undertook heroic measures. De Langen sent a meeting scheduling link requesting to speak in person to anyone who emailed him with a suggestion or question about the project code. De Langen met with over 200 people using this method during the project’s first year. He estimates that nearly 20% of those he met with later became repeat contributors to Storybook, including many core contributors. With this effort, De Langen boosted his contributor pool and significantly reduced his coding burdens, making his maintainership more manageable.
A broad representation of open source
Open source software (OSS) provides the foundation for much of our global technology infrastructure, from operating systems to databases to developer tools. While the whole world benefits from using OSS, a relatively small number of developers are responsible for maintaining the code and nurturing the projects that are linchpins for the complex and critical open source ecosystem.
Most maintainers interviewed work full-time maintaining OSS projects, often as an explicit part of their job at a company that relies on the project. Maintainers tend to start as contributors, then become core contributors, and eventually, maintainers as they gain experience. Many began contributing to OSS in school or at their first job.
Maintainers derive intrinsic satisfaction from working on cutting-edge technology and being part of an open source community. As one Julia maintainer recounted, “When I first met some of the people in person in the community, I was giving everybody hugs. It was a very emotional moment because we had been so invested and committed for so many years working on things together.” Extrinsically, their OSS work helps their career by making them more attractive hires. However, most companies do not always sufficiently recognize their OSS contributions.
Summary of the learnings of super maintainers
Every interviewee for this project had their own distinct views. They generously shared their hard-won lessons and their favorite tips and tricks for what is always a challenging balancing act. Here is a quick summary of their recommendations, which are addressed in much greater detail in the full report.
Image: Shuah Khan, Linux Foundation Fellow, kernel maintainer, and founder of the LFX Mentorship program, working to cultivate a new generation of open source software maintainers.
Maintainers shared best practices to cultivate communities: personal engagement, inclusive communication, diverse channels of communication, and straightforward onboarding processes. Successful projects guide newcomers by pinpointing suitable tasks. Maintainers are advised to spot and nurture potential successors. Swift triage and team handling of submissions enhance the contributor experience.
Governance and control
All interviewees agreed on the essential nature of community governance for a project’s longevity. Early incorporation of best practices like a code of conduct, promoting civility, decentralizing power, and ensuring neutral community management are vital.
Maintainers unanimously felt the need for better documentation. Recommended best practices include elevating the importance of documentation, hiring dedicated coordinators, and streamlining the contribution process.
While only one maintainer was primarily concerned about living expenses, many expressed frustrations over the inadequate funding of critical OSS projects. Some pursued employment at supportive organizations due to this funding gap. Independently operating maintainers voiced concerns about sustaining OSS projects without major backers.
Most maintainers found it challenging to ensure diverse participation. While some lacked clear diversity initiatives, others actively engaged in programs like Outreachy. However, the general consensus is that OSS needs significant strides in diversity.
Maintainers recommended several strategies to avoid burnout: understanding OSS is an ongoing task, balancing personal and professional lives, limiting unpaid administrative tasks, implementing automated processes, setting clear boundaries, and taking necessary breaks. The emphasis is on self-awareness and recognizing personal boundaries.
Conclusion: Building on the shoulders of Successful maintainers
The open source movement is a vibrant and dynamic ecosystem. But building successful open source projects does illuminate common patterns and anti-patterns which may not necessarily be apparent to a first-time maintainer. Every interviewee said they viewed their time maintaining as fulfilling and worthwhile and often spoke as if they were advising a younger self. By capturing some of their wisdom, we hope to package it in a digestible format and preserve it for the next generation of maintainers. The most valuable resource any maintainer can ever attain, or share is the institutional knowledge built up in their project and their experience. This will improve the next project and enable the movement to continue to thrive.