commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stephen Colebourne" <>
Subject Re: [general][lang] monolithic components considered harmful
Date Wed, 01 Jan 2003 12:53:52 GMT
Let me attempt to demonstrate why multiple jars won't work. Imagine we do
the split of [lang] into jars based on Common Reuse/Reuse-Release
Equivalence/Common Closure Principles.

- depends on [builder]

- depends on [numberutil]




- depends on [exception]



- depends on [exception]


- depends on [numberutil], [systemutil]


- depends on [arrayutil], [systemutil]

- depends on [exception], [serialization]

- depends on [numberutil]


- depends on [arrayutil], [classutil], [stringutil], [exception]




- depends on [functor]


So, 22 new commons components. <sarcasm>Now thats a good idea isn't

And if you think this is pedantic look at the list again. Any combination of
the above components is combining two concepts that don't have a direct

Because thats what [lang] is, and thats why is doesn't fit the holy commons
charter. Its a combination of useful utilities
- too small to exist alone (one class)
- that gain strength by being together (see some of the more unusual
dependencies above)
- encourage reuse and discourage cut and paste by offering more (I might cut
and paste if I want one routine. I might depend if I want more than one. The
broader range available increases reuse over cut and paste)
- builds a viable community (not just counting committers, but users. The
time and math packages are user suggestions. The util package is the useful
parts of the dead community [util]. The functor package is the useful parts
of the dead community [pattern].)

Should we complain that the JDK contains stuff we don't use?


----- Original Message -----
From: "Rodney Waldhoff" <>
>  Person ${p} suggests feature ${f} for component ${c}. Person ${q} insists
> it belongs in [lang].
> and ${q} pulls from a very small set.

and {q} = Stephen
Rodney, please feel free to make it personal if thats what you believe.

To unsubscribe, e-mail:   <>
For additional commands, e-mail: <>

View raw message