Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

There is a simple thing they do that we could mimick (and some have started). macOS and Windows ditched (or never used) the concept of widely using dynamic libraries and dependencies.

Apple and Microsoft build SDKs that you compile against, and for the most part those are the only dynamic libraries that you use. Between point releases the ABI is compatible so you can do thing like security updates without recompiling applications. Everything else is bundled inside or distributed along side the application and is the responsibility of the app developer.

There are a few attempts at doing this on Linux - Flatpack, Snap, and AppImage.



And even then, .NET runtime is the one horrible part about getting apps to run on windows.

In the modern era I think saying no to dynamic linking is the right move.


I would argue dynamic linking in itself is still very important, in the sense that if some nasty security vulnerability is discovered in an important core package (OpenSSL or glibc or something), a patch can be pushed out without requiring downstream applications to be recompiled.

To be honest, I don't think most developers have a robust mechanism of tracking vulnerabilities in the projects they directly depend on, let alone the dependencies of dependencies.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: