www-community mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ceki Gülcü <c...@qos.ch>
Subject Re: Rules for Revolutionaries
Date Sat, 09 Nov 2002 14:28:40 GMT
At 12:50 09.11.2002 +0000, Stefano Mazzocchi wrote:
>Ceki Gülcü wrote:
>>I keep wondering why you keep bringing up Duncan's Whoa
>>Bessie... mail. I mean this one:
>>Is it just for historical purposes? Is it because Duncan expresses
>>interesting ideas with eloquence? Sure, Duncan may have been wrong in
>>the Ant context but that should not discredit his ideas altogether.
>>The liberal ideas expressed by Stefano, Sam and to some extent Costin
>>are very inspiring and definitely please a wider audience than Duncan's
>>ideas defending the actions of a selfish pig as he puts hit. (No, I
>>don't think that Duncan is a selfish pig and you shouldn't either.)
>>However, liberal ideologies are just that, ideologies. While Duncan's
>>theory of benevolent dictators might not find favor in the eyes of
>>this public, we should not discard it as being contrary to the Apache
>>way. We should instead recognize it as being a legitimate way of
>>development. It may even be the dominant way of development at Apache
>>under disguise.
>>In addition, it is much easier to stand up and talk about the interest
>>of the community than the interests of individuals less you come off
>>as supporting selfish pigs or being a selfish pig yourself.
>>On a wider scale, it was very hard for the West to fight Communism
>>because the communist ideology sells much better to the
>>unprivileged. Yet 75 years later, the West won, not because of its
>>persuasiveness but because it had much more to show on the store
>>shelves than the communists. Communism is a great idea but it doesn't
>>work. Capitalism is hard to sell but it ends up having better results
>>on the long run.
>>Coming back to Jakarta, I am not suggesting that anyone is at
>>fault. All I am suggesting is that we to stop trashing the work
>>achieved by individuals acting as clear leaders. Leadership is not bad
>>per se.
>>I may be stating the obvious here. So be it.
>Duncan made several big mistakes in that situation:
>1) he expected to deserve respect, while, in fact, all he deserved was 
>recognition. Respect has to be earned from people that don't know you.
>2) the best way to earn respect from someone is to respect him/her first. 
>Bashing is the opposite of this.
>3) leadership is vital and a natural inclination of all animal communities 
>(humans included). I would venture to say it's a biological need. Still, 
>leadership is the ultimate respect in a meritocratic community.
>I'm considered the leader of the Cocoon project but my rate of commits and 
>email messages is very low compared to many other individuals there. But I 
>managed to earn respect from the community and I managed *never* to impose 
>my views and to value *everybody* expecially those that think I'm wrong or 
>I'm doing a mistake.
>Why that? because that's where you really have the chance to learn: by 
>making mistakes and by having someone taking the time to tell you.
>Sure, you have to dissipate some ego problems and, to quote myself when I 
>left cocoon the first time, "you are never far enough from your ego to be 
>safe". But I think I managed to build a community of individuals who share 
>my same vision on how to work together sharing this 'love to be wrong so 
>that I can learn' attitude. And *this* is what I'm proud of: any technical 
>issue can be patched. Communities are much harder to patch and you must be 
>much more creative.
>Anyway, I still think that a development community is healthy only when it 
>can stand its leader leaving the project.
>Think about it.

But I have been thinking about this for a long time! Let me add that I
very much admire your attitude. One can only emphatically support your
exhortations for modesty, respect for others and level-headed

Let us just not over do it. Yes, a leader will be wise to leave when
he or she becomes a drag. However, there is no glory in leaving a
project for the sake of leaving the project. As for your the statement
that a community is healthy only when it can survive the departure of
its leader, I think it is somewhat misleading. A community is healthy
when its participants are having fun, not necessarily when it can
provably survive the demise of its leader. Sometimes a community can
survive its leader, only to fall apart a while later. The statement
"community is healthy only when it can stand its leader leaving"
somehow suggests that a community should force the leader to leave in
order to check whether the project is healthy or not. That is probably
not what you are saying or what you mean, but suggesting that leaders
are somehow dispensable strikes me as over doing it. Its hard to replace

It's like preaching abstinence to your children only to discover that
they are still virgin at 60. Maybe not what you intended as a parent. :-)

This pun introduces the next topic: software darwinism. The
principle of the survival of the fittest is a cruel one. Of course its
cruelty does not mean that it is wrong. It just does not apply to
Jakarta. We must make every effort that it does *not* apply to
Jakarta. Let me explain.

Darwin's thesis is that offspring invariably resemble their ancestors
although variations can occur between each generation. Some variations
may advantage the survival of the individuals showing the variation.
Thus those individuals may have more offspring and may eventually form
a new species competing with the original species. I am sure every one
already knew this. In his book the "Origin of the Species" Darwin
insists that the clarification of species is highly correlated with
ancestry, not necessarily with an act of God, which was quite a
shocking thought at the time. That is perhaps why he waited over 20
years to publish his ideas.

My point is that natural selection applies to a birth death
process. We don't have such a process in software. What we have is a
series of evolutions. Natural beings do not change their genes during
the course of their life. A lion does not say, hey it would be cool to
have a long neck like a giraffe, let me grow a neck. We do that in
software all the time. We look at a feature or idea in someone else's
code and import it into our own.

Software development is not a life and death process. We do not want
that anyway.  We do not want software to have 5 forks and die two
weeks later. We want out software to resist time but also allow it to
evolve and to improve. We want sane evolution not a jungle.

To me, Darwinism suggests either painfully slow evolution or just a
pointless life and death cycle.

>Stefano Mazzocchi                               <stefano@apache.org>


TCP implementations will follow a general principle of robustness: be
conservative in what you do, be liberal in what you accept from
others. -- Jon Postel, RFC 793

View raw message