Padronizar é preciso? Acho que não

Está rolando uma discussão no Br-Linux por conta de um artigo no Linux Journal, justamente envolvendo o tema padronização. Não é de hoje que ouço gente clamando por padronizar tudo, seja a forma de empacotamento, ou seja, um formato de arquivos de instalação de programas estilo os .EXE dos Windows até mesmo padronização das ferramentas para a criação dos ditos softwares.

Não é difícil de imaginar, este assunto esquenta fácil, para virar um flame-war basta uma fagulha, atualmente esta fagulha é a palavra Ubuntu, basta cita-la que começam os ataques de lado a lado, cada um vestindo a camisa da sua distribuição e partindo para ataques desnecessários, mentiras e muita, mas muita desinformação.

As vezes chega ao ponto de parecer que há uma certa má-fé por parte de quem está discutindo o assunto, pois, a principio, parecem ter conhecimento suficiente, sabem que não é bem aquilo que estão falando, contudo tem gente que acha não sabe mesmo, afinal não são todos que dominam o inglês (eu por exemplo, mas continuo tentando ler e escrever neste idioma, um dia eu consigo) e sabemos que toda a informação importante, toda a documentação “oficial” está neste idioma.

Bem, mas para verem o bate boca é melhor segui o link, o que quero dizer mesmo é uma versão extendida do meu comentário lá, até porque, recentemente, este mesmo assunto foi motivo de discussão em dois tópicos do fórum Guia do Hardware também, parece estar no coração e mentes das pessoas, sem contar que já vi vários pregadores da “Unificação do Linux”, ou seja, a criação da “Distribuição Definitiva”, que salvaria o mundo e acabaria com todas as mazelas da humanidade.

Começando tudo o termo padronização é muito genérico, dá margem para diversas interpretações, mas o que a maioria esmagadora pensa disso é uma coisa, uma unificação, contudo esquecem ou não bem que temos sim uma padronização, chama-se Linux Standart Base, nela há instrução de como fazer, onde colocar, como colocar e tudo mais, temos maneiras corretas de criar pacotes, de como fazer para que esses pacotes sejam compatíveis em todas as distribuições, seja através da instalação direta, seja usando uma software para converter, ou seja, há regras neste jogo, contudo alguns seguem outros não, afinal, pensem comigo, grande parte dos softwares que utilizamos no Linux não são exclusivos dele, pelo contrario, são feitos para ser multiplataforma e os desenvolvedores não se sentem presos a qualquer regra, mas a coisa piora, algumas distribuições simplesmente ignoram tudo isso, elas mesmas fazem pacotes que, em muitas vezes, são incompatíveis até mesmo com outras derivadas do mesmo ramo, imagine então com distribuições de ramos diferentes.

Na verdade, atualmente, a maioria das distribuições são parcialmente compatíveis com a LSB, algumas são mais, outras menos. Há também uma certa birra, a LSB indica o formato de pacotes RPM, o pessoal do DEB não gostou muito, ai fica assim, uns reclamam, outros brigam, outros fazem o que bem entendem, mas na realidade este é o espirito, não vejo grandes problemas com esta tão falada falta de padronização, mas existe um motivo para isso, tenho uma visão diferente das distribuições, com ela meus problemas são praticamente nulos com isso, vejamos.

Minha idéia de distribuição é simples. Cada distribuição é um sistema operacional diferente, independente de ser derivada de alguma ou não. Se estou usando o Ubuntu, então estou usando o sistema operacional Ubuntu que, como outros tantos sistemas operacionais, usa o kernel Linux e as ferramentas GNU, além de uma gama de aplicações desenvolvidas por terceiros.

Verdade seja dita, não uso o Ubuntu, pois este sistema operacional não me atende, como o Windows também não me atende por completo e outros. Atualmente estou usando o Mandriva, que até o momento tem se mostrado satisfatório, mas ainda não me convenceu por completo. Antes usava o Slackware, passei neste período pelo GoblinX, mas mesmo todos eles usando um kernel do Linux, ter o KDE, ter o Firefox e outras aplicações, cada um funciona de forma diferenciada, cada um deles tem suas ferramentas padrão, cada um deles utiliza um conjunto de aplicações em seus repositórios, então eu, como usuário, tenho de ver quais destes conjuntos pode me atender melhor ou não, chegando a uma ou mais distribuições vou testar e ver realmente quais deles podem ser consideradas satisfatórias, ai sim, parto para a escolha definitiva.

Ai vem alguem é diz:
“Mas no mundo de TI não é assim, tem de ser padronizado, senão não vão querer!”

Deixem eu pensar um pouco, se não me falha a memoria, no mundo do TI se trabalha com homologação, se determinada solução for homologada vai ser usada, caso contrario pode até dar zebra, como em alguns casos onde funcionários terceirizados entram na empresa com seus notebooks e neles tem algum software não homologado, nesta hora toca um alarme no sistema e pode até mesmo detonar a instalação do cara, assim que ele pluga seu note a rede da empresa.

