Posts Tagged “FLOSS”

Atualizado: além de inúmeros erros de ortografia (estava usando uma máquina sem corretor ortográfico…) adicionei uma parte sobre a meritocracia, que julgo ser importante.

No ano passado ocorreu algo inusitado durante o PGCon Brasil 2007. Um dos palestrantes sumiu do mapa de repente e ficamos com um furo na grade do evento. Então, eis que o Sr. Diogo Biazus em tempo recorde prepara uma palestra intitulada “PostgreSQL Br - Manual de Uso“. A palestra foi um grande sucesso e abordou um assunto que me incomoda há tempos: como participar de comunidades de SL. Infelizmente os slides da palestra do Diogo não revelam a riqueza da palestra. É claro que em alguns minutos de preparação não seria possível fazer melhor, mas o fato é que eu gostaria de compartilhar um pouco do assunto com as pessoas que não estiveram no evento e combinar isso com a minha experiência pessoal.

<devaneio>
Este post começou com uma provocação de um grande colega, o mestre fike. Eu dizia no IRC que me sentia frustrado por ter encampado uma campanha desastrosa para numa ação específica da comunidade de PostgreSQL-BR. Aí veio a provocação: “E o que você aprendeu com isso?”. Eu tinha a resposta na ponta da língua. Na verdade eu ainda estou com as sábias palavras do Sr. Diogo Biazus ecoando na mente. Mas como diria o Beto Guedes: “A lição sabemos de cor, só nos falta aprender…”. E eu devo dizer que eu sou cabeça dura… então cá estou eu escrevendo novamente. Acredito que aprendo muito quando escrevo, já é uma prática antiga minha. Acho que todos deveriam escrever o que pensam. Ao escrever, (com suas próprias palavras, não copiando), compilamos uma série de idéias em algo que deve fazer sentido para quem lê. Ainda tenho muito o que aprender… acho que o dia em que eu conseguir traduzir o que penso com poucas e simples palavras, serei uma pessoa mais sabida. Menos é mais… sei disso, só não sei como fazer ainda. Quem sabe na minha próxima palestra no FISL não consigo diminuir o número de slides… falar menos e ensinar mais?
</devaneio>

Motivos para participar de uma comunidade de SL

