||A Look at Commons Chain, Part 1|
Response to: commons mire
that's a good point I've not heard many make but needs to be dealt with. Each commons jar should be independent. Instead of using commons-logging or log4j, for example, it would use a logger interface, and have the dependency injected in any number of ways.
This concept has been in usage in the JDK with things like JDBC drivers, JAXP parsers and transformers, and while having to
-DfooConcrete=my.foo.Implementation is sometimes inconvenient, it's certainly better than having to include 5 to 10 commons jars when you really only want one of them.