2021-11-10 –, Room 2
Package managers are so old that one may wonder why we are here
discussing recent tools in this area. What are we trying to achieve
that existing tools failed to provide? And why-oh-why does so much
energy go into sidestepping package managers through “application
bundles” à la Docker?
In this talk, I’ll present the grail that GNU Guix is after, taking
examples from core features and key packaging practices. You may
recognize bits from other projects: the rigor of Debian, the functional
paradigm of Nix, the flexibility of Spack. You’ll also see salient
differences: Guix tries to go as far as possible in each of these
directions while remaining pragmatic.
There’s a fine line between pragmatism and deception that Guix tries not
to cross. I’ll explain what the project’s “red lines” are and why we
think users and implementors should care. I’ll reflect on how we can
collectively shape a brighter future for software deployment.
I envision this as a bit of a "soul searching" kind of talk, with the goal of fostering discussion among implementors about what common denominator our tools and distributions should aim for, even when they initially have different goals.
Almost yen years ago, Ludovic started work on GNU Guix. It has since become the home of a vibrant community encompassing free software enthusiasts, principled developers, and scientists in search of reproducibility.
Before that, Ludovic was already a co-maintainer of GNU Guile, an implementation of the Scheme functional programming language, and a contributor to Nix, Nixpkgs, and NixOS—the beginning of a delightful journey at the crossroads of functional deployment and embedded domain-specific languages.