A primeira coisa que aprendi é que existem vários motivos que levam as pessoas participar de uma comunidade. O que nem sempre é óbvio é que nem todos estão lá pelo mesmo motivo que você. Mais que isso, nem sempre você mesmo tem clareza dos seus motivos. Você pode entrar com um propósito, continuar por outros e sair por algo completamente alheio a tudo isso.

  1. Você quer aprender mais sobre a tecnologia X: este é o motivo que leva a maioria das pessoas a participar de uma comunidade. Veja que este não pode ser o único objetivo de todos, afinal, se todos quiserem apenas aprender, não haveria ninguém para ensinar. Mas a sede de conhecimento é algo que também tem as suas nuâncias. Há pessoas que querem aprender sobre determinada tecnologia por acreditarem que ela seja interessante por N motivos, há aqueles que são curiosos, há quem o faça por obrigação. Mais que isso, as pessoas estão acostumadas a aprender de formas diferentes. O conhecimento não é algo linear, não está contido em um livro ou em uma pessoa, ele existe e se recria a partir das relações humanas. Tarzan jamais aprenderia a falar, ler e escrever com livros numa ilha deserta. A relação entre os seres humanos é fundamental neste processo. Portanto as comunidades são espaços privilegiados para o aprendizado, pois é um ponto de encontro de pessoas dispostas a discutir sobre um assunto específico.
  2. Você quer conhecer gente que gosta da tecnologia X: fazer amizades com pessoas com interesses semelhantes é um bom motivo para se entrar numa comunidade. Isto pode significar querer aprender mais sobre a tecnologia X, mas pode significar encontrar pessoas com as quais você gostaria de tomar cerveja, conversar no IRC de madrugada ou filosofar a ermo por aí. Nerds, Geeks, Hackers, seja como se denomina ou se intitulam estas pessoas, elas gostam de se encontrar e se organizar em grupos, não apenas para aprender, mas para conviver. Este é um lado muito importante das comunidades que algumas vezes são subestimadas: a diversão. Algumas pessoas são atraídas pelo simples fato de ser divertido, pelo ponto de encontro privilegiado da comunidade.
  3. A vaidade, é um motivo muito comum. Você quer ser reconhecidas pelo seu talento, seu conhecimento, sua capacidade e seus feitos. Apesar da vaidade ser vista como um pecado, com um pouco de bom senso ela não chega a ser um problema e pode ser canalizada para uma grande virtude. O mundo perderia muito se os grandes gênios não compartilhassem com o mundo as suas grandes invenções. O fato é que a vaidade existe as comunidades convivem com ela o tempo todo. Há de se entender que um falso modesto pode ter uma presença parasitária enquanto um vaidoso sincero pode ser uma grande dádiva se alimentado corretamente. Por fim, lhes digo, o fato de montar um blog e exibi-lo ao mundo não tem uma ponta de vaidade?
  4. Você quer se projetar profissionalmente. Assim como o aprendizado é irmão da amizade e da diversão, a vaidade é quase que gêmea da ambição. Você quer melhorar de vida ou não? O segredo do sucesso profissional não está apenas no conhecimento ou na sua capacidade técnica, está também no seu networking. Não adianta ser puritano e achar que você não pensa em ter sucesso profissional. Uma boa comunidade sempre foi um espaço de livre trânsito entre profissionais de uma área específica. Ser conhecido entre os profissionais mais destacados de uma comunidade poder ser uma boa porta para novas oportunidades. De fato, quando alguém precisa de um profissional com um perfil específico, para um trabalho importante, buscar uma indicação de alguém de destaque da comunidade é um caminho seguro. Os profissionais chaves, assim como executivos, não são encontrados em classificados ou empresas de consultorias, são encontrados por indicação. Você nunca será indicado para uma posição assim se não for conhecido.
  5. Você quer ser altruísta e ajudar as pessoas de alguma forma. O Software Livre tem este chamariz que trás paz de espírito a pessoas de bom coração. Particularmente, este é um dos motivos mais citados ao se participar de uma comunidade e um dos menos realizados. Sejamos francos… numa lista de discussão de milhares de pessoas, quantos realmente ajudam com alguma coisa? Há no plano corporativo uma relação de “ganha-ganha”, que faz com que grandes empresas contribuam com algumas comunidades. Este tipo de investimento costuma ter retorno em termos de marketing interno e externo e também retorno em termos de redução de custos. Portanto, não podemos ignorar o fato de que o altruísmo tenha suas compensações. Mas de fato, ajudar pode ser gratificante, ainda mais se ele vier acompanhado com novas amizades e compartilhamento de conhecimento. É um trio realmente imbatível no plano do indivíduo.
  6. Você é um evangelizador e quer mudar o mundo. Isto é muito parecido com o altruísmo, mas tem diferenças notáveis. Os evangelizadores não querem apenas ajudar, eles querem mudar o mundo. O apelo do SL para este tipo de pessoa é muito comum. Discussões sobre patentes, licenças e coisas do gênero tem vazão plena entre os evangelizadores. Muitos acham os evangelizadores chatos, mas eles são importantes, pois são o contrapeso da comunidade. O evangelizador, se não se desgastar numa verborragia sem eco podem propor mudanças de qualidade significativas para a comunidade, podem humaniza-la. Sim, não se espantem, os chatos podem ser parte importante da humanidade.

Problemas comuns encontrados nas comunidades de SL

As pessoas estão no meio deste caldeirão fervilhante da comunidade. Muitas coisas bacanas e ruins acontecem neste meio. Cada vontade pode ter seu lado positivo e negativo, dependendo da sua dose, forma e momento histórico em que a comunidade se encontra. A fusão de forma e conteúdo é tão importante nas comunidades que deveriam haver estátuas erguidas em torno desta idéia. Você não pode ser vazio de conteúdo, você deve ter algo a dizer ou então se calar. Mais do mesmo não traz nada de interessante, assim trazer alguma informação nova é importante. Mas tão importante quanto a mensagem é como ela chega aos seus receptores. O mesmo conteúdo, quando lapidado em sua forma se traduz num recepção completamente distinta. Cada comunidade possui a sua própria etiqueta, suas regras e códigos de conduta. Estas regras nem sempre são uma camisa de força, podem até ser modificadas, mas devem ser seguidas.

