this post was submitted on 06 Aug 2023
-54 points (26.3% liked)
linuxmemes
21197 readers
118 users here now
Hint: :q!
Sister communities:
Community rules (click to expand)
1. Follow the site-wide rules
- Instance-wide TOS: https://legal.lemmy.world/tos/
- Lemmy code of conduct: https://join-lemmy.org/docs/code_of_conduct.html
2. Be civil
- Understand the difference between a joke and an insult.
- Do not harrass or attack members of the community for any reason.
- Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
- Bigotry will not be tolerated.
- These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
3. Post Linux-related content
- Including Unix and BSD.
- Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of
sudo
in Windows.
- No porn. Even if you watch it on a Linux machine.
4. No recent reposts
- Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.
Please report posts and comments that break these rules!
founded 1 year ago
MODERATORS
Sorry isn't Linus the one that always says "never break user code"? Or are you complaining about how you actually use those APIs?
Plus I've seen many, many shitty closed source APIs. You are conflating correlation and causation.
Good points, but there's undeniably some poor choices here and there. Like trying to recompile a bunch of kernel modules every time the kernel version changes makes me wish they had a better system in place... or even worse , if you have a blob driver, you're SOL or stuck on an old version.
This is also why proprietary drivers are bad.
That’s a fine mantra to have but is rarely true in practice. I’ve seen way to many needlessly breaking changes in open-source libs that are explained away with “users can just pin the old version until they update their code”.
To be clear, the linux kernel itself is almost never the cause of the breakage per se, but some other library often implementing one of the APIs it defines. Often the reason for the breakage is under-specification of the original API, for example including a
uint32 flags
field that is not checked against a known set of valid flags, and inevitably ends up populated with vendor-specific (and often conflicting) usages.As much as API design is about exposing the functionality you want, it also involves avoiding exposing functionality you dont’t want to expose. Open-source software often omits that critical design consideration, waving it away under the false virtue of “openness”.
Later...
How long until...