2 min read

Collective madness

Collective madness
Gopher artwork by Ashley McNamara

aka Hive mentality

or sailing the Open Source Oceans

Ants:

On of the few books I enjoy enough to pick up frequenttly have been commited by Pieter Hintjens. He shared his take on how some of the natural hive models could be applied to thinking about technological advances and group work. Some takes:

I love the ant nest as a model. Ants are extremely successful and they have this tiny genome, I suppose - I mean, ants aren’t very complex and yet they do really complex things. I think that’s a satisfactory and accurate model for human behavior, and for technological development.

0r

Well, the physics of software is people and psychology, and you figure that out and you can make solid software.

I love how he attributes the effort, results and breakthrough to collective genius and diminishes the egocentric focus on the self and unitary pursuits. I wonder if he knew of the ant mill phenomenon

It is a fair comparison, a lot of the stories we hear from the open sourcerors are stories of austerity and self sacrifice.

https://xkcd.com/2347/

It it at the same time a story where the collective madness results in such improbable results as Python, Firefox or Linux. It's even more amazing when you realise most of the bricks have been provided ay anonymous masses, as for any large infrastructure project, yet everyone using any device connected to the Internet is undoubtedly using open source software in one way or another.

Hintjens had some ideas that our industry seems to consider idealistic pipe dreams, here are some excerpts from C4:

  1. Maintainers SHALL NOT make value judgments on correct patches.
  2. Maintainers SHALL merge correct patches from other Contributors rapidly.
  3. Maintainers MAY merge incorrect patches from other Contributors with the goals of (a) ending fruitless discussions, (b) capturing toxic patches in the historical record, (c) engaging with the Contributor on improving their patch quality.

or amore personal take on it:

The rules are that we will aim for maximum participation, that’s our first goal. I don’t care about the software in terms of its code, I care only about the people and the way they organize, and I trust they will make the right software

Which I believe we should all start following to speed up the merge processes. The software that was build this way, open to mistakes and open to fixes from those willing to provide them has served serious business for years already, and we are all pretending to be blind for not realising that or attempting to building bulletproof QA processes. PR process, with the nitpicking we can't give up on is deeply flawed in my opinion. If you can't prevent yourself, at least offer proper sample / commit suggestions.

Let the countless mistakes and abandoned open source project as far as git searches can go be a testament to the collective madness equally strong to the fact we can look all of them up within seconds, globally. Hicks would be proud! So go on and keep the spirit of the collective bozo !