Mesmo com forma e conteúdo em harmonia, exitem alguns problemas intrínsecos aos motivos que o levam a querer participar da comunidade:

  • Todos querem que você aprenda, mas você deve se esforçar um pouco para isso. Aprender exige esforço e disciplina. Se você não leu a documentação pertinente e não fez no mínimo uma busca no Google, então você não se esforçou. Não espere que as pessoas lhe ajudem sempre se você não dá valor ao esforço dos demais.
  • Pode acontecer de ninguém saber como lhe ajudar, ou não ter tempo para lhe ajudar no momento em que você precisou. Você não tem em absoluto o menor direito de reclamar se isso lhe acontecer. Mas se acontecer, pense antes de mais nada se você foi claro na sua mensagem, se se comunicou da FORMA adequada. Saber perguntar é uma arte. Formular uma pergunta é algo mais complexo do que parece. Paulo Freire dizia que “uma boa pergunta vale mais da metade da resposta”. Vale a pena ler o texto de Eric Raimond “How To Ask Questions The Smart Way“, ou sua versão traduzida.
  • O fato de você ter amigos na comunidade, não significa que você possa abrir mão de um mínimo de formalismo na comunicação. Quando você estiver apenas entre amigos, você pode relaxar, caso contrário, as regras da comunidade devem ser respeitadas. Utilizar a gramática minimamente correta, evitar gírias e muito respeito a todos é o mínimo que se espera. Cuidado com as brincadeiras, algumas pessoas certamente interpretarão você de forma equivocada. Em resumo, embora a descontração seja muitas vezes desejada, nem todos estão lá para brincar, muitos levam as coisas mais a sério.
  • A humildade costuma estar presente entre os grandes desenvolvedores. Mas os entusiastas muitas vezes se empolgam. Não banque o dono da verdade. Se deseja criticar um ponto de vista, o faça de forma fundamentada e com muito respeito. Jamais se autodenomine hacker, mestre jedi ou qualquer outro título honorífico. Se os outros o fizerem, muito bom, mas nunca se auto glorifique. Campanhas de autopromoção então, nem pensar. Mesmo que você consiga disfarçar, alguém vai descobrir e você será abominado.
  • Todos querem crescer profissionalmente, não apenas você. Não queira vender nada para ninguém, nem você mesmo. Você nunca será respeitado na comunidade se o fizer. Você pode divulgar seu currículo, produtos e serviços no seu blog pessoal, mas nunca em meio a comunidade, a não ser que você decida por exemplo patrocinar a comunidade. Banners em sites, quotas em eventos e outras formas de doações são válidos, mas é só.
  • Se você quer ajudar, o faça de forma competente. Ensinar por exemplo, exige um mínimo de preocupação com a didática, com forma e conteúdo. O seu receptor pode não estar entendendo patavinas daquilo que você quer explicar. Já que está ajudando alguém, o faça da melhor forma possível. Isto não significa que você tenha que dar tudo mastigado na boca, mas que sua mensagem tem de ser clara e elucidativa. Pode ser um link para um artigo ou um capítulo da documentação, mas tem de ser acompanhado de um pequeno comentário explicando o que esperar daquele link. É comum acompanhar longas conversas sem pé nem cabeça que poderiam ser resolvidas com uma pequena explicação um pouco mais clara.
  • Software Livre não é time de futebol. Se você gosta de determinada tecnologia, você não deve querer empurra-la em detrimento de outras. Você pode comparar, mostrar situações onde ela leva vantagens e desvantagens, mas não deve desmerecer as outras. Uma coisa é dizer que a tecnologia X é melhor e Y não presta. Outra coisa é dizer que num cenário A, a tecnologia X lhe atende com N vantagens. Veja, a forma é tudo. Se você simplesmente gritar que X é melhor que tudo, você não estará contribuindo com o ouvinte e ainda estará denegrindo a imagem da tecnologia X que terá fama de time de futebol.
  • Ajude com o que você pode. Se você não tem pique para dar conta de uma determinada tarefa, não se proponha a ela. As pessoas passarão a contar com você e se você não der conta, a comunidade será prejudicada se você não der conta do trabalho. Há um ditado para isso: “Prometa pouco, faça muito e você será lembrado. Prometa muito, não cumpra e você será esquecido… ou pior, será lembrado!”
  • A comunidade é como uma pessoa que nasce cresce, se multiplica, envelhece e morre. Você tem de saber avaliar o momento das coisas acontecerem. Por mais que você tenha uma visão além da comunidade, ela andará conforme o seu rítimo próprio e não há nada que você possa fazer contra isso. Você não pode apressar muitos as coisas, com o risco de desgastar a comunidade e causar um ataque cardíaco em plena adolescência. Um grupo muito novo precisa amadurecer e crescer de forma gradual. Por mais que você já tenha participado de outras comunidades mais maduras e tenha expectativas grandes, isto não se traduzirá em ação se você não encontrar um grupo de pessoas com expectativas semelhantes e mais: disposição para colocar em ação seus planos. Acredite, as pessoas crescem junto com a comunidade, você também crescerá.
  • Nunca espere o reconhecimento da comunidade. Não existe um momento onde a comunidade se reúne para saudar os mais valorosos membros da sua comunidade. Não existem prêmios, bailes de gala ou fogos de artifício. Não cobre dívidas de gratidão. Não espere sequer um “muito obrigado’. Apenas esteja lá e faça o melhor que você está disposto a fazer.
  • A maioria das comunidades tem uma estrutura muito informal. Pouquíssimas tem uma estrutura legal que a ampare, com cargos e eleições. Portanto não espere ser considerado um “membro oficial”. Algumas comunidades crescem a um ponto de criar uma estrutura burocrática maior, mas são poucas comunidades que o fazem e mesmo assim, você não deve esperar ser condecorado ou consagrado membro oficial. Alguns dos maiores e mais respeitados membros de comunidades tem um vínculo muito frágil ou até inexistente com o seu aparato burocrático.
  • Não brigue. Não alimente os trolls. Os conflitos aparecem com alguma frequência, mas o seu impacto é inversamente proporcional a capacidade das pessoas ignora-las. O tempo perdido com brigas poderia ser gasto com coisas muito mais úteis como tomar cerveja com os amigos, passar mais tempo com a família ou até ajudar mais a sua comunidade.
  • Conheça os meios de comunicação e saiba utiliza-los. A maioria das comunidades é geograficamente dispersa. Se você domina o Inglês, você está em contato com o mundo inteiro, o local onde você está não importa. A ferramenta mais importante de comunicação é o e-mail. Parece simples de usar, mas as pessoas cometem erros terríveis quando participam de listas. Alguns erros são até perdoáveis, mas em geral os erros afastam os seus leitores. Leia uma vez na vida a RFC 1855. Outras ferramentas como IRC, Wiki, TRAC, CVS, CMS e outros são fundamentais para você participar de forma efetiva. Aprenda, seja feliz e deixe os demais felizes também.
  • Os iniciantes costumam levar puxões de orelha quando começam a ajudar. Acontece que não basta ajudar, é imprescindível ajudar da forma correta. Revisar o código/documentação/tradução/whatever de um novato dá trabalho para os mais experientes. Um trabalho mal feito dá mais trabalho para o revisor do que se ele mesmo o tivesse feito des do início. Há regras severas para incorporar alterações num código complexo. Até o Sr. Marcelo Tosatti levou vários puxões de orelha antes de ter seus primeiros patches aceitos.

