Modelling Version Requirements in Open Source Packaging

Nicky Ringland
Elitsa Bankova
Eve Martin-Jones
Caleb Brown
Josie Anugerah
ACM Queue (2026)

Abstract

Open source dependencies form the majority of modern software, yet practices for managing them remain inconsistent and fragmented. While Semantic Versioning 2.0 has become the standard for version specification, there is no equivalent standard for requirements, which are the rules that determine which versions of a dependency are acceptable. Each ecosystem (e.g., npm, PyPI, RubyGems, Go) uses its own requirement syntax and resolution strategy, creating confusion and limiting the development of cross-ecosystem tools. This paper proposes a universal requirements model that abstracts away syntax while preserving meaning. By providing a shared framework for interpreting requirements across ecosystems, the model enables more effective tooling, reduces duplication of effort, and supports safer dependency management in multi-language projects.
×