3 ms·
Because there's a BDFL at the top. Linus understands that the whole point of a kernel is having a stable binary interface to run programs on, anytime somebody w
by RedShift1 6y ago
Because there's a BDFL at the top. Linus understands that the whole point of a kernel is having a stable binary interface to run programs on, anytime somebody wants to break userspace he goes on a rant and rejects the idea, rightfully so.
Many other projects do not follow this way of thinking or don't have a BDFL. They break API's because... someone felt like it? Every once in a while I dig into the changelogs or migration guides of projects (sometimes they don't even have a migration guide which is just awful) and you'll see things like changed names of functions, swapped argument orders or even complete removal of functions. But why? We don't know and my guess is it usually boils down to someone "feeling like it".
- matheusmoreira 6y agoYeah. I suppose without Linus's leadership Linux just wouldn't be the same project anymore. The world has come to trust him because he makes good decisions. We depend on his core values such as "don't break userspace". I wonder what it's gonna be like in the future... > They break API's because... someone felt like it? I empathize with them. Designing software is essentially philosophy. The interfaces reflect the developer's current understanding of the world. When this understanding improves, people are tempted to update software because they feel like the software is wrong and unelegant when it doesn't match what's in their minds. It takes a really good engineer to reject this impulse and take responsibility for interfaces people came up with in the 90s.