Participe

Se você é uma daquelas pessoas que está entrando agora, está com todas as boas intensões do mundo, saiba que há inúmeras formas de se colaborar com uma comunidade. A mais importante dela é sem dúvida ajudar a melhorar o software. Lembre-se que por mais que sejam importantes outras contribuições, a comunidade não existiria se o software não existisse. Esta deveria ser a meta de todos os membros da comunidade. No entanto segue algumas coisas que você pode fazer:

  • Ajude a escrever o software;
  • Se você não sabe programar, ajude a documentar;
  • Se não sabe documentar, ajude a traduzir,
  • Se não sabe traduzir, ajude outras pessoas a utilizar,
  • Se não sabe utilizar, ajude a divulgar,
  • Se não sabe divulgar ajude a testar.

Meritocracia é a chave da participação na comunidade. Meritocracia - em comunidades de SL - significa que quem faz tem mérito e quem não faz não tem. Simples assim. As decisões são tomadas por aqueles que fazem. É muito comum as pessoas ficarem esperando que algum líder, cacique, chefe, mentor, ou seja lá o que for, delegar uma tarefa para você. Surpresa… isso não acontece. Você deve se candidatar às tarefas e não esperar que alguém lhe escolha para isso. Na maioria das vezes você faz alguma coisa e só depois apresenta para a comunidade o resultado do seu trabalho. É simples assim:

  • Você tem uma idéia para fazer algo, ou verifica uma lista de coisas que a comunidade gostaria de fazer. A maioria das comunidades mantém um ‘todo list’, conheça ela, você pode ter algumas idéias a partir de lá. É comum também haver uma lista de coisas indesejadas, que não serão bem recebidas se você propor. Se a comunidade em que você quer atuar não tiver nenhum destes recursos, vale a pena consultar o histórico das suas listas de discussão ou fóruns para verificar se o assunto já foi debatido antes.
  • Verifique se já existe alguém fazendo isso. Se tiver, você pode ajudar a pessoa ou grupo que esta fazendo isso ou escolher outra coisa para fazer. Pesquise bem antes de se lançar a ação. É muito comum você achar que teve uma idéia nova e na verdade ela já estar implementada, mesmo que em algum canto obscuro da Internet. Há muitas pessoas querendo ajudar, mas a maioria quer ter a glória de fazer algo só seu, ao invés de ajudar em algo já existente - basta pensar nas centenas de distribuições Linux existentes que isto começa a fazer muito sentido. Isso é improdutivo e causa uma grande confusão na comunidade - pense que criar algo novo é mais fácil do que mantê-lo atualizado.
  • Faça! Se for uma tarefa que você pode cumprir sozinho, faça e só mostre quando você tiver algo funcional em mãos. Se a tarefa depende de outras pessoas, combine bem antes e tenha certeza que todos estão dispostos a faze-lo. Não divulgue a iniciativa se você não tiver certeza que terá condições de cumprir. Vale a máxima: “talk is cheap, show me the code”.
  • Antes de mostrar o que você fez, verifique o calendário da comunidade. Há momentos em que a comunidade não está aberta para determinadas contribuições. Há épocas em que algumas prioridades são estabelecidas. Quando a comunidade está prestes a lançar uma nova versão de um software, os testes são importantes e código novo é indesejado. A organização de grandes eventos também costuma movimentar grande parte da comunidade para algumas ações, em detrimento de outras ações de divulgação. Bom senso é fundamental.
  • Mostre o que você fez, esteja aberto a críticas e contribuições. Aqui você deve ser muito cuidadoso na forma de se comunicar. As pessoas devem entender exatamente o que você fez, devem se sentir confortáveis e estimuladas a analisarem e criticarem o seu trabalho. Seu trabalho só vai crescer se as pessoas incorporarem ele na comunidade, e isto depende da qualidade do seu trabalho e da forma como ele foi apresentado. Não estrague tudo com uma apresentação tosca ou arrogante.

