3 ms·
> why not just use a system-wide package manager? Here's a question: Even supposing all we had is e.g. Debian distros, why does Docker Hub exist? Why not just
by gugagore 6y ago
> why not just use a system-wide package manager?
Here's a question:
Even supposing all we had is e.g. Debian distros, why does Docker Hub exist? Why not just host all the artifacts in some repository and allow `apt-get install docker-image-$image-name`?
Why do so many programming language ecosystems use their own package management (Python's PyPi and pip, Rust's crates, Node's NPM, ...)
I'm open to people's thoughts on the way in which this following analogy doesn't hold. But I think the general (and imo deeply unfortunate) answer is that the software can provide a better experience if it handles these things like self-updates, even if it shouldn't be its "job".
- bojo 6y ago> Why do so many programming language ecosystems use their own package management Because then you have to support maintaining your ecosystem in a dozen or more variations of OS ecosystems. Easier to bring your dep manager to the OS than the other way around.
- saghm 6y agoThose language-specific package managers do not auto-update the packages you have installed with them; I'm don't follow how you go from the premise that there are many different package managers out there to the conclusion that auto-updates are a "better experience".
- gugagore 6y ago> Those language-specific package managers do not auto-update the packages you have installed with them Adding a new package often triggers a re-resolve of all installed versions. Whether any updates happen at that time depend on how you've set versions bounds: e.g. https://stackoverflow.com/questions/48911625/npm-how-to-install-a-new-package-without-update-or-add-packages-described-on-p https://stackoverflow.com/questions/48911625/npm-how-to-inst... > the conclusion that auto-updates are a "better experience" I don't know that they are necessarily a better experience overall, but it is certainly a worse experience to run into a bug or limitation that has already been resolved in a newer version.
- pseigo 6y agoIt's likely that you'll run into some bug for any software release. What you can control is whether the user makes a deliberate choice to upgrade; the risk of bringing in new bugs or breaking changes may outweigh the cost of dealing with the bug, so in this situation, upgrading for a fix has known benefits and is intentional. This thought process is helpful for pitching your case with stakeholders as well.