I like code reuse rather than having to write and maintain our own work. That's a big pull of open source is building from what others have done. I vote for including the libraries in derby.jar, rather than having jar-file explosion.
Code reuse is a good idea, but there are downsides to using external products. I think that before any external product is used, there should be a vote on it.
There should be some criteria for selection.
Some of the problems with including external products that I have found in my experience are:
a) Additional dependencies get dragged in. This makes the distribution large.
b) You tend to get more baggage than you need. You may have wanted a simple command line facility, but you end up with a whole host of other features you do not need. Add dependencies to that list, and the problem is exacerbated.
c) Issues with licensing.
d) What happens when one or more product goes out of maintenance? This happens more often with OpenSource projects.
e) Quality issues - you need to worry about bugs in other products.
I also think that adding other libraries to derby.jar is a bad idea, though I can see why you are suggesting it.
There seems to be no easy answer to code reuse, unfortunately. There is no doubt we should have more of it, but ... from a logistics point of view, there are issues.
My vote is for:
a) stick with what is done now and use our own versions
d) have the build include the library content in derby.jar
e) if using an external product could really save effort - and help avoid reineventing large amounts of code, then the proposed product should be subjected to a vote.
Regards
Dibyendu