É muito comum algumas pessoas participarem de várias ações ou se especializar em uma tarefa. Existem pessoas cuja participação vem em ondas, participando ativamente por um tempo e desaparecendo depois. Existem pessoas que gostam de algumas tarefas e odeiam outras. Uma coisa universal é que todos erram. Eu falhei miseravelmente em vários momentos. Acho que algumas pessoas já ficaram um tanto aborrecidas com os meus erros. Já venho errando há alguns anos… espero estar apto a acertar mais e cometer novos erros no futuro.

Tags: ,

Comments 12 comentários »

O Sr. Greg Sabino parece concordar comigo sobre a possibilidade de se comprar o PostgreSQL. Ele também se deu ao trabalho de fazer algumas especulações sobre a aquisição da SUN, com direito a piada com o Sr. Josh Berkus e tudo o mais. Achei o artigo dele realmente interessante. Fico imaginando se a SUN não tem vontade de comprar a EnterpriseDB também. Na verdade eles já tem uma parceria antiga, seria uma aquisição bastante interessante para eles.

Mas por enquanto eles vão ter bastante trabalho para harmonizar a MySQL AB dentro da SUN e ajuda-los a enfrentar grandes desafios como atender a uma série de reclamações de seus grandes usuários (não é a toa que o Google fez grandes adaptações nele) e lançar o Falcon, que se tornou uma ação estratégica depois que a Oracle comprou o InnoDB.

No entanto, uma das coisas que eu realmente gostaria de ver são ferramentas administrativas mais poderosas, tanto no MySQL quanto no PostgreSQL. Será que vamos um dia ter uma ferramenta tão poderosa quanto o Oracle Enterprise Manager, como o pessoal da CELEPAR ousou fazer?

Tags: , , ,

Comments Nenhum comentário »

A notícia da semana: SUN compra MyAB que desenvolve o MySQL o banco de dados livre mais popular do mundo. O preço, 1 bilhão de dólares. A notícia virou destaque em vários lugares no Brasil e no mundo. Eu gosto muito do PostgreSQL, mas tenho que reconhecer o MySQL tem uma legião de usuários que fazem com que ele seja um jogador de peso no mercado. Particularmente na Internet, o MySQL é largamente utilizado. É simples, é rápido, é livre.

A SUN é uma empresa respeitável. Fez um bom negócio. A Oracle tentou comprar a MyAB há alguns anos sem sucesso. E olhe que estou falando da empresa que acabou de comprar a BEA Systems por 8,5 bilhões de dólares. Assim, vemos os grandes comprando os menores e o mercado vai se concentrando em grandes monopólios com suas soluções de “ponta-a-ponta”. Gostaria de lembrar que não tenho nada contra a SUN. Ela é uma das empresas que mais contribuiu com o Software Livre nos últimos tempos, inclusive com o PostgreSQL. Talvez o fato da SUN não possuir um SGDB de peso no mercado tenha feito com que ela invista neste setor.

