avalon-phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Donald <pe...@apache.org>
Subject [Proposal] Breaking up Avalon
Date Sun, 17 Nov 2002 08:18:29 GMT
Hi,

I had hoped that it would not get to this point but unfortunately that does 
not seem to be the case. However it looks like the best thing for all parties 
involved is to break up Avalon into different projects. One of the first 
things I am going to propose is the graduation of Phoenix and related 
infrastructure to a new top level project.

Below is the outline of my reasoning why I believe this to be in the best 
interests of Avalon. Over the next few weeks I plan to put together a 
"vision" document and proposal - if anyone else wants to help (or do it) then 
they are welcome to take over ;) 

It may be best to start from the start. I initially started observing avalon 
when it was pretty dead. Nothing was happening so I went away. Then all of a 
sudden this Berin guy started doing stuff and then there was life. Fede and 
Stefano also came back and together they kicked the tires and started the 
fires. 

I was building another component based server framework at the time and thus I 
used this as an opportunity to bounce ideas off Berin. At the time what I was 
writing was much more monolithic, lower abstractions and used a lot more off 
the shelf components (w3c DOM/JDOM, JNDI, Properties etc). I eventually 
managed to refactor into something nicer - more in the way Avalon was going. 

A month or so later I came on board and stuff progressed. We started to break 
apart the monolithic avalon project into bite sized chunks that more 
accurately modelled the units in which they were used. We also became able to 
actually release parts that were at different maturity levels. It was still 
"big ball of mud" style programming but we were moving forward.

We regularly rewrote the whole codebase - as many as three times in one 
particular month. Along with that was the flamefests - far more excited than 
has been seen in Avalon for a long time. However they were of a far nicer 
variety than what is now present in Avalon - at least then we were all 
interested in promoting Avalon as a whole and there was mutual respect 
between developers. Even when we were competing for our ideas we went out of 
our way to help other - I even recall Berin helping out with JDOM stuff which 
he wasn't too fond of ;) Some of the code was not too hot but the level of 
collaboration and cooperation was great.

Fast forward to now. Most of the problems arise from committers who were added 
into Avalon before they had demonstrated any capability or desire to 
cooperate with the existing committers (and some to this day have not 
committed a line of code). As a result there is whole codebases that are one 
man jobs - a nomans land which other committers avoid like the plague. 

It also seems that we have aquired that condition of "try to block competition 
via politics" which previously we had avoided. On a few occasions Stephen has 
tried to block improvements in Phoenix because it competed with his pet 
container.

And thats not to mention the personal attacks that have recently become a 
distinguishing quality on the avalon lists. Add that to the behaviour 
regarding code ownership and it just gets messy.

So things are changing - right? Appologies have been made and Avalon may 
become a TLP - which will supposedly "fix" the problems that have occured in 
the past. 

Well - I guess I am a big believer in actions speaking louder than words. And 
actions have not changed that much. 

Rather than seeking consensus for major decisions (like becoming a TLP) we 
have seen Stephen try to push through his own ideas - even when it was 
obvious that a large proportion of active developers chose not to engage the 
proposal, it was still sent along to the board. 

Stephen still trolls the phoenix list - though I am sure he would describe it 
as enlightening users to what their missing by not choosing his "amazing 
Merlin" rather than phoenix. It has got bad enough that a few people choose 
to ask me support questions by personal email rather than via the public 
lists because they feel uncomfortable with the way Stephen "helps". Hell - 
some people have even explicitly asked me not to mention their projects in 
public yet because they don't want Stephens "help".

So regardless of whether it is intentional or not Stephen is a harmful 
influence on people wanting to use or develope phoenix.

Also discussion about the way the "new" avalon will operate disturbs me. It 
has been implied that the PMC will be making development decisions to solve 
some of the problems. 

And then theres Nicolas claims that "Phoenix community != Avalon community, 
it's quite clear to all" and that combined with his vision and discussion 
that involved removing my commit privs if I did not agree with the vision was 
somewhat disturbing.

What was even more disturbing was the "cooperate or else" thread sent by 
Stephen to the community list where he outlined his thoughts on how 
cooperation should be done. Relevent snippet;

"What this discussion should be about is a framework we are obliged to 
live with because this is this "brand" management thing - not a 
discussion on a particular flame.  At the end of the day - getting a 
bunch of committers to get their heads together on brand is a painful 
experience - UNLESS - you provide incentives to maintain a brand.  How 
do you do that?  You create a downside that is sufficiently unattractive 
that people have to work together to sort things out.  The downside of 
forcing re-branding is a significant downside.  Its just like forking - 
but heavier - forking just means that you have to work your but off to 
build the community, but re-branding means investing a lot more time in 
brand recognition and brand loyalty - and loosing a lot more relative to 
what exists in terms of public perception. People actually do think 
about the downsides of possible actions before taking particular 
actions.  These downsides are weighed against the overhead of solving a 
problem though collaboration and other positive good sounding stuff that 
we like to talk about.  So before you tell me off - keep in mind that 
up-sides and downsides provide real people with a sense of perspective.  
Without perspective, well, you just don't get the depth."

So I can just imagine what is going to happen when we start integrating Info 
into Phoenix or some other feature that competes with his toolkits.

Putting all these things together it becomes obvious that Phoenix is hurt by 
staying in Avalon. The users are hurt because they are subject to trolling 
and the developers are hurt because they constantly have to work around other 
people who don't participate in the development but can still cause harm.

So the solution? The solution would be moving phoenix development out of 
avalon into a product-centric project focused on Phoenix and supporting 
infrastructure.

This should also help the wider Avalon community because it will remove the 
reason for much conflict and it will help bring the scope down to a more 
manageable level. 

Anyways feel free to email me on or off list with suggestions or offers to 
help. Anyone who is interested in being part of this initiative should also 
email me and I will make sure their name is down on the proposal. All phoenix 
devs will obviously be included but you should email me to give your thoughts 
anyways :)

-- 
Cheers,

Peter Donald
-----------------------------------------------
   "You can't depend on your eyes when your 
   imagination is out of focus." -Mark Twain 
----------------------------------------------- 


--
To unsubscribe, e-mail:   <mailto:avalon-phoenix-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-phoenix-dev-help@jakarta.apache.org>


Mime
View raw message