In Chapter 6, we discussed the Release/Reuse Equivalence principle. It’s the first principle of package cohesion: it tells an important part of the story about which classes belong together in a package, namely those that you can properly release and maintain as a package. You need to take care of delivering a package that is a true product.
If you follow all the advice given in the previous chapter, you will have a well-behaving package. It has great usability and it’s easily available, so it will be quickly adopted by other developers. But even when a package behaves ...