Tudo Sobre Nada

Open-source, apenas para infraestrutura?

Acho que já aqui casquei o suficiente nos detalhes do desktop Linux, portanto desta vez vou tentar pegar nisto por outra ponta...

Com o passar do tempo vou-me convencendo cada vez mais de que a comunidade open-source só consegue atingir patamares elevados de qualidade quando se trata de software estrutural (ou estruturante, conforme queiram). Quando se trata de software final (i.e. aquele que o utilizador comum vai usar directamente, as is) o cenário muda totalmente de figura.

O Apache, o PostgreSQL, o kernel Linux, entre tantos outros, têm uma qualidade reconhecida, e em muitos aspectos são mesmo la crème de la crème, mas ninguém diz que o Gnome ou o KDE são do melhor que há. Quando muito, dizem que dá para fazer tudo o que interessa, que já estão melhores do que antigamente, ou que não são piores do que o Windows - algo que não transmite absolutamente nenhuma confiança.

Julgo que cada um de vocês terá uma opinião acerca disto: uns poderão demonstrar por a + b que é totalmente falso, outros dirão que é um defeito inerente ao modelo open-source, etc, etc. Eu digo apenas que é um problema da forma como a comunidade é constituida actualmente...

Hoje em dia a comunidade open-source (activa) é composta na sua esmagadora maioria por programadores hard-core, daqueles que gostam mesmo do lado "engenharia" da coisa, quer sejam já experientes ou ainda "aprendizes".
Apesar deste tipo de pessoas ter normalmente uma grande capacidade criativa quando se trata de encontrar soluções para problemas, também raramente têm algum sentido estético ou do que significa a palavra "usabilidade". Isto falando apenas daqueles que se propôem tentar fazer algo que exige sentido estético e sensibilidade para a questão da usabilidade, já que a maioria acaba por fugir deste tipo de projectos (não por reconhecerem as suas limitações, mas por falta de interesse).

O elemento comum da comunidade open-source é capaz de desenvolver uma excelente linguagem/plataforma, um excelente toolkit, ou um excelente application server, mas não uma excelente aplicação baseada nestes três componentes.

Portanto, a maioria dos elementos activos na comunidade parecem-me ser tipos que só jogam em casa quando se trata de desenvolver software que permite a terceiros desenvolver soluções interessantes. É uma espécie de comunidade dos bastidores.

O Linux (no global, não apenas o kernel) é bem representativo disto: tem razões de peso para ser uma boa escolha no servidor e nos sistemas embebidos, e tem um enorme potencial como base para appliances de rede ou ao nível do consumidor (todos aqueles sistemas embebidos que têm uma interface gráfica não trivial). Algo como um kiosk ou máquina multibanco poderia bem ser baseada em Linux, sem perda de qualidade em comparação com qualquer outra solução.

Esta tendência da comunidade para ser enabler de soluções, mais do que fornecedora, é o que tem atraído a participação de um grande número de empresas, que se juntam à comunidade pagando a programadores ou financiando projectos.
No fundo, isto acontece porque estas empresas que assim participam não vêem a comunidade open-source como um concorrente, mas como um fornecedor de componentes.

É por isto tudo que eu digo que a comunidade open-source tem capacidade para conquistar o mundo, mas não no desktop.

Pessoalmente (já) não considero isto um problema. A minha visão dos objectivos essenciais do movimento open-source (no geral) abarca principalmente as questões da interoperabilidade e da partilha de conhecimentos, que não são em nada ameaçadas por esta situação, talvez até o contrário.
 

