Hi all, I am a PhD student at the University of Auckland, New Zealand. As part of my research I have performed an empirical study on a large corpus of open-source Java software. Several of the applications in the corpus (Derby, Ant, Tomcat, JMeter, POI) are from the Apache Software Foundation. If you are a developer of Derby you might be interested to know that there are 422 source files all involved in a big dependency cycle (or to use the graph theory term: strongly connected component). Though it is just one dimension of design quality, it is thought long dependency cycles among source files inhibit understanding, testing and reuse.
In any case, a comparison of Derby to all the other applications in the corpus is available on my webpage, along with a more detailed description of the study and why cycles are bad: http://www.cs.auckland.ac.nz/~hayden/corpus.htm / Hayden Melton