Uma coisa curiosa que ocorre quando alguém vê a notícia da compra da MyAB é a reação: “Puxa vida, 1 Bilhão por um Software Livre!”. Então me lembro do texto “Os 5 Tipos de Projetos de Software Livre” do Sr. Josh Berkus. A MyAB tem algo em comum com outros projetos de Software Livre:

  • America On Line compra a Netscape, desenvolvedora do Firefox;
  • Oracle compra SleepCat, desenvolvedora do BerkeleyDB;
  • Oracle compra a Innobase, desenvolvedora do InnoDB;
  • Novell compra SUSE;

São todos casos em que uma empresa comprou outra empresa que desenvolve um Software Livre. Mas eles são de uma categoria especial de Software Livre, são projetos, segundo o Sr. Josh Berkus, do tipo corporativo, onde o desenvolvimento é dependente da empresa que detém a sua propriedade intelectual. Mesmo adotando licenças livres segundo a FSF OSI ou mesmo pelo Debian, eles costumam manter um controle rígido sobre o desenvolvimento do software. Isto significa que você tem garantido o direito de usar, distribuir e modificar o software, mas pode não ter a oportunidade de contribuir com código para o projeto.

Uma consequência direta sobre isso, é que os “projetos corporativos” de software livre tem preço. O MySQL teve seu preço avaliado em 1 bilhão de dólares. Outras empresas como Red Hat, Canonical, Zend e outras tem seu preço. Mas há projetos importantes que até o momento parecem resistir a essa idéia. O Kernel do Linux não está a venda, o PostgreSQL, o Debian, o Gentoo também não. Assim, vemos que existe um corte importante ao se olhar para projetos de Software Livre. É preciso olhar para como o Software Livre é desenvolvido para saber o que se pode esperar do seu futuro.

Não acredito que a SUN vá trazer malefícios para o MySQL, mesmo porque ele não compete com nenhum outro produto já existente dentro da SUN. Mas este tipo de coisa acontece muito. Em 2000 a IBM comprou o Informix que competia com o DB2 e ele foi sumindo silenciosamente do mercado. Em 92 FoxPro foi comprado pela Microsoft e teve o mesmo destino. Assim, vemos soluções algumas vezes muito boas sumindo para dar espaço por outras com mais fôlego financeiro.

Tags: , ,

Comments 3 comentários »

O Sr. Fernando França do Desconstruindo me mandou um e-mail falando sobre seu problema com o fornecedor de um ERP que utiliza o PostgreSQL, mas deixou de dar suporte para novas versões. A última versão que ele suporta é a 7.4 lançada há 5 anos. Para o ritmo de desenvolvimento do PostgreSQL isso é muita coisa mesmo. No entanto, o nosso amigo é brasileiro e não desiste nunca… foi atrás do fornecedor que lhe devolveu a clássica resposta: “O PostgreSQL não possui suporte oficial do fornecedor”.

Quando escuto uma coisa destas, respiro fundo e me preparo para uma longa conversa que se segue abaixo. A conversa não é nova, já foi discutida a exaustão em inúmeros lugares, inclusive aqui e esta infelizmente não será a última. Graças a campanhas difamatórias de grandes empresas este assunto vem a tona sempre que alguém deseja se opor a algum tipo de mudança.