6 Comentário(s)

  • Aqui até sou capaz de concordar contigo.

    Victor

    Por Anonymous Anónimo, em 02 Junho, 2005 23:27  

  • Olá Carlos,

    eu não sou muito dado a comentar estas questões mais ou menos complicadas, mas hoje enquanto lia o teu post no autocarro, não pude deixar de ficar um pouco surpreendido com algumas das opiniões que escreveste.

    Se bem que posso concordar contigo que a comunidade open source é mais facilitadora do que uma operadora no mercado das aplicações/sistemas operativos, a verdade também é que todo o movimento open source surge em volta de aplicações e não soluções completas.

    A adopção por parte de um número alargado de utilizadores não está dependente muitas vezes da ferramenta ser boa ou não, de o sistema ser estável ou não, infelizmente está normalmente mais dependente de factores externos, sejam eles de marketing (imagem, divulgação, etc.) ou factores sociais (ter um amigo, ou alguém que nos possa ajudar e arranjar umas coisitas), que são factores estruturantes no mercado das aplicações informáticas, basta olhar para a história dos sistemas aplicativos ou para a solução de office que hoje em dia é dominante! Foi assim que cresceu, não necessáriamente porque era melhor ou pior do que outras soluções existentes.

    Outra afirmação com a qual posso discordar é quando escreves que "o elemento comum da comunidade(...) é capaz de desenvolver uma excelente linguagem/plataforma, um excelente toolkit, (...), mas não uma excelente aplicação que baseada nestes três componentes", acerca disto tenho uma pergunta simples para ti: Quantos projectos opensource conheces feitos por UM elemento? São raros? não? Normalmente tens um tipo que foi o mentor, mas quando o projecto toma o rumo de open-source dificilmente se manterá assim, passando a tratar-se de um conjunto de contributoes de diferentes intervenientes, certo?

    Ora, como utilizador de Mac ou Linux, posso garantir-te que tenho n aplicações de sucesso com excelentes GUI's e que são simultaneamente exemplos de boas práticas de desenvolvimento como de usabilidade.

    Mais uma nota: Sentido estético é Senso Comum, e isso não tem solução à vista, eu pelo menos desconheço!

    Bem, mas apesar desta opinião podes continuar a escrever à bruta sobre isso, é sempre da discussão que vem a concórdia! hehe.

    abraço

    -

    Por Blogger PeCus, em 03 Junho, 2005 11:49  

  • É verdade que muitas vezes o produto mais popular não é necessariamente o melhor, mas eu estava apenas a fazer considerações em termos de qualidade.

    O movimento open-source não tem, e dificilmente terá, uma máquina de marketing tão pujante quanto a da Microsoft (por exemplo), portanto a sua "única" arma é a qualidade do software.

    O baixo custo e a elevada qualidade podem compensar a falta de marketing organizado, mas têm de andar juntos. Ter baixo custo só facilita a entrada, porque depois o que interessa é a qualidade. Caso contrário os utilizadores não terão grandes problemas em voltar às soluções proprietárias.

    É esta combinação que tem feito progredir projectos como o Linux e o Apache, e não o marketing.

    Quanto ao "elemento comum da comunidade", eu não estava a falar de projectos desenvolvidos por apenas uma pessoa. Eu estava a falar das capacidades individuais de cada um, que contribuem para as capacidades acumuladas num determinado projecto.

    O que eu digo é que são raros aqueles que têm a sensibilidade necessária para produzir software agradável para o utilizador final.

    Com o avançar do open-source, acredito que essas pessoas tenderão a aparecer mais e mais na comunidade, mas durante ainda muito tempo o panorama actual não irá mudar significativamente.

    Ora, como utilizador de Mac ou Linux, posso garantir-te que tenho n aplicações de sucesso com excelentes GUI's e que são simultaneamente exemplos de boas práticas de desenvolvimento como de usabilidade.

    Será nas plataformas que impõem um determinado estilo que as pessoas com jeito para desenvolver interfaces agradáveis tenderão a aparecer primeiro e onde estas serão mais fáceis de alcançar.

    O MacOS X é um excelente exemplo, porque basta começar por seguir o exemplo dos programas já existentes.

    Em Linux já não acredito nisso. Existem muitas aplicações que fazem o seu trabalho como deve ser, mas as que realmente são elegantes e bem desenhadas graficamente (infelizmente) são as excepções e não a regra.

    O sentido estético não é apenas senso comum, também se aprende. Porque muitas vezes não se trata de saber ou não que algo não é lá muito bonito, é tentar fazer algo para melhorar isso.

    Quando vejo aplicações com widgets desarranjados, mal alinhados, com espaçamentos aleatórios (tudo factores que dão um mau aspecto desgraçado e sensação de desleixo) não acredito que os autores não dêem conta disso, apenas não querem saber e acham que apenas interessa a funcionalidade.
    O problema é que a qualidade mede-se globalmente, e uma aplicação gráfica que funcione bem mas tenha mau aspecto, tem pouca qualidade. E acredita que os utilizadores comuns são extremamente críticos nisso.

    Dou-te o meu exemplo clássico do Gaim: aquilo funciona bem, mas é das aplicações mais mal organizadas que eu já vi. São tantos os problemas que quase devia ser considerado criminoso. No entanto, é das melhores aplicações de IM para Linux.
    Mas... quando uso o Gaim a minha sensação nunca é de estar a usar uma aplicação que funciona bem, é mais uma espécie de sacrifício porque as outras são todas piores (interfaces pouco melhores e funcionalidades incompletas). Se há coisa que mais mancha o open-source na cabeça dos utilizadores é isto. E quando esta ideia se torna corrente, é difícil voltar atrás.

    Só para finalizar...

    Não sei, se calhar parece que estou a falar "à bruta", mas não é bem assim. Eu não estou a pedir para concordarem comigo, estou apenas a expressar a minha opinião nesta altura. Opinião essa que pode vir a mudar, tanto com input de opiniões diferentes da minha ou se eu notar que as coisas estão a começar a mudar (e isto é fundamental, porque o meu cepticismo vem todo daqui: eu não vejo as coisas a mudar).

    Por Blogger Carlos Rodrigues, em 03 Junho, 2005 15:23  

  • Finalmente que abriste um bocado os olhos (mas nao completamente) - e' pena que ja' te tenha dito isso 'a muito tempo.

    Resistance is futile...

    --Nuno.

    Por Blogger Nuno, em 04 Junho, 2005 22:34  

  • Open-source however, does not adapt well to software with "fuzzy" or ever changing requirements (the higher tiers of the IT landscape), this is where proprietary software usually comes into play since it is the type of software with higher production costs and requiring a centralised model to develop, as opposed to open-sources' naturally distributed development model.

    Nesse artigo o que tu dizes é que o próprio modelo de desenvolvimento open-source não se adequa ao desenvolvimento de aplicações de mais alto nível, enquanto eu não digo isso.

    Eu digo que o modelo open-source permite perfeitamente o desenvolvimento de aplicações "finais", mas as pessoas que actualmente constituem a comunidade não têm interesse nem (geralmente) talento para desenvolver uma determinada componente dessas aplicações finais, a parte que exige interacção directa com utilizadores não-técnicos.

    Isto não é bem a mesma coisa, porque tu dizes (segundo eu o entendo) que o modelo open-source só consegue produzir "Apaches" e "Linuxes", enquanto eu digo que também consegue produzir software que "faz" tudo excepto definir de origem uma interface com o utilizador (não me ocorre agora um exemplo melhor do que um CMS, onde a parte da interacção com utilizador comum não fica nas mãos de quem desenvolve o software original).

    No entanto, posso concordar contigo quando se trata de software feito à medida e muito business-oriented. Normalmente este tipo de coisas aborrece de morte quem tem uma inclinação muito técnica.

    Isto não quer dizer que não possa/deva ser open-source, mas é algo que só pode ser avaliado caso-a-caso (e eu nunca fui um fundamentalista do open-source everywhere).
    Além disso, projectos destes num modelo open-source tenderiam para comunidades muito diferentes, onde os elementos voluntários seriam extremamente raros.

    Por Blogger Carlos Rodrigues, em 05 Junho, 2005 01:11  

  • [...]enquanto eu digo que também consegue produzir software que "faz" tudo excepto definir de origem uma interface com o utilizador[...]

    Ok, deixa-me refrasear isto:

    [...]enquanto eu digo que, com as pessoas que actualmente constituem a maioria da comunidade, também consegue produzir software que "faz" tudo excepto definir de origem uma interface com o utilizador[...]

    Por Blogger Carlos Rodrigues, em 05 Junho, 2005 01:21