Preface
Why is everybody a jerk?
It seems common knowledge that maintainers of major open source projects are rude. You have your linuses, lennarts, ulrichs, robs and so on. Why is that? What is it about project maintenance that brings out these supposed toxics? Why can't projects be manned by nice people? Surely that would be better.
Let's examine this mathematically. For that we need some definitions. For each project we have the following variables:
- N, the total number of users
- f_p, the fraction of users who would like to change the program to better match their needs
- f_r, the fraction of users with a problem who file a change request
- f_rej, the fraction of submitted change requests that get rejected
- f_i, the fraction of of people who consider rejections as attacks against their person
- f_c, the fraction of people who complain about their perceived injustices on public forums
- f_j, the fraction of complainers formulating their complaints as malice on the maintainer's part
Thus we have the following formula for the amount of "maintainer X is a jerk" comments on the net:
J = N * f_p * f_r * f_rej * f_i * f_c * f_j
Once J reaches some threshold, the whisper network takes over and the fact that someone is a jerk becomes "common knowledge".
The only two variables that a maintainer can reasonably control are N and f_rej (note that f_i can't ever be brought to zero, because some people are incredibly good at taking everything personally) Perceived jerkness can thus only be avoided either by having no users or accepting every single change request ever filed. Neither of these is a good long term strategy.
shouldn't this be:
ReplyDeleteJ = N * (f_p + f_r + f_rej + f_i + f_c + f_j)
?
No, because each term is defined as "fraction of the previous term".
DeleteHow can the maintainer control N?
ReplyDeleteIt is assumed that N is either fairly large or that the goal is to get more users (or both).
Delete