Por que é necessário um padrão entre as distribuições linux.


Todos sabem que o windows reina no mercado de sistemas operacionais, abocanhando mais de 90% disso, Mac OS cerca de 8% e Linux bem menos que 1%.
Nos últimos anos viu-se um aumento gradual em questões de usabiliade das distribuições Linux, e como não poderia deixar de ser, usar o terminal para muitos, é um verdadeiro terror.
Neste artigo pretendo abordar questões que poderiam facilitar um adoção em massa do Linux em desktops. Recentemente li este artigo no Guia do Hardware que fala sobre a necessidade de se ter uma distro padrão, no caso o Ubuntu, tornando-se assim um porta de entrada para o software livre, facilitando a vida para as outras distribuições linux.
Apesar do ponto de vista exposto no artigo ser interessante, vem aquela velha questão da rivalidade entre as comunidades de desenvolvedores e suas respectivas distribuições, nisso incluimos Fedora, Opensuse, Mandriva e várias outras. Sempre temos aquela velha discussão, o meu é melhor que o seu.
Uso Linux a uns 3 anos e percebi que muita coisa evoluiu, mas apesar disso e sistema ainda tem baixa aceitação, não por que não seja um sistema sólido, mas por uma série de fatores onde podemos citar os principais:
  • Mercado de Hardware e Software
  • Cultura do usuário
Mercado de Hardware e Software - Aqui vemos aquele velho dilema de usuários que instalam alguma distribuição linux e logo se deparam com um item de hardware que não funciona, itens muito comuns são placas de tv, modens e webcams. Felizmente a situação hoje em dia é muito melhor, mas como o windows domina o mercado, os fabricantes preferem disponibilizar drivers para eles. Isso acaba sendo um fator limitante para alguns.
Temos também os softwares. Hoje em dia temos alguns muito bons, inclusive multiplataforma que facilita a vida de quem está migrando do windows para linux, temos por exemplo, o OpenOffice e o Firefox. Para determinados tipos de usuários o linux supri muito bem, mas quando se faz o uso de softwares como o Autocad, Photoshop, Dreamweaver e outros programas profissionais fica quase que impossível se optar por linux. Mas alguns talvez digam que é possível roda-los sobre o wine. Nem todos os softwares para windows rodam bem no wine tão melhores quanto no windows e para um empresa que cogitasse a usar linux nas workstations isso ficaria fora de cena, já que não se teria nenhuma garantia do fornecedor pois não se está rodando o software sobre a plataforma para a qual foi programado. Não adianta também tentar convencer alguns usuários que o Gimp pode fazer a mesma coisa que o Photoshop, pois o usuário irá querer usar o Photoshop e não o Gimp.
Além desses temos também o mercado de jogos, a plataforma Mac OS também sofre desse mesmo dilema, um pouco menos que o Linux, já que o Mac tem uma fatia expressiva do mercado. Basta notar as propagandas que se fazem em torno de computadores ultra potentes para jogos, uma máquina assim só poderá ser aproveitada ao máximo utilizando-se windows, pois foi para isso que foi pensado. Apesar de termos alguns bons títulos para linux, o número é muito inferior ao que existe para a plataforma da Microsoft. Também não culpo os desenvolvedores de jogos, pois em programas assim se fazem pesados investimentos, sendo assim não compensaria muito criar algo que menos de 1% dos usuários de computadores utilzam, seria prejuízo na certa.
Cultura do usuário - Esse é o fator mais preucupante. Muitas vezes a única coisa que um usuário faz em frente ao computador é:
  • Acessar internet(orkut, e outros sites);
  • Mensagem instantânea;
  • Edição de textos(Alinhar um parágrafo a esquerda);
  • Ouvi músicas e assistir a filmes;
Esses são os usos básicos, e o mais incrível de tudo é que hoje em dia, qualquer distribuição linux atende a essas necessidades.
Antes de prosseguir quero falar sobre o programa Computador para todos do governo federal. Segundo o que se sabe é um sucesso, muito bom mesmo, está fazendo com que muitas pessoas tenham acesso ao seu primeiro computador e tenha a feliz vida de paga-lo em 36 vezes. Se por um lado isso é bom, por outro temos um grande agravante, a pirataria de software. É extremamente comum que o primeiro computador comprado desse programa do governo federal venha com linux e em seguida o usuário instale windows pirata no lugar. Na maioria das vezes a distribuição linux que já vem instalada é horrível, mas pode se optar por outras melhores, mas mesmo assim o usuário faz questão de instalar o windows pirata.
windows_pirata
Ele faz isso por:
  • Não conhecer o linux;
  • Pela má imagem que o linux ganha por estas distribuições imprestáveis pré-instaladas que na maioria das vezes vem mal configuradas;
  • Não estar disposto a ter que conhecer o sistema, pois o windows é o único que ele conhece e fazendo tudo o que ele faz não há necessidade de outro.
