GoboLinux is a Linux distribution with an alternative filesystem hierarchy, where “the filesystem is the package manager”. My work with GoboLinux has primarily been in package management, including the design of its use-flags system, the Freshen automatic-update tool, and various work on the Scripts and Compile tools along with recipe maintenance and web tooling.
Taxonomy of Package Management in Programming Languages and Operating Systems. Hisham Muhammad, Lucas C. Villa Real, Michael Homer. In PLOS, 2019. (bibtex, author copy)
Package management is instrumental for programming languages and operating systems, and yet it is neglected by both areas as an implementation detail. For this reason, it lacks the same kind of conceptual organization: we lack terminology to classify them or to reason about their design trade-offs. In this paper, we share our experience in both OS and language-specific package manager development, categorizing families of package managers and discussing their design implications beyond particular implementations. We also identify possibilities in the still largely unexplored area of package manager interoperability.