Este é apenas o meu palpite, mas acho que quando você trabalha para uma empresa, onde tudo é compilado (convertido em dados binários, que computadores podem executar), ninguém pode ver mais o código-fonte, você tende a ser um muito preguiçoso, já que não importa desde que funcione .
O Linux é de código aberto, então todos podem ver o código-fonte se quiserem fazê-lo. Se você é preguiçoso, e escreve um pedaço realmente de código que realmente vai retardar o sistema ou algo do tipo, lá vai a sua reputação, como todo mundo acabou de ver. Desenvolvedores e usuários. Eu acho que essa é uma das razões pelas quais os desenvolvedores do open source tendem a ser menos preguiçosos.
Também é fato que o núcleo do kernel do Windows nunca foi escrito com a intenção de se tornar o que é hoje (nem o Linux, mas eles fizeram o esforço para otimizar os bits antigos), e os desenvolvedores simplesmente sempre foram adicionando e adicionando em cima dele, até que o código fosse tão enigmático que ninguém mais pudesse fazer algo disso. Duas propriedades do código bagunçado é que muitas vezes há muita redundância, e que você não vê mais os links entre dois pedaços de código tão facilmente, o que faz com que você não possa sequer tentar começar a otimizá-lo. Apenas um exemplo (não um enigmático);
for (int i = 0; i < 20; i++)
{
if (x == y)
{
if (z <= u)
{
goto banana;
}
}
}
O exemplo acima pode ser feito com muito mais eficiência;
for (int i = 0; (i < 20) && (x == y) && (z <= u); i++)
{
banana ();
}