Neste mundo também há a necessidade de se um contrato com o fornecedor, então geralmente se busca um empresa especializada para oferecer a solução, então, quando o responsável pensa em colocar alguma distribuição Linux a frente do seu parque de informática ele vai pesquisar, vai contactar os principais players, ele vai conversar com IBM, Red Hat, Canonical, Novell, Microsoft e outras, ai sim vai decidir o que vai usar. Depois de decidido e colocadas suas necessidades, vão oferecer um conjunto que atenda as demandas, mas um conjunto completo, a empresa contratante não vai rodar céus e terras em busca de pacotes, atualizações e tudo, o vencedor vai oferecer tudo a ele, do contrario, qualquer que seja a escolha da empresa, vai ser dar mal, muito mal por sinal. Vai acabar gastando toda a verba e o perigo do responsável perder o emprego é bem grande.

Tem também outra desculpa muito usada para a criação da distribuição única, seria para facilitar o desenvolvimento de drives e aplicativos em geral, seja pelos fabricantes de hardware, seja pelas grandes softhouses. A alegação é que, com apenas uma só distribuição ficaria mais fácil.

Não vou negar que ficaria mais fácil, contudo este não é um impeditivo válido, pois, aqueles que querem, fazem seus drives, sejam os livres ou fechados, temos também os softwares multiplataforma, então realmente não vejo nenhum obstaculo para eles. Pode ser que sairia mais barato para eles, mas acho que o principal motivo para não haver esta produção hoje é um só, falta de interesse por parte deles.

As empresas, neste caso, não vêem o dinheiro próximo, pelo contrario, muitos fariam questão de boicotar, fazer campanha contra e tudo mais, então eles deixam como está, ganham no volume no plataforma Windows, mesmo com toda a pirataria presente ou então ganha uma grana dos usuários da plataforma Mac, que não se importam em pagar mais caro pelo produto que gostam e querem.

É bem verdade que ai acaba criando um circulo vicioso, ainda mais quando falamos de aplicações voltadas para usuários desktop e gamers, eles não migram para Linux por não ter a sua aplicação preferida nesta plataforma, já o produtor não lança pois sabe que seu cliente não usa esta plataforma. Contudo não vejo como isso pode ser usado como desculpa para a dita padronização.

Bem, para finalizar, cabe lembrar que quando falamos de Linux estamos falando tanto de Software Livre como de Código Aberto, em ambos os casos temos um panorama próprio a mutações, a transformações, a liberdade do código propicia que alguem insatisfeito faça o seu com base no que já existe, este por sua vez pode atender a outros, ai temos um novo grupo criado, que pode chamar mais e mais desenvolvedores e usuários, assim fica praticamente impossível para qualquer um, no formato atual, impor um padrão único e obrigatório a todos.

Também é bom lembrar que a LSB não é algo estático, está em constante revisão e atualização, em uma nova versão estão para criar uma API que facilitaria para todos seguir as normas proposta por ela sem ferir as liberdades dos desenvolvedores, então é questão de esperar e acompanhar.

Está é minha opinião, e você? Que pensa disso?

Gostou? Indique aos amigos ou adicione aos agregadores:

Indicar artigo a um amigo Adicionar ao Rec6 Adicionar aos Bookmarks do Blogblogs Adicionar ao Google Adicionar ao Digg Adicionar ao Linkk Adicionar ao del.icio.us Adicionar ao Dihitt Adicionar ao Ueba Adicionar ao Digago Adicionar ao Linkto Adicionar ao WebSapiens Adicionar ao Technorati

