Ubuntu, você traiu o movimento

The nice thing about standards is that you have so many to choose from. – Andy Tanenbaum

Anarquia

De maneira geral, o ecossistema do software livre é anárquico. Falo isso não como crítica ­– tampouco como elogio –, mas sim como um fato. Como exemplo, veja os gerenciadores de pacotes: cada um com seu formato de arquivo e sua(s) interface(s) (gráfica ou não), cada qual com suas nomenclaturas e padronizações. Isso acontece quando a “comunidade” não consegue escolher um campeão e a utilização de um ou de outro torna-se uma questão de gosto.

Esse é um caso extremo, onde vários programas de funções similares disputam entre si o cinturão de Melhor Gerenciador de Pacotes™, e não há a menor interoperabilidade entre eles. Claro, existem ferramentas que convertem um .deb em um .rpm, mas esses programas só tiram proveito do fato que dois pacotes para um mesmo programa terão de armazenar de alguma forma os mesmos arquivos e metadados. À parte da conversão, um gerenciador funciona sem levar em consideração a existência de outros gerenciadores – ele não tentará descobrir se tal pacote está instalado naquele sistema, a não ser que ele mesmo o tenha instalado. Por isso, ter um sistema que conte com dois ou mais gerenciadores de pacote é pedir por problemas.

Mas nem sempre as coisas precisam ser assim complicadas…

Meritocracia

Às vezes aparece um campeão. Até a chegada do Chrome, o Firefox carregava o cinturão de Melhor Navegador Livre™. Isso não significa que não existiam alternativas, apenas que entre Konqueror, Epiphany e lynx, o Firefox era o favorito de nove entre dez pessoas.

Mas nem sempre as coisas são assim simples…

Diplomacia

Outra possibilidade é o surgimento de um protocolo de interoperabilidade. Não existe órgão capaz de verificar e obrigar todo desenvolvedor a seguir esses padrões, mas quando os padrões são sensatos, sua desobediência faz com que os usuários do programa infrator o olhem torto.

Talvez um dos melhores exemplos disso seja a variável XDG_CONFIG_HOME, que diz onde arquivos de configuração devem ser criados. Por padrão, essa variável tem como valor ~/.config e é aí que todos os programas deveriam criar seus arquivos de configuração. Quando algum programa não segue esse padrão, os usuários xingam muito no Twitter e na mailing list do projeto.

Mas nem sempre a vida é assim bela… Quando surge um padrão que não é bem aceito, o problema não é resolvido e continuamos na anarquia.

Notificações

Notificações deveriam ser um caso de diplomacia. Estabelecido o padrão de que a forma de comunicação entre processos é usando o d-bus (dando fim ao dcop utilizado pelo KDE), bastava apenas criar uma API padrão para a exibição de notificações. Essa API foi criada e, pasme, bem aceita. Sendo assim, agora eu posso criar um programa que use notificações (um gerenciador de Downloads que avise quando terminou de baixar seus pacotes, por exemplo) e ele irá exibir as notificações padrões do ambiente em que está, seja no KDE, no Gnome ou numa casinha de sapê.

Bem, talvez eu tenha faltado com a verdade quando disse que a API fora bem aceita. Visando ser a Apple do software livre, a Canonical achou por bem desenvolver um outro daemon de notificações, para unificar a experiência entre os desktops. Afinal, <sarcasmo>o Gnome, o KDE e o XFCE são tão parecidos, só faltava isso mesmo</sarcasmo>.

Superficialmente, esse novo daemon segue a API criada; porém, alguns parâmetros são ignorados. Por quê? Porque os desenvolvedores da Canonical se acham mais espertos que você, e que o controle deve ficar nas mãos deles. Se escrevi um pequeno verificador para minha caixa de entrada, qual o problema de que a duração da notificação seja de apenas um segundo? É mais do que suficiente para que eu possa reconhecer o ícone e saber do que se trata. No entanto, a Canonical acha melhor ignorar o parâmetro que determina o tempo de duração de uma notificação e usar um tempo absurdamente grande para esse tipo de notificação.

A solução? Um patch que acrescenta doze linhas ao código original. Não dói aplicá-lo e recompilar o programa, mas é um incômodo saber que esse problema poderia estar resolvido há dois anos.

Publicidade

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

%d blogueiros gostam disto: