Por que o modelo de desenvolvimento das distros Linux não é atraente para os desenvolvedores

//
//

Pode o modelo atual de desenvolvimento do Ubuntu e outras distros Linux ser atraente para os desenvolvedores de softwares?

Pesquisas indicam que o Linux hoje ocupa uma pequena fatia do mercado doméstico. Algo em torno de 1,93% dos computadores pessoais no mundo possuem sistemas baseados em Linux como sistema operacional padrão (excluindo dispositivos Android). O Ubuntu puro (com Unity), por sua vez, é responsável por aproximadamente 50% das instalações domésticas. Fora as versões modificadas com outros Desktops Environments.

Com a chegada do Steam para Ubuntu, esse número pode facilmente saltar para 5% em menos de um ano, mas, com o tempo que o Linux está pronto para o Desktop (levando em conta os ambientes de Desktop e os aplicativos padrão dos sistemas operacionais que o usa), esse número de 1,93% não está muito aquém do que deveria estar?

Aplicativos, aplicativos, aplicativos…

Os usuários vão onde estão os aplicativos. Isso é fato, mas, mesmo com excelentes soluções open source, as pessoas ainda não conhecem a qualidade dos softwares de código-fonte aberto, e alguns até torcem o nariz por achar que software gratuito não é software bom. A OVNI VFX provou o contrário, e nem sempre software livre ou open source é gratuito, mas o que realmente as pessoas querem ver no Linux?

As pessoas querem ver os softwares mais populares no Linux. Mesmo que algumas nem usem estes softwares, elas querem saber que existe a opção. Quais opções? Photoshop, Ilustrator, Dreamweaver, Corel Draw, Microsoft Office (!!!), Maya, 3D Studio, Sony Vegas, Diablo III, World of Warcraft, etc, etc, etc.

Entramos em um círculo vicioso. Algo como um cachorro que corre atrás do rabo até o fim da vida: as pessoas não migram para o Linux porque o Linux não possui os aplicativos mais populares, os aplicativos mais populares não vem para o Linux porque não tem público considerável.

Mas será que o modelo de desenvolvimento adotado pelas distros, incluindo o Ubuntu, ajuda ou atrapalha o desenvolvedor?

Releases

Não é a primeira vez que o modelo de desenvolvimento do Ubuntu é questionado nesse blog.

Uma nova versão do sistema a cada seis meses, embora interessante por trazer as últimas inovações tecnológicas no ambiente Linux, coloca o desenvolvedor e o usuário em uma corrida frenética e que, muitas vezes, pode levar o desenvolvedor a abandonar um projeto para a plataforma devido às mudanças radicais impostas.

O Windows, embora tenha feito uma mudança radical entre as versões XP-Vista, ainda manteve uma camada de compatibilidade entre aplicativos antigos através de uma espécie de “emulação”. Nas distros Linux, um release pode possuir uma biblioteca, e essa biblioteca estar fora no próximo release, assim como atualizações constantes nessas mesmas bibliotecas podem tornar aplicativos feitos em uma versão, por exemplo, a 11.10 do Ubuntu, incompatível com a versão 12.04. Uma diferença de seis meses pode tornar um aplicativo impossível de rodar no novo sistema. Outras vezes, para instalar um aplicativo, é obrigatório desinstalar outro aplicativo devido às incompatibilidades entre libs.

O que o desenvolvedor faz? Tem que investir novamente tempo para arrumar a bagunça e manter a compatibilidade entre as versões. O usuário, algumas encantado com as novidades de um novo release do sistema, migra para a nova versão e perde o investimento que havia feito ao comprar o aplicativo.

Aplicativos para Windows normalmente buscam ou alocam suas bibliotecas na pasta Windows/System32. Outras vezes, eles trazem as bibliotecas que precisam, mas nas distros Linux, isso pode causar dores de cabeça para os usuários, pois programas padrão da distro podem sofrer conflitos com as bibliotecas de programas de terceiros. É quase uma visão do inferno quando se tenta compilar um programa e não é possível, pois ele não encontra as dependências necessárias para rodar. Achar tais dependências pode ser um “Deus nos acuda” e isso não garantirá que o aplicativo irá rodar.

