You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by J Aaron Farr <fa...@apache.org> on 2004/04/12 19:33:13 UTC

A Foolish Consistency

Hello all.

I'm afraid I've mixed an [RT] with some actual proposals, reponses,
and technical discussion.  I hope you'll forgive the personal
ramblings at times.

My wedding went perfectly.  Jenny and I are happily married and living
in Pittsburgh at the moment.  I'll be around this week and next and
then I'll be gone for the last week of April (heading to Florida for
our honeymoon).

I'm glad to see that things haven't changed in Avalon while I've been
tied up with the wedding.

That's sarcasm in case you didn't catch it.

I really like Ralph Waldo Emerson.  In an essay titled "Self Reliance"
(which if you haven't read, please do) he stated the often quoted and
often misused phrase: "A foolish consistency is the hobgoblin of
little minds."  The whole quote is as follows:

"A foolish consistency is the hobgoblin of little minds, adored by
little statesmen and philosophers and divines. With consistency a
great soul has simply nothing to do. He may as well concern himself
with his shadow on the wall. Speak what you think now in hard words,
and to-morrow speak what to-morrow thinks in hard words again, though
it contradict every thing you said to-day. 'Ah, so you shall be
sure to be misunderstood.' Is it so bad, then, to be
misunderstood? Pythagoras was misunderstood, and Socrates, and Jesus,
and Luther, and Copernicus, and Galileo, and Newton, and every pure
and wise spirit that ever took flesh. To be great is to be
misunderstood."


Avalon is misunderstood but that does not mean Avalon is great.  

In fact, I would say Avalon has been foolishly consistent in the way
we administer our project (clinging to votes and proposals) and
foolishly *inconsistent* in how we develop our code (component reuse
between containers is next to nonexistant).  Let us have the wisdom to
see the folly of both courses.

I was extremely hesitant to take on the role of PMC Chair because I
knew the nature of the beast I was inheriting.  However as a user of
both Fortress and Merlin I felt I was also uniquely in a position to
see both sides of the issues and ensure users from both camps were
taken care of.  My entire concern is to heal the current rifts and get
Avalon back on track to a healthy community which means developing
cool code and supporting our users.  

I think the best solution was the one offered by Niclas [1] which was
in short to keep Merlin and Fortress under the Avalon project as
official "subprojects" and have Avalon focus on purely the component
contracts.  However, we can see that Stephen, one of the few remaining
members of the PMC, strongly disagrees with this direction [2].  It
has become clear to me that while this may be the best solution, it
will never succeed unless we have a unified community behind it.  The
Avalon mailing list archive should be proof enough for that.

Thus I agree with Berin that we need to find a way to seperate the
Merlin and Fortress codebases so that they may continue to evolve
independently.  Apparently they cannot do so under the same roof,
which is fine.  It's not the end of the world.  There is enough
support behind the two that I believe they can succeed independently.
That doesn't mean there cannot be collaboration or cooperation or
interoperability.  However, codebases and developers should not be
forced to cooperate [3].

I would much rather see Fortress stay in Apache or move to another
location than fork.  Nevertheless even if Fortress stays in the ASF
there are questions and concerns:

  * Should we promote one or both containers as top level projects?
    (TLP)

  * Who maintains control over the Avalon framework?  The Avalon name?

  * Could we use something like the XML group's idea of a federation
    of projects (ie- a PMC for Fortress, Merlin, Avalon)?

Personally, my preference of solutions looks something like:

  * Promote Merlin as a TLP (it is more suited than Fortress) and
    leave Avalon as the Framework, Excalibur, and Fortress.  Meta,
    Repository and other core pieces of Merlin would go to the new
    TLP.  The Avalon Planet dream could still happen, only now it
    would be the Merlin Planet.

  * Create a new "containers" TLP similar to the db.apache.org group.
    This could be open to any container or IoC like project and
    Fortress (and the rest of Excalibur) would be it's first
    subproject.  As an example, Hivemind would be welcome and probably
    Phoenix would end up there.  Avalon would focus on Merlin.

  * Create an "Avalon Federation" like the XML Federation of PMC's:
    There would be a PMC for Merlin, Fortress, and Avalon --
    seperating each out.  The avalon namespace wouldn't change, just
    the way the projects are administered.

  * Fortress and Excalibur would be given to another Apache Project.
    This could be Cocoon, Jakarta, Jakarta Commons, Apache Commons,
    etc.

I think the first two are the best options.  Basically, which
container should stay in Avalon and which should graduate to its own
project?

Alternatively we could look for a new home outside of Apache for
Fortress but I believe in the long run this is not the best solution.
So for those thinking about a fork, I understand your position but I
beg for your patience as we first see if we can find a home here in
the ASF (to which you are invited) that can host Fortress.

Thank you.

J Aaron Farr


[1] http://marc.theaimsgroup.com/?l=avalon-dev&m=108158465917844&w=2
[2] http://marc.theaimsgroup.com/?l=avalon-dev&m=108159413232755&w=2
[3] http://www.jadetower.org/muses/archives/000039.html

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org