Wednesday, August 26, 2009

The three great sins of a open-source programmer

The engine of open-source is enjoyment of work well done. As more people join the project, the enjoyment increases, because we share the pleasure of work well done. If we are lucky, then our society is a happy and ordered place for new members. The written and unwritten rules seem sensible and straightforward. The group members are respectful, helpful and generous. Enthusiastic but ignorant new-comers are treated with indulgent warmth, and irritable or ungenerous emails are dealt with firmly but politely.

I suspect that is the natural history of a successful project.

What happens though, when our society is not yet like that? What do we do? How do our societies deteriorate and why?

I suspect it is because the team has not yet learned to deal with the three great sins of a open-source programmer.
  • laziness
  • impatience
  • hubris
Maybe you have read something like this before: LazinessImpatienceHubris

Laziness is the what happens when we know that someone has worked on this problem before, but we lack the energy to look at what they have done, and we start again. We deprive our fellow programmer of the nectar of shared work Laziness is the dark side of the desire for something efficient and well-made.

Impatience is the output from our distress because of laziness. Impatience is the name of thing that causes problems on mailing lists. You want to use someone's software, but you have not got time to contribute. The software does not work the way you want and you send an irritable email. The small attack makes the society feel just that little bit more tired and less enthusiastic to help you, or each other. Impatience is what we feel when we realize that our problem is hard, but we lack the energy or hope to solve it. Impatience is the atmosphere of a failed desire for productivity.

Hubris is to confidence as vanity is to courage. Hubris is when we get so worried by the possibility of failure, that we start making up a whole new fantasy world where we are succeeding. Of course this happens often, but when we see it, in ourselves or others, we know that there is a large problem, and, unless we are brave, we walk away.

Luckily, there seem to be many brave people in our open-source world. Luckily, it is possible to return to efficiency, productivity, and courage.

No comments:

Post a Comment