Vejamos os argumentos que estão na ponta da língua de quem usa este tipo de argumento:

  • Eu preciso ter uma empresa que eu possa processar se houver algum problema grave.
    • Se você olhar o kernel do Linux ou do FreeBSD, você verá que não há realmente qualquer garantia por parte do fornecedor de que aquilo irá funcionar adequadamente. O mesmo vale para qualquer software livre que você conheça. No entanto isto não impede que ele seja utilizado em ambientes críticos, por grandes instituições no Brasil e no mundo. Da NASA, forças armadas e grandes bancos, todos confiam em softwares livres para tocar o seu negócio. Qual o problema de se confiar no PostgreSQL?
    • Você acredita realmente que alguém fornece um software e realmente garante 100% o seu funcionamento? Olhe as licenças de software dos grandes fornecedores e você verá que todos possuem cláusulas onde especificam claramente que não se responsabilizam pelo mal funcionamento do Software. Você não compra uma garantia, você compra uma marca.
    • Você acredita realmente que vai processar a IBM, Oracle ou Microsoft? Já pensou se as pessoas conseguissem processar a Microsoft a cada vez que o Windows apresentasse uma falha crítica que causasse prejuízo para alguém? Porque você acha que todos estes softwares fazem questão de que você concorde com a sua licença de uso antes de utilizar ele?
  • Eu preciso de suporte oficial.
    • Você precisa de suporte de qualidade. O oficial, fica por conta do fornecedor que tem quer lhe vender o suporte. Ocorre que quando o software não é livre, apenas uma empresa tem o código fonte do software e somente ela sabe realmente como ele funciona. No caso do software livre, você pode escolher a empresa que lhe dará este suporte e pode escolher trocar de empresa se você não gostar dela. Se você não estiver satisfeito com o suporte de um grande fornecedor de uma solução proprietária, você não tem outra opção a não ser pagar mais ou substituir toda a solução.
    • Se você não estiver satisfeito com o suporte oferecido pela documentação oficial, IRC ou listas de discussão por e-mail você pode contar com o suporte comercial de várias empresas ou de consultores especializados. Por fim, você pode contar ainda com uma série de serviços de hospedagem com suporte ao PostgreSQL
    • Você precisa de atualizações de segurança e correções de bugs. Se você não paga o suporte oficial de um fornecedor de software não livre você fica sem as atualizações do software. No caso dos software livres isto não ocorre. Você nunca vai ficar na mão por não ter pago o suporte num momento de dificuldades financeiras.
  • Eu preciso de uma empresa que me forneça suporte 24×7.
    • Você tem idéia de quanto custar o suporte 24×7 para uma solução Teradata, Oracle ou DB2? Adicione alguns zeros a direita e você chegará num valor razoável. Quem tem este tipo de suporte paga milhões. Se você quiser suporte 24×7 em algum Software Livre, basta pagar que você o terá.
    • Já existem grandes empresas de software que prestam suporte ao PostgreSQL, entre eles a Red Hat e Sun. Eles tem porte suficiente para lhe oferecer um suporte 24×7 nas condições mais agressivas que você possa desejar. É claro que isto não vai lhe sair barato…
  • Eu preciso de profissionais certificados.
    • Um certificado é um pedaço de papel que uma pessoa recebe após fazer uma prova. Toda pessoa que possui a CNH (Carteira Nacional de Habilitação) tem que fazer uma prova escrita e uma prática. A maioria das certificações se limitam a uma prova escrita. Você acredita que os motoristas brasileiros são bons? E os profissionais certificados, você acredita que um certificado atesta a sua aptidão profissional?
    • Se você precisa de profissionais qualificados, há centros de treinamento com excelente qualidade com cursos adhoc, in company e com boas opções de conteúdo.

É claro que muitos fornecedores acabam acreditando nos bilhões de dólares investidos em propaganda e não na palavra de um simples blog. Mas a questão é que muita gente usa o PostgreSQL e outros softwares livres, tem suporte de qualidade e vão muito bem, obrigado. A maioria deles não grita isto aos quatro cantos por aí, mesmo porque, isto pode ser um diferencial competitivo. Mesmo assim sabemos que existem inúmeros casos de sucesso declarados que mostram a maturidade do PostgreSQL em ambientes corporativos.

O curioso neste caso é que a empresa em questão chegou a desenvolver uma versão para o PostgreSQL. Aqui entra um bocado de especulação pela minha parte. Uma especulação plausível, que pode não se aplicar ao caso em questão, mas certamente se aplica a outros casos. O fato é que há uns 5 anos atrás, na época do estouro do Kurumin, o Brasil experimentou uma certa euforia em torno do Linux. Muita gente apostou que o Software Livre seria a solução para cortar drasticamente os custos de TI e sairam implementando algumas soluções por aí de forma caótica. O resultado para quem partiu para este tipo de abordagem foi invariável: falharam miseravelmente. Ocorre que o Software Livre diminui o TCO da sua empresa, mas não a curto prazo. Inicialmente os custos podem até ser mais altos devido às demandas de treinamento, consultoria e migração. É a médio e longo prazo (3 a 5 anos) que o TCO começa a mostrar uma redução significativa.

Muita gente saiu criando versões de seus produtos compatíveis com plataformas livres. A Borland chegou a lançar o Kilix, uma versão do Delphi para Linux. Mas, muitos desistiram no caminho. Alguns voltaram para os braços das plataformas proprietárias. Muitos migraram de forma irresponsável, outros não souberam se adaptar ao ecosistema do Software Livre e alguns receberam propostas indecorosas para frear suas ações em direção ao Software Livre.

O fato é que se você fornece software proprietário para rodar em uma plataforma livre, você vai descobrir um novo tipo de cliente. Um cliente que começa a gostar da idéia de ter independência de fornecedor. Não se trata aqui de guardar um catatau de códigos fontes do fornecedor na gaveta. Trata-se da opção de não ficar amarrado a um fornecedor para o resto da vida.

