Ceki G�lc� wrote:

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.

Thanks.

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.

Agreed. Totally.

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.

Ok, wrong term. A community is "evolutionary stable" when it can survive a leadership transition without falling apart.


But this doesn't mean that you have to prove that by leaving and I've not left cocoon on the purpose of proving my theory (I'm not *that* fanatic :)

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.

Darwin doesn't think so. Sure, this is a cynical attitude, sacrificing individuals for the specie. But this is dangerously close to moral ethics and I don't want to drive this conversation into those muddy waters.


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. :-)

eh? you have a pretty weird sense of similitudes. Let me tell you :-)


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.

And centuries later people are still shocked when they hear this (we already had such a conversation on cocoon-dev so please, don't start a 'I don't believe in biological evolution' thread because this is *NOT* the point, we are just applying the concept to software. The fact that you believe in it for your own biological evolution doesn't change anything for a software perspective).


My point is that natural selection applies to a birth death
process. We don't have such a process in software.

Yes we do (gosh, I have to write that article on software darwinism one day!). Releases are individuals, the software is the specie.


What we have is a
series of evolutions. Natural beings do not change their genes during
the course of their life.

Like a software release.

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.

Wrong. *WE* modify software, it's not the software itself that auto-modifies (like lions don't grow necks or you don't grow infrared-sensible retinas)


Who are *we*? the code modifiers. In short, we are the mutant agents.

We look at a feature or idea in someone else's
code and import it into our own.

The difference between pure darwinistic biological evolution and our development model is that our genetic modification (where genes = code) is not random.


Software development is not a life and death process.

I *stongly* disagree with this vision.

We do not want that anyway.

I do. I want software releases to fit their environments (read: work) until they don't fit anymore and get updated and replaced (read: die).


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.

I want software that fits environmental needs and maximises environmental energy (read: development is focused), anything else is secondary if it serves for the purpose of healthy evolution of the "specie" (read: the software, as a genetic strain, not as an individual release)


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

hopefully I showed you another point of view of this thing. I don't want to change your mind, just let you know my point so that you can mix it with yours and cross-pollinate back :)


--
Stefano Mazzocchi                               <[EMAIL PROTECTED]>
--------------------------------------------------------------------




Reply via email to