Nadia Eghbal and Mikeal Rogers recently joined Sonal Chokshi for an episode of the a16z Podcast to discuss the changing culture of open source. Eghbal works in community programs at GitHub to better support people doing open source work. Rogers is the community manager at the Node.js Foundation. The episode focuses on the human aspect of the world of open source software and what inspires people to work together to give software away for free.
Through Eghbal’s research on sustaining open source communities, she found, as Rogers succinctly summarized on the show: “There’s no connection between the number of users and the number of people maintaining a project.” The Heartbleed Bug, which arrested public attention when it was disclosed in 2014, is perhaps one of the most critical examples of an open source project with a global user base and a grossly disproportionate number of maintainers.
As part of her research at GitHub, Eghbal is working on creating a vocabulary to explain things that are happening with open source projects. One example is the distinction between “popular” versus “healthy” when describing projects in terms of the communities behind them, governance, quality of maintainership, and other factors that influence a project’s condition.
“Because the dialogue tends to be set by popular projects, and those developers and their problems tend to dominate the story about this, you have these words and vocabulary like ‘drive-by-contributions,’” Rogers said. This often implies that maintainers are too busy to look at the code. Rogers advocated for changing this perception of “drive-by-contributors” to view them as casual contributors, people who show up and have value to add. If maintainers can seize these contributions as an opportunity, they will have a better chance of leveling up contributors to be a more active part of their organization.
The group also discussed how technology has caused a cultural shift among open source communities from the old world versus the new world of open source.
“In older open source, part of the barrier to entry that people went through before they were ever identifiable to any contributor was an acclimation to the culture and an acclimation to the tool chain and all this stuff,” Rogers said. “One of the things that GitHub has done is completely remove all of that cultural acclimation. There is one tool chain that you use to contribute to any project and when you show up you don’t have all of this cultural knowledge. You haven’t bought into any of these ideals about open source necessarily. You’re just there to contribute. We actually need to work with that.”
In the past, contributors informally acclimated to the culture through the onboarding process, and most software projects were more self-contained.
“Where that becomes awkward today is that so many different pieces of software depend on other open source projects, which wasn’t actually true 10 or 20 year ago,” Eghbal said. With so many projects fitting into others as dependencies, it becomes more difficult to actually remove a project from the public domain. Open source licensing ensures that these projects have a life of their own. This has democratized entrepreneurship, making it easy for people to piece together technology to build applications and businesses. It also requires a higher level of skills for people working together across various open source projects and cultures.
Eghbal and Rogers discussed the qualities of a healthy open source community, such as how welcoming the project is and how contributors speak to each other and resolve conflict. The ability to successfully resolve conflict can make the difference between a healthy growth of contributors or attrition on a project. Rogers mentioned a related conversation they had with Karl Fogel on their Request for Commits podcast concerning conflict within projects.
“When we were talking to Karl, he has this view that ‘As long as a it has an open source license, it doesn’t matter how dysfunctional the project is, because we as a community always have this ability to fork it,’” Rogers said. “I didn’t agree with him on this, because the practical reality of forking a project is such a huge overhaul and you don’t necessarily have the right people to do it in your particular time. What you actually want are the healthy communities with healthy practices, what you want is to keep them going.”
Another open source predicament they discussed, which is fairly common in the WordPress ecosystem, is when a company releases a project as open source or “gifts it to the community.” Eghbal likened this to “sending your dog away to a farm upstate.”
“We’re really excited to announce this is now open source, meaning we don’t want to take care of it anymore,” she said. “‘We’ll give it to the community,’ (except they haven’t actually identified anyone in the community who wants to take care of it.)” This type of situation shows how “giving back to the community” isn’t always what it appears to be for those who end up using these projects that have been released into the wild.
The group also discussed how the incentives for people to contribute to open source have changed over the years and why “the GitHub generation” has more readily adopted the MIT license. Check out the full podcast episode below: