ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Donald <dona...@apache.org>
Subject Re: So, The Show Must Go On
Date Thu, 18 Jan 2001 00:50:46 GMT
At 08:06  17/1/01 -0600, Builds-R-Us wrote:
>I've never been involved in an open source project, even at
>the periphery as I've done so far. So these observations based
>on other projects may not hold... but, for what it's worth...

yep - however most free software projects have a different social climeate
than traditional products. More below.

>Two generic observations about sucessful software projects:
>
>1. Truly great software is the result of one person's vision. Call
>     that person the visionary. Then, a team of developers (the missionaries)
>     work with the visionary to carry out the vision. Along the way the
>     missionaries and visionary will have discussions, differences of
opinion,
>     and debate. But the final say is always in the hands of the visionary to
>     ensure the integrity and consistency of the vision. Of course, as time
>     passes, the visionary may update and improve the vision as a result
>     of these interactions with the missionaries.

This generally works in traditional development models. The reason is that
traditional dev models are linear, have dedicated personal, have time
constraints and people are paid to do this. For some opensource software
the benevolent dictator is the way to go - but rarely are they also head
visionary - more often than not they are the person who judges what is
practical/actes as spokesperson and encourages others to do certain things.

However at Apache there is a slightly different climate - development while
mostly linear is quite common to internal forks/branches to test out ideas.
One of the other projects I was involved in had 5 forks over the period of
3 months to try out certain approaches etc. So in this way they are often
very non-linear ;)

As most committers are not paid to work on projects they also tend to
scratch their own itches first. Even if they recognize feature X is useful
they are not likely to spend time working on it unless they are interested
in it. As the project matures this tends to go away and people work on what
needs working on but until then ... ;)

Unlike traditional dev models there is zero time constraints. If it takes 6
months or a  year to develope does it matter ? In most cases no - as long
as it is done the right way ;)

There are heaps of other reasons why certain projects work and certain
others don't. For example postgreSQL is a completely different dev model
than say ... tomcat-dev. Consequently the main developers for postgresSQL
have been there for 2 years or more and are quite open and conductive to
public (with virtually no flaming). The average lifespan for volunteer
developers on other projects (ie tomcat again) tends to be shorter ;) Both
have advantages. Tomcat has advanced faster than many other products and is
generally very solid design that wouldn't have been possible without the
"bright flames burning faster" approach (at least for Catalina - haven't
looked at the earlier version).

>2. Everyone on the team learns as the project progresses, and the
>    software is radically re-written several times, if not completely
>    thrown out and a fresh start made using the team's experience.

Consider this the first rewrite based on experience with ant1.x ;)

>Having said that... maybe the visionary paradigm doesn't work in open
source. But Ant
>still needs to have some sort of  vision of what it should be, and so far
it seems
>that the committee approach has not succeeded in achieving a unified vision.
>Or if it has, I missed it...

Well I may be in the minority but I believe then *general* vision is fairly
solid among long time developers/lurkers. I posted a list of points that I
think where generally in the mindsphere of most a while back. However I
guess we have been fairly poor at formalizing, expressing and communicating
the concepts/ideas/vision ;) For the newish ideas (workspaces/multi-project
files) these will be discussed when need arises I guess ;)

>So, having rambled on philosophically for way too long, what's my point???
>
>Well, it appears we have been going through the 'period of strife'. Now
>we have to decide whether the missionaries as a whole can define a
>vision that they are all happy with, or whether a visionary has to
>emerge to define the vision and lead the missionaries.

I say we should be capable of evolving a vision. If not we will end up just
rolling back the best bits of the "Ant2.0 thought experiment" into Ant1.x
and we win anyways ;) I can't see us loosing in the long run. Ant2.x (at
least if it positions itself well and satisfies the needs of others - such
as embedding and pluggable parts) may even result in a larger, stronger
community. I guess time will tell thou ;)


Cheers,

Pete

*-----------------------------------------------------*
| "Faced with the choice between changing one's mind, |
| and proving that there is no need to do so - almost |
| everyone gets busy on the proof."                   |
|              - John Kenneth Galbraith               |
*-----------------------------------------------------*


Mime
View raw message