&gt; What Nix&#x2F;Guix are not doing is reducing the burden of specification. You write down all the details of a very specific, reproducible software stack, but you do not make that software much more composable or extensible than it already was.<p>Yep, this. Glad someone else is saying it, because I&#x27;m starting to wonder how people can read literally thousands of words rooted on a foundation of making it easier for developers, and reducing their uncertainty, and then expect them to write a book-length spec doc.<p>(note that requiring people to write down tons of spec information reduces, at most, one kind of uncertainty, and at high cost)<p>&gt; Spack stores the generated build provenance after doing some constraint solving [3], but the tool helps fill in the missing details of the dependency graph, not the human.<p>Sounds a lot like what&#x27;s I described, no?<p>(I haven&#x27;t heard of Spack, will look into it)<p>&gt; isn’t fully reproducible because it’s not a full system package manager<p>I didn&#x27;t touch on shared libs in the article, and probably should&#x27;ve, at least to point out that, for the purposes of the discussion of a PDM, it&#x27;s mostly out of scope.<p>Things are really just so, so much nicer when we actually let there be layers and scopes of responsibility.