O modelo de distribuição e atualização de alguns sistemas baseados em Linux realmente pode assustar até mesmo alguns usuários, como foi o caso da remoção do repositório oficial do Java Oracle. Quem quiser instalar, tem que procurar na internet, baixar o instalador ou encontrar um repositório não-oficial, abrir o terminal e se virar na linha de comando. Tá certo isso, Bial?

O que fazer?

Há anos que a Apple faz adições ao Mac OS. Raramente uma funcionalidade é removida. Isso faz com que uma aplicação escrita no Mac OS 10.5 rode sem problemas no Mac OS 10.7, quase quatro anos depois.

O desenvolvedor precisa se preocupar apenas com correções de bugs e adições de novas funcionalidades ao seu aplicativo.

As distros Linux principais deveriam mudar o ciclo de desenvolvimento para rolling release. Com grandes lançamentos a cada dois anos seria o ideal para o amadurecimento da atual, dos aplicativos, e assim, haveria um tempo de adaptação do desenvolvedor, que seria gradual enquanto ele acompanha os alfas e betas das novas versões, e claro, as distros deveriam manter um repositório de bibliotecas necessárias aos aplicativos, sem que isso interfiresse em outros programas instalados. Obviamente, significa também “não remover funcionalidades”.

Embora o Ubuntu tenha as versões entre-LTS para testar novas funcionalidades e que estas não são estáveis o suficiente para ambientes de produção, sabemos que a maioria dos usuários vão partir para elas para terem aquela nova feature ou aquele novo player de música que não veio por padrão na versão anterior.

A Valve, que está trazendo sua loja de games para o Ubuntu já decidiu que irá trabalhar sua compatibilidade com o Ubuntu 12.04, pois terá mais de dois anos de mercado sem sofrer as dores de cabeça de alterar a compatibilidade de seus jogos com as novas versões.

Mais uma vez, este assunto está jogado na roda. É hora das distros mainstream acordarem para a vida e para o mercado e verem que se elas querem usuários, elas têm de atender o que o usuários querem, e o que os usuários querem é o que o mercado pode oferecer, contudo, com o atual modelo adotado por elas, não existe modelo no mercado que as atenda. Novamente, um cachorro correndo atrás do rabo. Pode ser engraçadinho e bonitinho, mas não gera riqueza.

Nós, usuários Linux, somos apaixonados por nosso sistema. Embora alguns sejam xiitas e não querem nada proprietário rodando no sistema, uma boa parte sabe que tudo precisa de um equilíbrio, e é ele que está faltando.

 E você? O que acha?

Com informações do Ubuntu-Br-SC

Anúncios

5 opiniões sobre “Por que o modelo de desenvolvimento das distros Linux não é atraente para os desenvolvedores”

  1. Concordo plenamente com o que você escreveu kadu. Eu particularmente acho que o Ubuntu deveria lançar uma nova verão a cada 1 ano, pois acho que esse seria o tempo suficiente para o usuário usar bastante o sistema, além do mais a equipe de desenvolvimento teria um bom tempo para entrar uma distro com o minimo de bugs possível. E os LTS continuariam a ser lançados de 2 em 2 anos.

  2. Concordo plenamente. Sempre pensei o mesmo, inclusive sobre os lançamentos do Ubuntu. Há algum tempo que decidi pular de versão LTS para versão LTS, para não perder tempo (e juízo) com as versões intermediárias, que às vezes trazem mais problemas do que solução. Infelizmente, sempre tem alguma coisa da versão LTS que poderia ser melhor e eu acabo quebrando minha regra e instalando uma versão intermediária. Quase sempre me arrependo.

  3. Concordo em atrasar o cilcio de desenvolvimento do Ubuntu, assim chegaria para nós versões mais estáveis do sistema. Claro é uma tradição, mas precisa ser revista. Em prol de um sistema mais polido é aperfeitamente aceitável.

Deixe um comentário

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

Logotipo 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 )

Foto do Google+

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

Conectando a %s