Tools can help shape the environments in which they are used.
I sat down at the Open Source Leadership Summit to record a podcast with Mikeal Rogers, who heads the Node.js Foundation, a collaborative project under the Linux Foundation. He observed that one of the characteristics of Node.js and its community is that it’s a “post-GitHub platform,” meaning “the first release of Node.js and the first code written on Node.js were in a GitHub repository. That’s the environment we live in, so we had to come up with some newer ways of managing the project that are unique to this newer and more modern open source.”
Node.js originally took a fairly traditional path to growing the community. As Mikeal put it: “Early on, we thought that the way to get more maintainers was to find more people who could be maintainers and recruit them. That didn’t really work.”
He went on to say that “The shift that we made was to create a support system and an education system to take a user and turn them into a contributor, first at a very low level and educate them to bring them into the committer pool and eventually into the maintainer pool. The end result of this is that we have a wide range of skillsets. Rather than trying to attract phenomenal developers, we’re creating new phenomenal developers.”
“Rather than trying to attract phenomenal developers, we’re creating new phenomenal developers.”
The connection to the tooling is that, according to Mikeal, git lowers the bar to giving relatively inexperienced developers commit access because it’s harder to cause a lot of damage compared to older types of version control tools. This in turn leads to a situation where more of the contributors are casual contributors and most of the code is written by casual contributors. In fact, Mikeal describes the breadth of the Node.js community as its most defining characteristic.
We also talked about why he thought Node.js has become so successful and what’s coming next.
Listen to the podcast: