Hacker News new | ask | show | jobs
by clhodapp 2675 days ago
I believe that the Linux folks don't want a stable ABI because they want to be able to smoothly redesign the internal architecture of their kernel whenever they want. Once you have a stable ABI, you have to worry about continuing to support the model of that ABI for a long time (or, if something akin to the "don't break userspace" policy were adopted, forever), which ossifies your design & blocks you from adding certain features. Additionally, by applying technical and political pressure to move drivers in-tree, the kernel devs gain the power to self-maintain over time (even Windows breaks its ABIs every once in a while and causes havoc: see Vista)
1 comments

That's the rationale Linux people give. But FreeBSD has managed to maintain much stronger backwards compatibility (with older ABIs gradually moved into -compat modules and eventually removed entirely) than Linux without it noticeably damaging kernel development speed. Linux is the only major platform where hardware that worked frequently stops working (not just because of closed-source drivers; the same problems exist for open-source drivers that are out-of-tree for whatever reason - there are plenty of high-quality open-source drivers that the kernel doesn't accept in-tree or that don't want to be in-tree), and what do you actually gain for that high price?