Skip to content

Comment on Debian 10.7 Releasedparent

Comments

It's really a pity vendoring & static linking has become so widely accepted, so prevalent.

It allows such drift from upstream, freedom from responsibility to maintain yourself as something modern. It increases both the size of what you have to distribute, and the memory profile. And it means that when a security update is necessary, each library consumer has to be responsible & on-time with delivering updates rapidly.

It feels like it was created out of such petty, small needs & wants. It's convenient to be able to copy a binary around anywhere, & have it just work. It's convenient to stand off, on your own, ignorant of the world you exist in. But it's so contrary to me to good healthy engineering practices, enables such radical irresponsibility & divergence. I don't see a lot of push back to static linking, but it feels like a modern & popular plague to me. Go, rust, the whole world software development world seems to be increasingly less interested in systems, & more interested in itself.

The counter point from an application developer point of view is that it requires a lot of resources to distribute an application across the many Linux distros. Given it is just one of the 3 major desktop operating systems an application is targeting (Windows, Mac), one cannot push the work back to the application. Applications should do what makes sense to them, distros should either put in the work or perhaps, standardize the mechanism to specify dependencies across distros so the work can be done once.

To your point about security patches in dependencies, Chrome auto updates itself to patch vulnerabilities. Their users on Windows/Mac appreciate this behavior. Switching to a different model for Linux is work on their part, isn't it?

Static linking based distribution like snaps might also achieve most of the goals listed above if the file system can share relevant file blocks across applications in a seamless manner. So Chromium could bring in its own glibc or use glibc file blocks already pulled in by another application.

Have you considered that the benefits might outweigh the costs?

i know i know, we all want things to be easy, i get it, yeah. static linked stuff is definitely that.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.