On Jan 10, 2007, at 5:17 AM, ant elder wrote:
On 1/10/07, Jim Marino <[EMAIL PROTECTED]> wrote:
<snip>
Have we looked on how other Apache Projects are handling this ?
>
I believe Jeremy has with Geronimo. Other projects outside Apache
such as JBoss, Hibernate, and Spring release subprojects
independently as well.
True, but what is a 'subproject' is not precisely defined and
they are
usually fairly coarsely grained.
I would say that usually they are not: HTTPD with modules, Maven with
plugins, Jakarta/Tomcat with Commons... There are also projects that
don't have such a modular structure and face the same issues we are
running into: Axis with all the WS sub-projects is an example.
For example, Spring does have independently
released subprojects, but the main Spring release is a lot more
than just
the their IOC container, it comes with a whole bunch of related
components -
spring-aop, spring-jms, spring-jpa, etc - that they deem make the
release
useful and interesting, and that they have tested are all at
compatible
levels. Also, all those components are generally only released
together
rather than having lots of separate independent releases. This seems
generally the case looking across most other projects vaguely
similar to us.
This is a different kind of beast - it's an aggregation of released
components put together for users. Pulling this kind of thing
together takes a lot of time an resource - we see that in Geronimo
where they need to pull together a certified implementation of JEE
which is a major effort for the project; we saw it here pulling
together the M1 and M2 releases. What we found is that kills momentum
on the project.
Moving to stable, released components that such a beast can use has
benefits all around - component developers can proceed at their own
pace with a stable set of contracts between them, the project can
scale because we don't force everyone to maintain everything, it's
easier to create an aggregation as there is a set of stable
components to pick from.
Of course, this assumes there is a set of released components to
select from ...
--
Jeremy
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]