É fato: desenvolver configuração, programas e desktops para apenas uma única distribuição cria "lobos solitários" na comunidade, limitando o acesso aos usuários e freando o progresso do software livre como um todo. Quer um exemplo? O desktop Cinnamon. O mesmo ainda será atualizado de tal maneira que só poderá vir a ser instalado em um sistema junto com o GNOME 3.8, lançado em Março último deste ano de 2013. Isso torna o Cinnamon, desenvolvido como parte do projeto Linux Mint, mais um exemplo de software sendo construído por desenvolvedores de "visão curta", que estão apenas se machucando, já que esse comportamento freia o crescimento e retira a prioridade dos usuários.
Cinnamon e Cinnarch
O caso do Cinnarch, uma distribuição Linux baseada no Arch Linux que utiliza o Cinnamon como um desktop padrão, demonstra essa situação (de visão curta do desenvolvimento) mais claramente. O Arch Linux atualiza seus pacotes para as novas versões disponíveis numa velocidade impressionante, e a todo momento que o GNOME for atualizado, os desenvolvedores do Cinnarch serão confrontados com problemas. No final, eles terão que escolher entre a compatibilidade com o Arch Linux ou com o Cinnamon. Em Abril deste ano corrente de 2013, o Cinnamon já saiu perdendo: pouco tempo depois, o próprio Cinnarch, uma das funcionalidades do Cinnamon para o Linux Mint, alterou seu nome para Antergos.
De fato, o Cinnamon ainda está disponível na distribuição, agora que desenvolvedores inventivos mexeram no seu código e corrigiram os problemas com patches - os quais os desenvolvedores do Cinnamon ainda precisam efetuar a devida integração. A maioria das correções vem das comunidades do Arch Linux e do Fedora. Na verdade, os desenvolvedores do Fedora tiveram os mesmos problemas com o Cinnarch quando os mesmos estavam trabalhando no Fedora 19. Ainda sim, a imagem da área de trabalho tem sido manchada, e o estabelecido nome "Cinnarch" foi perdido. Adicionalmente, alguns usuários descobriram tarde demais que o GNOME 3.8 e o Cinnamon poderiam, de fato, co-existir após eles já estarem desapontados o suficiente para trocar para outros desktops.
Unity
O Cinnamon é apenas um dos muitos exemplos de como uma relação excessivamente exclusiva entre uma distribuição e o software podem causar problemas. Os programadores do Unity, o desktop Ubuntu desenvolvido pela Canonical, parecem não estar interessados em garantir a compatibilidade com o resto do mundo do software de código aberto. Como resultado, esse desktop será integrado a esmo, ou ficará completamente indisponível em muitas outras distribuições linux, e os usuários que desejarem ver o Unity numa distribuição baseada em RPM, ou mesmo em numa rolling release como o Arch Linux, ficarão com as mãos abanando.
Como dois exemplos extras, podemos citar o sistema de inicialização e as ferramentas de configuração. Isso nos mostra o quanto esse problema pode limitar o progresso. Desde os primórdios do Linux, as principais distribuições Linux - Debian/Ubuntu, Fedora/Red Hat, Mandriva, SUSE - todas já foram lobos solitários, escolhendo não cooperar com outras distribuições e projetando sus próprias ferramentas de configuração de tal forma que as mesmas poderiam ser úteis para outras distribuições se fossem adotadas. Quando novos usuários Linux perguntam onde ir para configurar o idioma do sistema, layout de teclado, time zone, interfaces de rede e outros parâmetros do sistema, eles frequentemente ouviam: "Isso depende de qual distribuição Linux você está utilizando".
O systemd e NetworkManager
Mas é claro que nem tudo é desgraça e as coisas tem melhorado um pouco, como o systemd, por exemplo, que neutraliza muitas diferenças entre as distribuições permitindo que um grande número de tarefas de configuração possam ser executadas da mesma forma no Arch Linux, Fedora, Mageia, openSUSE e demais distribuições. A influência do systemd até foi acelerada no Ubuntu, mesmo sbendo que essa distribuição utiliza um sistema diferente de inicialização, o Upstart. O NetworkManager também tem melhorado as coisas de forma razoável nesses últimos anos, tomando conta das configurações de LAN, em adição ao padrão de configuração WLAN em muitas distribuições Linux. Essa ferramenta substituiu muitas outras formas de configuração de rede específicas em várias distribuições, levando a uma padronização que já era desejada há algum tempo. Atualmente as distribuições Linux tem caminhado para serem melhores e mais simples, o que a padronização só tem a beneficiar os usuários mais novos em particular.
Esses avanços se devem graças aos desenvolvedores. Os mesmos perceberam que seu software é apenas uma parte de um enorme todo no mundo Linux, garantindo que seus programas irão ser executados corretamente em qualquer lugar, até mesmo além da área de aplicação ou distribuição que o desenvolvedor individual esteja interessado. Esse entendimento é exatamente o que tem feito do Linux o que ele é hoje em dia. Os sistemas PC Unix conseguiram, em várias oportunidades, conquistarem campos que os desenvolvedores originalmente nunca sonharam. Apenas pense no kernel Linux: o mundo embarcado e o supercomputador poderiam ser bastante diferentes nos dias de hoje caso Linus Torvalds não tivesse se preocupado com arquiteturas além da x86, na qual ele desenvolveu o kernel Linux original.
Esse texto é baseado na matéria escrita por Thorsten Leemhuis para o Heise Online.
Saiba Mais: Comment: Don't develop just for your favourite distribution (em Inglês)