atom feed107 messages in org.apache.communityRe: Rules for Revolutionaries
FromSent OnAttachments
27 earlier messages
Craig R. McClanahanNov 8, 2002 4:02 pm 
Andrew C. OliverNov 8, 2002 4:57 pm 
Andrew C. OliverNov 8, 2002 5:03 pm 
Martin van den BemtNov 8, 2002 5:14 pm 
Rodent of Unusual SizeNov 8, 2002 5:48 pm 
Rodent of Unusual SizeNov 8, 2002 5:51 pm 
James TaylorNov 8, 2002 5:56 pm 
Craig R. McClanahanNov 8, 2002 5:58 pm 
Craig R. McClanahanNov 8, 2002 6:05 pm 
Sam RubyNov 8, 2002 6:17 pm 
Andrew C. OliverNov 8, 2002 6:38 pm 
Andrew C. OliverNov 8, 2002 6:40 pm 
Ceki GülcüNov 9, 2002 12:29 am 
Jeff TurnerNov 9, 2002 2:44 am 
Stefano MazzocchiNov 9, 2002 3:27 am 
Stefano MazzocchiNov 9, 2002 4:13 am 
Stefano MazzocchiNov 9, 2002 4:25 am 
Andrew C. OliverNov 9, 2002 4:27 am 
Stefano MazzocchiNov 9, 2002 4:31 am 
Stefano MazzocchiNov 9, 2002 4:35 am 
Andrew C. OliverNov 9, 2002 4:36 am 
Danny AngusNov 9, 2002 4:39 am 
Stefano MazzocchiNov 9, 2002 4:50 am 
Martin van den BemtNov 9, 2002 5:21 am 
Ceki GülcüNov 9, 2002 6:28 am 
Costin ManolacheNov 9, 2002 8:50 am 
Sam RubyNov 9, 2002 9:29 am 
Costin ManolacheNov 9, 2002 10:23 am 
Ceki GülcüNov 9, 2002 10:49 am 
Ceki GülcüNov 9, 2002 10:58 am 
Stefano MazzocchiNov 9, 2002 12:33 pm 
James Duncan DavidsonNov 9, 2002 3:29 pm 
James Duncan DavidsonNov 9, 2002 3:37 pm 
Chuck MurckoNov 9, 2002 6:08 pm 
Rodent of Unusual SizeNov 10, 2002 5:29 am 
Ceki GülcüNov 10, 2002 6:22 am 
James Duncan DavidsonNov 10, 2002 9:14 am 
Stefano MazzocchiNov 11, 2002 7:05 pm 
Stephen McConnellNov 11, 2002 7:26 pm 
Sam RubyNov 11, 2002 7:41 pm 
Jeff TurnerNov 11, 2002 7:43 pm 
Stephen McConnellNov 11, 2002 7:43 pm 
Ovidiu PredescuNov 11, 2002 9:34 pm 
Ovidiu PredescuNov 11, 2002 9:36 pm 
Sam RubyNov 11, 2002 9:51 pm 
Jeff TurnerNov 11, 2002 11:18 pm 
Andrew C. OliverNov 12, 2002 7:18 am 
Stefano MazzocchiNov 12, 2002 7:25 am 
Martin van den BemtNov 12, 2002 8:19 am 
Joe SchaeferNov 12, 2002 8:20 am 
30 later messages
Subject:Re: Rules for Revolutionaries
From:Ceki Gülcü (ce@qos.ch)
Date:Nov 9, 2002 6:28:40 am
List:org.apache.community

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: http://marc.theaimsgroup.com/?l=ant-dev&m=97712718421034&w=2 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 behavior.

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 people.

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.

-- Ceki

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