Civilizational roles in open source

I have argued for some time that civilizations are composed of two groups: creators and participants. The creators make a civilization, and then the participants take over, but because they do not understand what the creators did, they then manage to run it into the ground.

Now someone has noticed the same in application development for open source:

There are two roles for any project: starters and maintainers. People may play both roles in their lives, but for some reason I’ve found that for a single project it’s usually different people. Starters are good at taking a big step in a different direction, and maintainers are good at being dedicated to keeping the code alive.

Another big difference is that usually there is a single starter of a project, and there always ends up being multiple maintainers. This is because supporting a project alone is simply not scalable. It will grow in popularity, and there’s a linear correlation to the number of issues, pull requests, and other various requests. For every Nth level of popularity a new maintainer must be added, ideally an existing heavy user. -- J. Longster

Starters (creators) can understand a need and design the basics of a tool; maintainers (participants) know how to apply known techniques to improve it but do not understand the design itself. Without keeping the starters in control, probably by paying all participants and giving the starters management titles, the process winds down through entropy.

The same could be said of our society. The Vikings and frontier settlers started it, but weaker people with degrees have now taken over and are running it into the ground. Do we need to put the starters back in control, in a position of authority above the maintainers?


Popular Posts