Reuse/Release Equivalence Principle

Functionality should be grouped together in a way that makes most sense in a release
Reuse/Release Equivalence Principle

How does it work?

A software library is has releases in the form of versions. A library must have some kind of single purpose. If it contains many incoherent functionalities, it doesn't make sense to release them together, and they should be split up into multiple modules.