Érdekes cikk, határozottan van benne valami. Annyit jegyeznék csak meg, hogy a legnagyobb probléma ott van, hogy az API eleve architektúra függő, ezért van olyan sok verzió. Ez nem jó. Az API-nak pont az lenne a lényege, hogy egyéges felületet biztosítson, elrejtve a hardware-t. Szóval szerintem a következőket kellene tenni ahhoz, hogy jó legyen:
1. teljes szemléletváltás: egységes API-ra van szükség (ennélkül szerintem neki sem lett volna szabad állni a kernel fejlesztésének).
2. a subsystemek maintainereiből álló csapat leül a seggére, és végiggondolja az API-kat
3. előállnak egy olyan absztrakt API réteggel, ami független minden korábbi architektúrától, mégis mindegyik leírható vele (ez a leghúzósabb rész, ehhez szerintem folyamatos egyeztetés mellett is legalább 1-2 év kell, mire kialakul)
4. seggberúgnak mindenkit, aki olyan kódot küld a mainline-ba, ami nem követi a lefektetett szabályokat
Imho a fenti pontok nem lehetlenek, csak kérdés, valaha is lesz-e hozzá kellő akarat. Pont a linux kernelben tudok rá egy gyönyörű, iskolaszerű példát: a VFS. Érdekes, ott meg tudták oldani, hogy az összes filerendszer összes hülye funkciója egy egységes API-n keresztül legyen elérhető (most tekintsünk el az fsync mizériától).
A Solaris kernelben azért olyan jó az API szvsz, mert a fejlesztés legelején megvolt a 2. és a 3. pont, és asszerint haladtak az implementálásnál. Az nem érv, hogy kevés archon elérhető, mert a Sparc és az Intel pont homlokegyenest egymás ellenkezője, ezáltal széles palettát fog át (attól még, hogy a két véglet között nincsenek közbenső állomások, ez még így van). Nem hiszem, hogy különösebb gondot okozna például Alpha-ra áttenni a Solaris API-t.