Analisando isso, podemos constatar que é mais fácil fazer um usuário que está aprendendo utilizar um PC do que alguém já abituado a utilizar outro sistema. Citei algumas das tarefas que a maioria dos usuarios fazem diante do PC e se ele já está abituado a utilizar determinado software para realizar aquela tarefa, então não será fácil a convencê-lo que um outro software, grátis, possa fazer a mesma coisa.
Temos por exemplo o Microsoft Office e o OpenOffice. O OpenOffice atingiu uma maturidade muito boa, podendo substituir perfeitamente o MSOffice em diversas tarefas. Mas mesmo que seja para um usuário abrir um documento, escrever um texto, alinha-lo a esquerda e inserir uma imagem, ainda assim ele irá preferir o MSOffice, não por que o OpenOffice não faça tudo isso, mas por que para esse o usuário o MSOffice vai fazer melhor, apesar das duas suítes de escritório poderem fazer a mesma coisa. Por isso fica difícil convencer a usuários do windows que certas tarefas podem ser feitas perfeitamente no Linux, por mais fácil que determinada tarefa possa ser desempenhada neste. Tem sempre a questão de cultura envolvida, isso é normal, já que o windows domina o mercado.
Agora vamos ao ponto chave, o que pode ser feito então para mudarmos esse cenário, fazer com que o linux tenha uma maior aceitação, que melhorias podemos propor.
Primeiramente o que deve ser considerado é o Foco no Usuário. Usabilidade, facilidade em utilizar o computador, tanto em instalação de softwares como outras tarefas básicas no PC. Infelizmente isso ainda não é algo muito consistente nas distribuições linux, apesar de muita gente dizer o contrário. É importante salientar que qualquer mudança mesmo que mínima em um sistema operacional que visa facilitar a vida do usuário é bem vinda e junta com uma outra série de mudanças fará a experiência do usuário muito melhor. Um sistema operacional deve ser fácil de lidar desde a hora em que você liga o computador até a hora de desligá-lo. Não falo especificamente de por exemplo ter que utilizar um terminal e digitar uma linha de comando, só acho que muitas tarefas devem ser simplificadas e nisso a interface gráfica proporciona muitas facilidade para o usuário. Algumas mudanças, como:
Mudança nas formas de empacotamento - Bom, na maioria das distribuições linux temos os pacotes, programas instalados no sistema. As vezes é muito fácil instalar algo, bastando ir no gerenciador de pacotes, digitar o nome do programa ou algo envolvido na sua descrição, marcar o pacote a ser instalado e clicar em instalar e pronto. Fácil mesmo. Mas as vezes nem tanto, principalmente quando se quer um programa que não está no repositório e o pior de tudo, o desenvolvedor do pacote não oferece uma versão pré-compilada para o meu sistema. Nisso a única alternativa á baixar o pacote, descompactar, dar alguns comandos e rezar para que a compilação tenha bons resultados e que não haja falta de dependências.
Parece simples mas vezes isso se torna um verdadeira dor de cabeça, por mais que alguns tentem dizer o contrário, pois como eu disse no início, deve haver o Foco no Usuário, e um usuário comum de um computador não é um Geek, o máximo que ele irá querer saber é onde está o ícone do programa para que ele possa clicar e usar. No windows e no Mac não se tem muito esse problema, em 99% dos casos, pois basta baixar o programa em um site e clicar e instalar, você ainda pode salvar o programa em um CD para instalar posteriormente. Fica pior ainda quando não se tem acesso a internet no linux, apesar de que em algumas distros pode se gerar um CD com o programa e suas dependencias e instalar posteriormente. Mas isso ainda é muito arcaico, não se compara a comodidade que há no mesmo esquema do windows e Mac, em muitos casos a única coisa que se quer fazer no linux é instalar um simples programa, mas esse mesmo programa exige um série de dependências, e o que era para ser simples, tornou-se dificil e demorado. Mesmo que o gerenciador de pacotes resolva todas as dependecias corretamente, mas tira aquela comodidade de se baixar apenas um programa em um site de downloads e poder instala-lo posteriormente como se faz no windows, Mac e no PCBSD.
Algo que poderiam melhorar também seria a escolha de um tipo de pacote universal, temos por exemplo o auto-package, mas não é tão aceito. As vezes quando se vai instalar um programa direto do site do desenvolvedor, encontramo-nos no dilema de se ter o pacote pré-compilado apenas em rpm ou deb, para distro X ou Y. Seria muito melhor se houvesse apenas um tipo de pacote que pudesse ser instalado em qualquer distro, facilitaria muito a vida de muitos, mas ainda temos aquela velha questão de que o meu é melhor que o seu, ou deb é melhor que rpm e vice-versa. Acredito que isso possa ser feito se as grandes distribuições se unissem a favor de uma única forma de empacotamento, já que o auto-package não é aceito, por que então todos não se reúnem e planejam uma forma de empacotamento padrão, facilitária e muito a vida dos desevolvedores, pois ao invês de ter que se preucupar em disponiblizar um pacote para distro X ou Y, bastaria seguir um padrão e todos seriam beneficiados. Pode ser feito? Pode, bastaria todas se unirem, Canonical, Mandriva, Red Hat e Novell, tenho certeza que se houvesse uma iniciativa comum entre estes, esse objetivo seria alcançado e todos se beneficiariam.
Instalação de drivers - Quem nunca sofreu para reinstalar o vmware no linux a cada vez que o sistema atualiza a versão do kernel, já passei e passo muito por isso e as vezes é muito sofrível, é preciso passar horas e horas vasculhando a internet em busca de uma solução, e as vezes não encontro nada. Temos também a questão dos drivers de video, quem quiser instalar sempre a ultima versão do driver da nvidia terá que compila-lo para a sua versão de kernel e ficar muito atento caso o kernel seja atualizado automaticamente, muitos se contentam com a atualização automática do kernel pelo repositório, mas acaba ficando sem as ultimas versões dos drivers.
Aqui fica minha sugestão, não seria melhor mudar essa forma que os drivers se comportam com o kernel, digo, facilitar a vida de todos para que a cada versão do kernel eu não precisasse ficar tendo que atualizar os módulos de programas como o vmware e drivers de vídeo.
Um exemplo é o Fedora 9 que estou utilizando com kde 4, ele está tendo uns comportamentos estranhos devido ao driver da nvida e o kde 4, o driver que estou utilizando é o do repositório, não é a ultima versão estável, essa versão resolveria meu problema de instabilidade no kde, então só me resta duas opções, esperar a boa vontade de alguém da comunidade do Fedora para empacotar a última versão e colocar no repositório, não sei quando isso vai acontecer, ou baixar ultima versão do driver no site da nvidia e compila-lo, simples não é, pode ser simples para mim, mas para um simples usuário de computador e esses são 90% dos usuarios de computadores do mundo, isso vai ser uma grande dor de cabeça.
Percebem o que estou tentando passar, seria preciso um foco mair no usuário, coisas que podem parecer simples em outros SOs, podem ser muito difíceis no linux, não importa o quanto o defendam.
Quis elucidar apenas alguns pontos que poderiam melhorar a vida de quem lida com linux, sei que os Geeks não vão gostar muito do que eu disse, mas meu objetivo aqui foi expor pontos que visam dar Foco no Usuário.
Essas padronizações são necessárias, pois assim teriamos um ambiente comum de desenvolvimento, dessa forma um desenvolvedor seguindo esses padrões não ficaria preucupado em empacotar algo para distribuição X ou Y, mas apenas saberia que teria que desenvolver seguindo um padrão.
Acho que um modelo a ser seguido também é o que segue o PCBDSD, apesar de ser baseado no FreeBSD, nele você tem a opção de fazer uma instalação de programas simplicada como no windows e Mac, pois como eu disse antes, tudo no linux vai bem até que o programa que você quer instalar possui um série de dependências, e piora mais ainda quando essas dependências não existem no repósitorio da distribuição. Muitos dizem que essa forma de empacotar programas podem com o tempo deixar o sistema entupido com lixo, já que o os pacotes virão com dependências já inclusas, ficam maiores e acabam instalado consigo coisas que só deixam o sistema mais lento. Acredito que isso possa ser melhorado se todas os desenvolvedores e todas as distruibuições trabalhassem juntos em busca de padrões a serem seguidos.
Marketing - Algo que é importante também é um bom marketing, servindo assim para passar uma melhor imagem da distribuição e assim ganhar mais usuários.
Assim com mais usuários, veriamos a indústria de software e hardware dando mais atenção ao linux, disponibilizando mais software e drivers, tornando a vida e quem opta pelo linux muito mais fácil.
Padrões são necessários, pois como eu disse, temos um ambiente comum de desenvolvimento e que todos podem se beneficiar, mas é preciso uma ação conjuta de todos os desenvolvedores para que isso possa ser alcançado.
Existem outros pontos que poderiam ser considerados, não vou expo-los senão o artigo ficará maior do que já está. Quis com isso fazer apenas uma análise superficial, melhorias que espero que algum dia sejam feitas tornando assim o linux muito melhor do que é hoje.

Comentários

Postagens mais visitadas deste blog

Transformando o Linksys WRT54G2 V1 em bridge, repetidor

Recuperando partições deletadas

How to install YUM and other rpm packages on VIOs and AIX manually