There are a few things that we are doing wrong. I'll make a dump of my random thoughts about these in order to foster a discussion.

Building on sand
----------------

We developped a habit of building on sand.

Recently on avalon-dev I expressed my concerns about their habit of moving stuff around for elegance-sake, but I'm starting to think that Cocoon is abusing avalon and this places too much pressure on their shoulders.

Example: the instrumentation. The Cocoon core is based on code that has never been released. So, Avalon has the right to move it around (and screw us). But I don't think it's *their* fault, it's entirely ours.

I'm starting to think that the Cocoon dev team should create a policy

  +------------------------------------------------------+
  | never commit code that depends on non-released stuff |
  +------------------------------------------------------+

Another example: the Source stuff moved to Avalon.

Is it possible that things are marked as *deprecated* and even Cocoon itself depends on deprecated stuff? sand on sand.


Huge library dependance -----------------------

Let's look at the list of libraries we depend on:

why do we depend on different 'concurrent' libraries?

why do we have altRMI stuff over in /lib/optional when they are needed by the instrumentation that is placed on /lib/core? wouldn't it be core itself?

do we really have to depend on *THREE* different xpath libraries (xalan,jxpath and jaxen)? can't we make an avalon component that provides xpath querying services and work from there?

why do we need both 'excalibur-logger' and 'commons-logging'? didn't we refactor the log?

why we depend on cornerstone-excalibur-thread*?


Scratchpad considered harmful -----------------------------

I proposed to remove the scratchpad and no consensus was reached. I try again but this time harder: I think the scratchpad is harmful.

Reasons:

1) for non-core stuff, alpha blocks will do just fine and will even keep libraries out of the way.

2) if you want to try things around with core stuff, I *WANT* you to do it on the head. It's called 'continous integration'. No, dude, I won't make it easier for you, I want it to make it harder so that everybody sees what you're doing and can improve on it.

I repeat my proposal to kill the scratchpad

enough for now. i need food.

--
Stefano Mazzocchi                               <[EMAIL PROTECTED]>
   Pluralitas non est ponenda sine necessitate [William of Ockham]
--------------------------------------------------------------------




Reply via email to