For example, often, libraries can depend on spring 2.5 or spring 3.x and the only way is to have two separate list of features.
A range would allow selecting one or the other.
The default behavior would be:
- if no version is indicated, it means [0, +oo)
- if a version is indicated, the range is closed [x, x]
- if a feature matching the range is already installed, use that one
- else find the highest version matching the range