Skip to main content

Lessons from Maintainers of the World’s Most Critical Software

By October 11, 2023Blog, Linux Foundation
52895003750_4cfa62b672_k

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. 

De Langen’s story is just one of the numerous smart tactics we learned in interviewing 32 “Super Maintainers” — people working on critical projects as identified by the Linux Foundation’s surveys of the broad open source software ecosystem. The projects in question ranged from databases like PostgreSQL to frameworks like JavaScript and Storybook to lower-level languages like Julia and Rust to ML infrastructure like PyTorch. The maintainers came from a wide variety of backgrounds. 

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.

Growing contributions

52894102447_b7bc3b655d_k

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.

Documentation

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.

Funding

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.

Diversity

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.

Preventing burnout

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.