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

I am concerned about the Linux/glibc monoculture, and its effect on the broader ecosystem.

Whatever breaks on Linux/musl, is also likely to break on other operating systems.

Whatever breaks loudly elsewhere, is also quite likely silently broken on Linux/glibc.

If our default response is to double down on barely patching it enough to limp along, no wonder it keeps breaking.



Most the issues with alpine Linux people face are down to package maintainers breaking backwards compatibility constantly. Package renames are a regular problem.


Alpine has at least the following deficiencies:

DNS TCP resolution doesn't work (https://christoph.luppri.ch/fixing-dns-resolution-for-ruby-o...). It's a feature that it doesn't retry truncated lookups or obey the relevant RFCs (https://twitter.com/RichFelker/status/994629795551031296).

Alpine has a 128k stack size (https://ariadne.space/2021/06/25/understanding-thread-stack-...), while most other OSes have at least a 512k stack.


Just to be clear, I'm not blindly defending musl/Alpine, rather noting the detrimental effects of monoculture.

Quite often fixing a build or a package on another system or architecture is a matter of a 3-5 line diff, and I've contributed quite a few over the years. It usually boils down to an incorrect assumption by the author/maintainer, stuff like "#ifdef __linux__" (when what you actually mean is: "any UNIX-like system with X11"), or hardcoding CC=gcc (where CC=cc just works).


DNS TCP resolution has been fixed this year

https://www.theregister.com/2023/05/16/alpine_linux_318/


Thanks for letting me know!


One thing I love about NixOS so far is that when they do a rename, they can print a deprecation warning every time you use the old name while evaluating your config. When I get a moment, I go through and fix them.

You could probably do something similar in a traditional distro by creating an alias package that prints a warning on install, but then you actually have to watch the install logs to see that.




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: