CUDF (for Common Upgradeability Description Format) is a format for describing upgrade scenarios in package-based Free and Open Source Software distribution. In every such scenario there exists a package universe (i.e. a set of packages) known to a package manager application, a package status (i.e. the currently installed packages), and a user request (i.e. a wish to change the set of installed packages) that need to be fulfilled. CUDF permits to describe an upgrade scenario in a way that is both distribution-independent and package-manager-independent. CUDF offers a rigorous semantics of dependency solving that enables to independently check the correctness of upgrade solutions proposed by package managers. CUDF adoption would enable to share dependency solver components across different package managers, both intra- and inter-distributions.