jan@apache.org
twitter.com/janl
github.com/janl
XMPP: janlehnardt@jabber.ccc.de
GPG Fingerprint: D2B1 7F9D A23C 0A10 991A F2E3 D9EE 01E4 7852 AEE4
OTR Key: DD971A73 2C16B1AB FDEB5FB4 571DECA1 55F54AD1

Node Dublin — Open Source Communities

February 12th, 2013

These are my notes from my Node Dublin talk about “Open Source Communities”. I don’t think I did the title justice in the end, but I’ll keep it for consistency’s sake. The video shows that I was fairly nervous giving the talk and I wasn’t quite happy with the sound engeneer and my snouting into the mic while breathing. For those of you who can’t stand to watch, here are the notes.


Welcome

I am Jan Lehnardt: @janl, Apache CouchDB, mustache.js, JSConf EU.

Open Source Communities

I was gonna look at Node through the lens of other Open Source communities I had been involved in and conclude that by avoiding most of the mistakes it became the most exciting community of all time.

Lukily Isaacs and Mikeal made a way better case for why Node is successful, and why the key success is not yet manifsting itself in dominating anything, but setting us on a trajectory to disrupt all of IT (and if you believe Clay Shirkeyand you should — disrupt society & politics).

To reiterate, Node’s core accomplishments are:

No language war. JavaScript is good enough.

And finally, Node’s whole premise is to be good at building networked servers.

Not be an immersive development environment, like .NET, Java, Cocoa, or frameworks like Rails, Django & the like.

It turns out that the concept of a neworked server is a really good abstraction for building all sorts of software.

So by trying hard to avoid being everybody’s darling, Node focussed on one thing and perfected that thing that makes it everybody’s darling.

(My dayjob is working on Apache CouchDB. It is written in Erlang.

The whole programming paradigm of Erlang revolves around building miniature networked servers that do one simple job for robustness and fault tolerance, easy of reasoning and finally parallel execution, and to put them together in a way that creates bigger software, not just servers.

Many other components of desktop and mobile software can be expressed as being a networked server.

Heck, even the original definition of OOP is independent entities that hold data and have behaviours attached that would send messages to each other to invoke that behaviour.)

World Domination

With the keynotes yesterday morning and after looking at all the fantastic technical talks we saw over the past two days I hope you get a sense not only for how succesful Node is, but also why, and why that is even more important than the current success.

Taking a step back.

We can now build entire systems in pure JavaScript, frontend and backend and this is significant.

We can also control flying quad-copters and robots and power moblie experiences.

We are bridging all fields of computer science from the hardware up to fancy 3D rendering. All in JavaScript.

And all of it is becoming good enough, in the same sense that JavaScript is good enough to be the language of Node, to go out and build everything.

This is where this talk becomes emotional.

We, the people in this room, the ones at the other Node conferences, the JavaScript conferences and the frontend conferences and the people out in the field, we are going to be building the next genration of software, infrastructure, products, everything.

We will be powering the ongoing digitalisation and networkification of the world, of commerce, of governments.

Not the enterprise Java folks, not the PHP people, not Rails. Us.

That isn’t to say the others won’t have their place, but we’ll have lion’s share of things to do.

To invoke Clay Shirky one more time: they are from a time before GitHub.

Social Responsibility

Taking another step back, a couple in fact.

We, the programmers, the designers of the world, we have an incedible gift.

A gift that nobody else has, and many have tried to gain for millennia: We can create gold out of thin air (or, maybe out of thick coffee).

A show of hands, who here in this room considers to be in her or his dream job? We get to dictate the conditions of our employment.

We dictate salary, we dictate working hours and we dictate what we want to work on. Nobody else has that freedom.

Yet, we are relying on a society that “does their job”.

Many of the speakers here have come from far away to share their thoughts with us and to hang out, to have fun.

We came by plane, rode in cabs, staying in hotels, or friend’s houses.

We enjoy coffee and lunch here and in the city, use public transport.

We build upon education, rely on medical service.

All of it built & run by people who do their job, that do not get to dictate salary, working ours or what to they fancy to work on.

We live such abstracted lives that we can concentrate on creating immense value from literally and figratively nothing.

On top of that we get paid ridiculous amounts of money (absolutely and in comparison) to do so.

It is absolutely fabulous, and I love every minute of it. It is an immense privilege that I get to live this life. A life I choose.

But reflecting leaves me with a sense of responsibility towards my fellow people.

Those who don’t get to burn through billions of venture capital money to play table tennis all day.

Not the ones that actually manage to return an investment and make the obscenely rich people even richer.

At the expense of innovation, at the expense of personal freedom, prosperity, security.

Jeff Hammerbacher said: “The best minds of my generation are thinking about how to make people click ads, that sucks.”

I agree and I feel responsible to build a future, technologically and socially that values humanity over profit.

I hope you feel that responsibility as well.

(We Are) The Future

Given the premise that we, the people in this room, are on the verge of setting the stage for the world, what can we do to make sure our reign will be rememberd as a good one?

And given that we accept that through the way things are set up today, that we are in an incredibily privileged position that comes with a social responsibility, what should we do with it?

I’m not here to try to plaster my own agenda over you. Instead, I’m sharing a few points of view to encourage you to actively think about your own.

Take Mozilla.

Where a non-profit organisation owns a for-profit company.

The non-profit keeps to set the goals for the company, while the company uses capitalism, markets & money as a tool to build stuff that benefits everybody.

Firefox, Persona (née BrowserID), Do Not Track. All build expressly against finanical benefits of one single institution.

Why don’t we have more organisations like this?

Nerds imagined and built Mozilla.

We can do, too.

Imageine a mobile carrier, that is set up like Mozilla.

Globally run, with the user in mind, engaging the community for support.

Imagine sane data-plans, free roaming between GSM technologies and community provided wifi.

Net access for everyone, cheaply, not bullshit telcos that just screw over everyone, when their job is administrating a public resource.

Let’s build a mobile carrier like this. You and me, let’s do this.

Better yet, let’s encourage others to do this as well, let’s build ten, or a hundred.

Let’s take this idea and apply it to many many more areas of life.

Or, in Mikeal’s footsteps, defy organisations, just build stuff in losely coupled communities that circumvents and dominates all the current institutions who are set up to exploit, rather than support us.

Let’s hack and fork business models and community patters as freely as we do code.

Let’s work on problems that matter.

Let’s work at a scale that makes an impact.

We are all JavaScript People.

The future is ours.

Thank you.