stability is a chimera
Posted Oct 5, 2004 8:35 UTC (Tue) by mbp
In reply to: Mistake
Parent article: Driver core functions: GPL only
Person A would like the kernel to stop changing altogether, except for remotely-exploitable security fixes. Person B wants it to stop changing except for serious bugs and all security fixes. Person C wants all the above, plus support for yet another little USB dongle. Person D needs support for a major new class of device such as SATA, a clean implementation of which means reorganizing the block layer. Person E needs the kernel to run well on their new 64-way Itanium and so needs variable size pages and other trickery.
Who should win? Just how stable do you want the kernel to be? There is no way to please everyone? Any feature which you consider churn is absolutely critical for someone else.
It is a fundamental design assumption of Linux that the internals can change to meet changing circumstances. If new devices require changing the abstractions, they will change. Trying to keep an ABI stable favors ABC at the expense of D and E, and there's no reason to do so.
In the 2.6 model, the kernel.org tree is not going to try to please any of these people. They are going to develop the kernel as best they can.
If you need more stability than that, you need to do it yourself or get it from a distribution. Linus is doing nothing to prevent people making branches with whatever stability criteria they want. He's just not going to interrupt development to pursue the criteria that you personally want, because other people have different goals.
This is a key difference between Linux and commercial projects: they have a single timeline, a single project plan, a single set of stability goals, and can decide to go into a stablity phase. That doesn't make sense for a project with such diverse users as the kernel.
to post comments)