Requirements should clearly state their license as this aids in resolving potential licensing conflicts much more easily.
In addition, these requirements should denote a minimal version based on the features they need from these requirements.
Afterwards, these minimal versions can be extended with a lower-constraints job which verifies that all minimal versions results in a functional application.