Thoughts on Software Packaging
Outline for this post.
- Introduction
- Early experiences with software (VIC-20, DOS, Windows 3.1)
- Linux packaging (Slackware days, how apt was ahead of its time, Red Hat up2date, RPM hell)
- Windows 9x/XP software (DLL hell, no dependency handling, everything’s independent and can overwrite each other)
- Linux packaging in the 2000s (yum, slapt-get, apt-rpm, gentoo portage)
- BSD packaging https://klarasystems.com/articles/a-quick-look-at-the-history-of-package-management-on-freebsd/
- Modern Linux packaging (dnf, pacman, apt)
- Containers and using them vs. curl | sudo bash, arrgh
- Flatpak and snap
- Briefly go over language dependency installation systems (pip, CPAN, golang, node.js, rust crates)
- Conclusion