Building a Better Node Community.

Mikeal Rogers
Oct 10, 2014 · 5 min read

The simple story of Node and the path to making it better.

Image for post
Ryan Dahl (@ry) introducing node.js to the world in 2010 and in Berlin, Germany.

In the earliest days of Node,
Things were simpler.
Few people depended on Node,
And few people used Node.
Even fewer people worked on Node.

Image for post
Tim Caswell (@creationix) circa 2011 showing node.js on a Palm Tablet.
Image for post
Isaac Schlueter (@isaacs) before node.js.

When a problem was big enough six of us would talk it out.
The group was based less on merit than it was proximity.
It was anti-democratic,
Anti-open source,
And would clearly be short lived.
I called us the Node Illuminati,
The name stuck.

We figured out early Buffers and Streams.
This worked for a few months,
And then the group central to Node became more international.
The Node Illuminati did not scale.

Image for post
This isn’t what websites looked like in 2011, I was just even worse at front-end than I am today ☺
Image for post
Streams session from NodeConf SummerCamp. Many unconf sessions took place outside under this tree.

I ran a conference.
We realized how big Node was becoming.
I ran another conference,
One that was more like an Illuminati meeting,
But with more than six people.
We figured out Streams again,
Or so we thought.

Image for post
NodeBots Flag, made by NodeBots London. Photo taken at NodeConf 2013 at Walker Creek Ranch.
Image for post
The audience at NodeConf 2012 in the Imago Theatre in Portland, OR.

A year passed.
I ran another conference.
We realized that Node was huge.
Work on core was eclipsed by the work in modules.
I tried to make the other conference about more than core,
I failed,
But we met Raquel,
And Chris convinced her to do robots again,
But with Node,
So I consider it a success.

We thought modules were small enough to be run by a single person.
Then modules got even smaller.
So small that a person could write hundreds of them,
More than they could ever maintain.

Image for post
The request contribution graph.

I added several contributors to request.
They did some good work,
Then they faded away,
So I kept doing most of the work.

Image for post
Rod Vagg, being interviewed at NodeConf 2014.
Image for post
levelup’s contribution policy, titled “OPEN Open Source”

Rod found a better way to manage projects.
Git is good at removing things,
Getting people to contribute is hard,
When you distribute ownership people contribute more,
And if anyone does something wrong,
Git is good at removing things.

Image for post
Substack and Dominic Tarr, contributors to levelup. Photo taken at 2013

I added everyone who contributed to request as a collaborator.
I didn’t write down this policy.
I didn’t send pull requests for my own work.
I made decisions without gathering or asking for feedback.
As I added more contributors they did some good work,
Then they faded away,
So I kept doing most of the work myself.

Image for post
Shoutout to Selena Deckelmann who convinced me that posting a Code of Conduct was well worth it.
Image for post
Famous non-Linus dictators.

When you don’t document things you rely on cultural norms,
Which means you can’t attract people outside that culture,
Your culture remains homogenous.
When you dictate,
You’re a dictator,
Even if you say you’re not a dictator.
People don’t like dictators,
They tend to leave or revolt against them.

Image for post
A young and clean shaven James Halliday (AKA Substack)

I wrote down the contribution policy for request.
I sent pull requests for my own work.
I started conversations,
I asked for feedback from other contributors.
An amazing thing happened,
People who had already been added,
And were newly being added,
They contributed more.
They stuck around.
They wrote things I thought I’d have to write myself.

Image for post
Tim Oxley at the beach near Point Reyes Station after NodeConf 2014.

Substack wrote a tutorial.
Rod and Tim liked it,
So they used the same format for more tutorials.
Max and Brian put all the tutorials together on a website,
And created a repo where people could get help when they needed.
They called it NodeSchool,
The name stuck.

Image for post
Brian Brennan and Daniel Shaw on the beach at JSConf 2014.

I asked if anyone wanted to run local NodeSchool events,
And asked them to share what they learned with others.
These events grew faster than any meetup I’ve ever seen,
But eventually the growth hit a plateau.

Image for post
Max Ogden at 2013
Image for post
Jessica Lord and Mu-An Chiou at NodeConf 2014

Max and Jessica wrote down NodeSchool’s philosophy,
And how to write new workshops,
And how to run more events.
We make every event organizer an owner of NodeSchool.
We make every event attendee an owner of their event.
NodeSchool is growing again.

Image for post
Karolina Szcur at 2014
Image for post
Shoutout to Lin Clark who brought a great new perspective to JSFest.

What people can do is not theoretically broad and open.
People need to be enabled to do good work.
When you make it clear and obvious what they can do,
More people will do,
And they won’t be people just like you,
Because all of your assumptions that aren’t written down are barriers.
And those barriers are felt more by people the less they look like you,
And even more the less they grew up like you did,
And even more the less they share the same social class.

Image for post
From left to right: Eran Hammer, Mikeal Rogers (me), Isaac Schlueter, Bert Belder and Alexis Campailla at NodeConf 2014
Image for post
Partial crowd shot from NodeConf 2014

People love to do work they feel they own,
And that ownership can be shared,
But so is the sense of responsibility.
If you give up your exclusivity on ownership,
If you write things down,
If you make it obvious how to participate,
You will grow,
And your work will be better than it ever was when you owned it all.

Node & JavaScript

Javascript is fun and so Node is fun!

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store