11 Comentários para “Padronizar é preciso? Acho que não”

  1. Não sou muito conhecedor, mas o que parece ser o maior culpado é o fato de os programas em sua grande maioria serem compilados para usarem bibliotecas compartilhadas (de praticamente tudo – libc, lib_isso, lib_aquilo). E aí vem o drama: nas diferentes distribuições estas bibliotecas quase sempre não são compatíveis! Se eu criei um binário usando a libc do Fedora, não existe garantia que rode com a libc do Mandriva, por exemplo.

    Então se você quiser criar um binário universal, terá que embutir a biblioteca no próprio programas, o que deixa-o maior. além do desempenho que é prejudicado. Imagine tudo que é programa para Linux usando bibliotecas embutidas… cada instância de um que use a mesma biblioteca teria-a carregada, aumentando o consumo de memória significativamente.

    LSB deveria tratar disso, da problemática das bibliotecas compartilhadas. O grande trunfo do Windows é esse. As bibliotecas do sistema são únicas (poucas, é verdade) e amplamente compatíveis, até mesmo com programas escritos para versões muito anteriores.

  2. Corrigindo o que disse acima.

    “cada instância de um que use a mesma biblioteca teria-a carregada, aumentando o consumo de memória significativamente.”

    Na verdade CADA APLICATIVO que usasse a mesma biblioteca manteria ‘a sua’ em memória. Isto é o que eu consegui entender da coisa. Uma opinião mais abalizada seria de grande valia.

  3. A questão dos pacotes serem .deb – .rpm ou .tgz não me incomoda
    muito. O que etá ficando chato por exemplo, é que um .deb já
    está ficando incompatível entre as distros derivadas do Debian.
    .rpm a mesma coisa.

    Outra coisa são os arquivos de configurações ficarem em
    muitos lugares difrentes. No entanto a estritura do SO Linux
    é assim então, tudo bem.

    Padronizar, não!

    Quanto à questão da facilidade de uso, caminho que muitas
    distros estão caminhando, eu concordo…é o progresso.

    Atualizações automáticas, front ends gráficos, evitar o uso
    de linha de comando não no todo, mas aliviar a carga do
    usuário que não quer ser geek (como eu) é aceitável.

    Um caminho saudável é escolher uma, duas, três (sei lá)
    distros o qual tenha se adaptado melhor, mesmo que
    por ventura sejam diferentes entre si ( deb. .rpm) penso
    que seja a maneira mais viável.

    Eu corro o risco de passar por atipático ou outras coisas,
    porque eu não concordo com excessivo número de
    distros Linux. Filosoficamente não se pode tolher ou
    policiar o direito do próximo de querer criar ou desnvolver
    distribruições Linux ou qualquer tipo de projeto.

    Eu também tenho que considerar e aceitar críticas e não
    responde-las a respeito dessa minha opinião.

    Umas vinte distros Linux bem selecionadas seria o ideal.

    Seria creio, uma vantagem para os novos usuários que
    querem usar o Linux e para os usuários que já aderiram
    O Linux como SO.,(mesmo muitas vezes em dual boot
    com o Windows).

    Li todos os comentários no br-linux através deste link aqui e,
    confesso que cada vez que este assunto vem à pauta, cada
    vez mais confuso eu fico..

    Então, nada de padronização e nada também que uma tal
    distro seja ela qualquer seja um parâmetro para ser adotada
    como standard. Não!

    Abraços

  4. Marcos Roberto em 9 maio , 2008 as 10:00

    Eu sinceramente acho que o maior problema do Linux são bibliotecas, por exemplo eu estou sem internet em casa então não posso usar linux, pois tudo que eu queira instalar vai ter que baixar 300 pacotes. Nesse ponto o Windows ganha e muito. Outro problema é a falta de uma API padrão como o DirectX da MS.
    Isso ainda ajudaria muito na popularidade do linux, pois se as empresas de jogos começarem a fazer jogos pra linux (se a API fosse GPL, não precisariam pagar pelo uso, coisa que não acontece com o DX), e uma das desculpas que mais vejo é que não há jogos pro mesmo, mesmo com o wine,cedega da vida, o usuário quer facilidade, só clicar em instalar e pronto.

    A pior parte mesmo é o X e sua libs, acho que seria muito melhor se houvesse um layer no kernel que manipulasse isso, como iria ser API do kernel não precisaria baixar xsane, xmesa, x…

    A estrutura de como os programas são instalados deveria ser mudada, uma pasta para cada programa, como windows, ja a estrutura de configuração do sistema eu acho ótima.

    Sobre os pacotes, bom não importa muito, mas se os softwares viessem com um instalador universal seria muito bom também, bem a cara de Instal Shield xD

    Bom acho que é isso, enquanto o linux não acabar com a depêndencia da internet, acho que não vai conseguir dominar desktops nunca.

    Abraço.

  5. @Marcos:
    “estou sem internet em casa então não posso usar linux, pois tudo que eu queira instalar vai ter que baixar 300 pacotes”

    É por isso que uso distribuições grandes, que venham em vários cd’s ou dvd, com elas, este problema praticamente não existe, afinal estão todos lá. O problema neste caso é a forma de distribuir que as distribuições estão adotando, 1 cd não cabe muita coisa, geralmente não atende todas as expectativas do usuário, ai complica, tem de baixar td. Eu instalei o mandriva inteiro sem net aqui, só depois que voltou que fiz a atualização, já até com meu modem discado pronto para uso. (tinha baixado o drive em si antes :p)

    API para jogos que seja GPL, hummm, deixa eu ver, acho que já tem isso, me fugiu o nome da cabeça agora ( me desculpe to me arrumando para ir trabalhar, depois pego o nome certo), mas é a mesma usada para fazer jogos inclusive para consoles, dá uma pesquisada ai.

    @Beco:
    “LSB deveria tratar disso, da problemática das bibliotecas compartilhadas”

    Pelo que li na LSB estão trabalhando numa API que vai abordar este aspecto, pelo menos foi que entendi, alguem que seja fluente em inglês pode confirmar ou desmentir.

    @Roberto:

    Isso dos pacotes de distros derivadas ser incompatível realmente é dose, mas só quando vc não tem como saber se é de uma ou de outra distro. Geralmente pacotes oficiais tem o nome da distro e a versão, mas os feitos por terceiros não, ai “zoa” o barraco, baixei um RPM pro mandriva esses dias (o siefs) que levei uma vida para descobrir que não funcionava pq era feita para uma derivada do Fedora (usando o checkinstall ainda por cima), não funcionou.

  6. Marcos Roberto em 9 maio , 2008 as 10:36

    @MaxRaven

    É, mas mesmo assim, eu uso um ou outro programa, geralmente instalo adornos xD e alguma lib pra programar, mas o problema são essas libs, lembro que quando fui instalar a SDL e Allegro tive que trocar quase todas as bibliotecas do X.

  7. Eu acho que é preciso padronizar sim! O problema é que esta grande variação de modos de empacotamento, configuração/compilação/localização/compatibilidade de bibliotecas, complica tudo. Já imaginou você baixar um pacote universal que você terá certeza que funcionará sem qualquer distribuição “LSB x.xx compatible”?

    É uma idéia na qual eu acredito. (pode demorar, mas tomara que aconteça)

    E isso não desmerece em nada o software livre. Às vezes quando o pessoal fala em padronização para Linux alguns xiitas de cara dizem “vendilhões!! querem imitar o windows, querem acabar com a GLP” e mais algumas bobagens. Este negócio é seríssimo, a tão falada padronização pode ser o que falta para o grande passo que todos esperam do Linux nos desktops.

  8. Um dia a padronização virá,mas não acho que isso será fator determinante para o crescimento de linux em desktops,o crescimento virá por causa de outros fatores,entre esses fatores está a diminuição da hegemonia do windows,(soa estranho pra gente que usa linux,mas tem muita gente boa por aí,que há anos usa um computador,porém, desconhece totalmente a existência de outros sistemas operacionais),é justamente ao contrário,por causa do crescimento do uso,é que poderá vir a acontecer a tão falada padronização,mas antes disso,muita discurssão vai rolar,esse negócio não vai ser decidido tão fácil assim não,mesmo que esse dia chegue,nada impedirá que projetos comunitários simplesmente ignore aquilo que for determinado como padrão,afinal de contas,trata-se de software livre,quanto ao que foi comentado aqui sobre a dependência do linux à internet,é bom lembrar que hoje em dia todo sistema operacional é dependente de internet,pra quem usa windows,a atualização do anti vírus é essencial e não dá pra fazer isso sem internet.

  9. Uma coisa que tem de ficar clara é que:
    Padronização é diferente de Unificação.

    Infelizmente muita gente confunde isso, não sou contra padrões, mas sou totalmente contra impor isso ou aquilo a qualquer custo e muito mais ainda contra a dita unificação, pregada por mais gente do que imaginam, hj mesmo, lá no Br-Linux tem outra noticia, nela um cara da Oracle prega que exista 1 só, o Red Hat.

  10. Era uma vez, um pequena história de ficção em poucas linhas…

    Atemporal…

    O SO LINUX foi padrozido. Como foi? Bem isso não cabe nesta
    história…apenas foi,,,

    Surgiu uma brutal e até desleal concorrência entre as
    Distros Linux.

    Fizeram um filme … Guerra das Distros Linux Nas Estrelas.

    A quase totalidade das distros sucumburam ( não tinham
    capital para investimentos) e apenas uma, duas, três, para
    os números não ficarem mais reduzidos ainda, prevaleceram…

    Hoje são Empresas…atém grandes empresas…quem sabe
    houve como já houve, asssociações com outras empresas
    proprietárias.

    Já estamos comprando distros Linux profissionais ou recebendo
    de graça uma versão pequena e pobre para nossos desktops.

    Já pagamos suporte, já nos associamos a clubes do oba-lá-lá…

    A mandriva mudou as regras de conduta porque seria literal
    e fatalmente engulida.

    Muitos códigos fonte começaram a fechar misteriosamente…
    Guerras na justiça em realção a isso e os processos eram
    lentos e não se resolviam em menos de dez anos. Aí vinham
    os recursos e os processos contiavam abertos…

    Costumava-se dizer que usar Linux, era ser livre…

    A vida imita a arte
    A arte imita a vida

    A ficção imita a realidade
    A realidade imita a ficção

    Era uma vez…uma história ingênua e despretenciosa…

    Ninguém sabia se tinha nexo ou se era apenas uma vez…

  11. Erro

    SO Linxux foi PADRONIZADO

    Desculpas…