Dois anos depois, um grupo de programadores destemidos havia criado uma API nova e totalmente diferente, incompatível e "Linux-only" chamada ALSA. Eles a embutiram no código fonte do kernel
Linux e o OSS foi declarado como "obsoleto". Era suposto que a API do ALSA se tornaria mais avançada que a do OSS.
Foi liberado sob licença GPL (apenas) pois parecia ser a coisa certa. No entanto os programadores de aplicativos não gostaram da API ALSA e continuaram a usar o OSS. Foi necessário declarar OSS como "obsoleta" para empurrar os desenvolvedores de aplicativos para suportar ALSA ao invés de OSS.
No entanto, mesmo isso não era suficiente. Os desenvolvedores de aplicativos ainda preferiam OSS, e isso foi muito ruim para dos desenvolvedores da ALSA, porque eles tinham que fornecer a emulação OSS. Além disso, o nível de emulação OSS do kernel tinha que ser contornado com algumas características (tais como dmix) que ALSA tem implementado no nível de biblioteca. Assim, a emulação OSS foi posteriormente implementada em nível de biblioteca também, mas fornecer a emulação do OSS no ALSA causou alguns efeitos colaterais, desenvolvedores de aplicações de áudio se recusavam a converter-se ao ALSA porque a API OSS ainda estava disponível. Então, algumas políticas ainda mais agressivas eram necessárias.
Até agora, o ALSA conseguiu obter distribuições Linux para compilar a maioria das aplicações de áudio ativadas apenas com os plugins ALSA (todo o suporte a OSS foi retirado). Em alguns casos as próprias distribuições tentam impedir os usuários de remover o ALSA e instalar o OSS, mantendo a interface do ALSA Mixer ocupada (o mixer do Gnome/GTK é imediatamente relançado se for fechado). E o kernel foi modificado para manter o suporte a OSS completamente desativado na configuração.
"Nós somos o projeto ALSA. O sistema vai ser assimilado. A resistência é inútil".
Alguém já ouviu falar sobre "liberdade de escolha"?
ALSA foi oficialmente incluído no kernel Linux 2.6.0 que foi lançado há mais de oito anos atrás (dezembro de 2003). Se ALSA é tão grande como eles dizem, então por que em oito anos ele ainda não conseguiu ser um substituído completo para o OSS? Aparentemente isso não aconteceu até agora, será que vai acontecer durante os próximos oito anos? Eu acho que não.
Aplicações mais antigas ainda apoiam o OSS e alguns mais novos somente o ALSA porque seus desenvolvedores foram informados de que a API OSS desaparecerá amanhã, no entanto, a API ALSA não é bem documentada (a 5 anos atrás), então como pode alguém esperar que os programadores desenvolvam bons aplicativos baseados no ALSA?
Um detalhe engraçado é que mesmo alguns desenvolvedores-chave do ALSA agora (3 anos atrás) sugerem que os desenvolvedores usem a API do Jack ao invés de alsa-lib (o Jack tem um plugin totalmente funcional para o OSS). De alguma forma isso está começando a cheirar como Roupa Nova do Imperador.