>>Второе — речь о совместимости этого апи сверху вниз.
>>Это когда все дрова в 7 работали бы в хр.
>>А это не так. И не только с дравер апи.В API Linux нет никакой совместимости вообще, ни вверх, ни вниз. В userspace API - только снизу вверх. Попробуйте скомпилировать программу на новой версии glibc и запустить на старой. Упс, undefined symbol glibc@@... В винде софт пишется на любой версии и работает на любой версии, если вы не используете специфику типа UAC, а такой специфики - кот наплакал. 95% userspace API винды совместимо в обоих направлениях начиная с XP. Софт, написанный на Win7, прекрасно работает на XP.
>>Есть проги из всяких корэпрогс 20-30 летней давности.
>>Которые отлично компилятся, работают и выглядят также современно, как и все остальные.
Я бы тут поаккуратней по двум причинам
1) речь идёт о stable API ядра, а не о программах userspace. Нет никакой гарантии, что сторонний драйвер для 2.6.18 скомпилируется хотя бы с 2.6.32. И скорее всего, что не скомпилируется. Если его допилить до 2.6.32, потом окажется, что он не компилируется с 2.6.39.
2) даже многие userspace программы написаны криво, полно таких. Благодаря крикоруким разработчикам стороннего софта в документации gcc регулярно появляются разделы типа "Porting to gcc 4.3", т.к. люди пишут код не так, как надо, а так, как компилируется. В итоге оно компилируется на gcc 4.2, и не компилируется на gcc 4.3. Или 4.6, хотя если бы соответствовало стандарту, то компилировалось бы везде (с учётом supported features снизу вверх).