Este é o tipo de liberdade que muitos fornecedores de software proprietário não gosta. Afinal, se é verdade que o lucro no mercado de software advém de serviços e não de licenças, ter o monopólio na prestação de serviços em algum nicho é um grande negócio. Se você usa Java, você pode escolher o SO que desejar e SGDB de sua preferência para rodar a sua aplicação. No entanto, se você utiliza o Oracle Application Server, que utiliza o Java e o Apache, você só pode utilizar o SGDB Oracle e só a Oracle pode lhe dar suporte. Você vai encontrar fenômeno semelhante se você utilizar o WebSphere da IBM. Imagine agora que você resolve implementar uma solução de um fornecedor de ponta a ponta? Há fornecedores que podem lhe prover servidores, SO, SGDB, Web Server, ERP, BI e o que mais você possa imaginar. Bom, se você fizer isso, é melhor comprar um bom lote de ações desta empresa, pois você estará tão preso que é melhor ser sócio dela.

Conclusão, se você quer que um fornecedor de software proprietário seja homologado numa plataforma livre, você deve ter muita bala na agulha, caso contrário, o fornecedor dificilmente lhe dará ouvidos.

Tags: , ,

Comments 7 comentários »

4 de Dezembro, chego em casa umas 23 horas e vejo o e-mail na lista pgsql-announce: “Lançada a versão Beta4 do PostgreSQL”. Hum… isto significa que o 8.3 não vai sair até o PgCon Brasil. É uma pena… e motivo de orgulho ao mesmo tempo. É uma pena que a festa não vai ser completa durante o evento. É um motivo de orgulho pelo simples fato de não haver data para o lançamento oficial. É isso mesmo. Isto é uma das maiores vantagens dos softwares realmente livres. Já ouviram falar na piada de que o Windows seria o maior programa Beta da história? Bom… isso não ocorre só com o Windows. Acontece com quase toda empresa cuja receita provém da venda de caixinhas. Se você lançar um versão excelente e estável, você venderá suas caixinhas. Mas você precisa vender o mesmo produto para seus clientes daqui a um ou dois anos. Resultado: existe uma pressão dos acionistas para que a versão saia logo, custe o que custar. E o custo costuma significar estabilidade.

Os projetos de Software Livre mantidos por comunidades não sofrem este tipo de pressão. O Debian chegou a demorar alguns anos para lançar o Sarge enquanto as outras distibuições Linux eram lançadas a cada ano ou mesmo a cada 6 meses. Mas se você procura por uma distribuição realmente estável… o Debian é uma excelente escolha. Quando falamos de Bancos de Dados, a estabilidade é motivo de paranóia constante. É absolutamente normal uma nova versão de um SGDB demorar 3 ou 4 anos para ser lançado. O PostgreSQL tem liberado praticamente um release por ano. Isto pode assustar alguns DBAs que não estão acostumados com o ritmo de desenvolvimento de uma comunidade ativa. A comunidade de desenvolvedores do PostgreSQL tem se mostrado bastante ágil no desenvolvimento de novas funcionalidades e na correção de erros. O importante, é não ceder a pressões para lançar um produto imaturo no mercado. Ao olharmos a história das versões de vários produtos conhecidos de mercados, encontramos vários lançamentos de valor questionável como o o MS-DOS 6 ou o impagável Windows Milenium Edition, para citar casos mais clássicos. O Corel Draw perdeu muito da sua credibilidade entre os designers para a Adobe, devido a uma política de lançamento de versões agressiva no final da década de 90. A própria IBM teve a versão 6 do DB2 que não foi bem recebida pelo mercado.

Software Livre também não está livre destes problemas. Assim, Red Hat, SUSE, Mandriva, Canonical e outras distribuições mantidas por empresas sofrem uma pressão para lançar rápido novas versões. Assim como em distribuições Linux, temos o mesmo ocorrendo com outros tipos de Software Livre. Assim, entre os SGDBs o PostgreSQL ganha mais um ponto por ser mantido por uma comunidade realmente fantástica. Pode ser que demore muito até o dia em que os DBAs reconheçam isto como um ponto positivo. Em todo caso, só o tempo irá dizer se isto realmente fará a diferença.

Então, se alguém lhe perguntar quando sairá a nova versão do PostgreSQL (ou outro Software Livre mantido por uma comunidade), não tenha dúvida e responda:

- Quando estiver pronto!

Tags: , ,

Comments 1 comentário »