Avançar para a área de conteúdo

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

A primeira vez que acessar o developerWorks, um perfil será criado para você. Informações do seu perfil (tais como: nome, país / região, e empresa) estarão disponíveis ao público, que poderá acompanhar qualquer conteúdo que você publicar. Seu perfil no developerWorks pode ser atualizado a qualquer momento.

Todas as informações enviadas são seguras.

  • Fechar [x]

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Todas as informações enviadas são seguras.

  • Fechar [x]

A vez do software livre, Parte 1: Já está pronto?

Peter Seebach, Freelance writer, Wind River Systems
Peter Seebach coleciona dispositivos minúsculos que são executados no Linux. Ele está cansado de ouvir a piada sobre armazená-los em cluster Beowulf.

Resumo:  O software livre existe há um bom tempo, e agora é um simples fato em tudo o que usamos, de telefones a televisões (e também em muitas coisas que não começam com "tele"). Este artigo, o primeiro de uma série, analisa como o software livre se tornou uma presença constante em nosso mundo, de maneira quase despercebida.

Visualizar mais conteúdo nesta série

Data:  12/Mai/2011
Nível:  Intermediário Também disponível em :   Inglês
Atividade:  1329 visualizações
Comentários:  


Como trabalho muito com software livre, às vezes me perguntam quando o software livre irá se tornar uma alternativa viável ao software comercial. Minha resposta é "há pelo menos 10 anos". A questão não é mais se podemos usar software livre na vida cotidiana; a questão é se podemos fazer muita coisa sem ele. Um dos meus telefones executa Linux®, outro executa um sistema operacional com uma grande parte de código BSD. Os dois servem principalmente para desenvolvedores que usam gcc para compilação.

Uma observação à parte: quando digo "software livre", estou me referindo à coisa definida pela Open Source Initiative (consulte a guia Recursos). Na verdade, na maioria das vezes, não passo pela lista de verificação formal. Como outra categoria famosa, eu o reconheço quando o vejo. Se você puder obter o código e brincar com ele sem aborrecimentos, provavelmente ele é um software livre.

Este artigo está sendo escrito usando um editor de software livre executado em um kernel de software livre e será enviado ao meu editor usando clientes de correio e servidores de correio que são software livres, por meio de um roteador sem fio executado no Linux.

O software livre existe há um bom tempo. Mesmo que você visualize seu ambiente como "proprietário", há boas chances de que você use tecnologias de software livre diariamente, muitas vezes sem nem saber disso. E este, afinal de contas, é o ponto desde o começo.

Neste artigo, o primeiro de uma série que analisa o sucesso do software livre, darei uma pequena visão geral do quanto o software livre é realmente difundido. Há dois aspectos relacionados a isso: um é o software específico que é software livre, e o segundo é a filosofia subjacente do software livre. Cada um deles obteve uma infiltração ampla nos mercados e culturas que anteriormente eram vistos como claramente contra a abertura e o compartilhamento.

O software livre parece, em um primeiro momento, ir contra as expectativas de um mercado em funcionamento. Por que as pessoas distribuiriam software, se as vendas de software claramente fazem parte de um segmento de mercado amplo e bem-sucedido? A resposta, assim como geralmente é o caso, é que fazer isso revela uma melhor percepção do mercado.

Sem restrições sobre ser grátis

Frequentemente, uma distinção é feita entre o software que é "livre de restrições" (também chamado de libre) e o software que é "gratuito" (também chamado de grátis). O que equivale a dizer, estamos falando de um software que você não precisa pagar ou de um software no qual você obtém acesso à origem e está livre para modificá-lo? O software livre se refere a esta última opção. No entanto, como o software livre implica em cópias grátis, não há muita venda comercial de software livre propriamente dita.

Você vai encontrar empresas ganhando um bom dinheiro vendendo software livre empacotado, em pacotes configuráveis e configurados, ou serviços executados nele, mas o software em si tende a não custar dinheiro. Se fosse o caso, alguém poderia simplesmente comprar uma cópia e depois copiá-la gratuitamente, distribuindo as cópias, o que criaria uma pressão econômica bastante significativa.

Isso teve um efeito interessante. Os mercados nos quais as soluções de software livre se deram especialmente bem se tornaram mais difíceis para as pessoas venderem produtos comerciais. Houve um tempo, no passado, em que as pessoas cobravam dinheiro pelos navegadores da Web. Para a maioria, isso acabou; os navegadores da Web são grátis. É possível fazer um navegador que seja melhor que o Firefox para muitos usuários, mas é difícil fazer um que seja melhor o bastante para justificar a cobrança de dinheiro. (Isso foi acelerado, também, pela inclusão de navegadores grátis na maioria dos sistemas operacionais).

A vitória dos comuns

As pessoas adoram falar sobre a tragédia dos comuns. Para aqueles que perderam a origem da frase, aí vai uma recapitulação. Imagine uma pequena vila na era pré-industrial, com uma área compartilhada de terra coberta por pastagem. Todos, é claro, possuem uma cabra. (É o oposto do que acontece nas comédias em que alguém tem que esconder uma cabra). Agora, cada pessoa pode escolher se sua cabra vai pastar somente em suas próprias terras ou nas áreas comuns. Se você deixar sua cabra pastar nas áreas comuns, ela ficará mais bem alimentada. E, com isso, você ganha! Mas se todos deixarem suas cabras pastarem nas áreas comuns, estas se tornarão uma terra devastada, sem cobertura de pastagem, e todo mundo perde.

Por algum motivo, as pessoas às vezes preveem o mesmo resultado em fornecer software: todo mundo irá usar o software grátis, mas ninguém irá contribuir e ele irá se deteriorar. Acontece que isso simplesmente não é uma grande preocupação. Não é isso o que ocorre. Em vez disso, as pessoas cooperaram, produzindo softwares excelentes que muitas pessoas podem usar.

Sopa de pedra

Vamos dar uma olhada em um conto um pouco mais aplicável: a famosa "sopa de pedra", em que um trapaceiro se oferece para fazer comida para as pessoas usando sua receita especial de sopa de pedra, e todos contribuem com um pouco de comida até que, de repente, todos se deparam com um banquete.

Muitos softwares, como pode ser visto, não são gravados para venda comercial. Eles são gravados porque as empresas precisam fazer seu trabalho. Sendo assim, elas vão perder tempo e esforços gravando esse software. Até este ponto, elas não têm interesse em vendê-los ou produzi-los, não têm interesse em fazer isso, não é da conta delas e não seria lucrativo. Assim, trata-se de dinheiro que vai apenas para a infraestrutura interna, levando as empresas a uma melhor produtividade, mas que, no final das contas, não vai para lugar nenhum.

Se eu orçar US$ 150.000 para desenvolver um pacote que preciso para uso interno, e um dos engenheiros disser que ele pode cortar esse custo para US$ 50.000 se começar por algo disponível gratuitamente, provavelmente eu irei agarrar essa oportunidade. Mas, lembre-se: eu não tinha nenhum plano de transformar esse software em dinheiro ou vendê-lo. Eu só preciso dele para fazer o meu trabalho. Assim, não tenho uma noção proprietária de propriedade sobre ele, e, mesmo se tivesse, alguma outra pessoa o possuiria. Mas posso descobrir que, se eu contribuir com as minhas alterações para a comunidade, ficará mais barato manter minhas alterações locais atualizadas. Isso significa que obterei as alterações de outras pessoas gratuitamente.

Acabamos de reinventar a sopa de pedra. As empresas que precisam desse software podem gastar menos do que gastariam de outro modo, obter uma melhor funcionalidade e não perder nada no processo. Brilhante! Inclua um pouco de boa vontade promocional (considere a lista de contribuidores do Linux; as pessoas adoram ver seus nomes lá), e não é difícil promover o trabalho em um projeto de software livre para o gerenciamento.

Aproveitadores são gratuitos

É claro que nem todo mundo contribui com o projeto. A maioria nem contribui. Algumas pessoas simplesmente pegam algo, usam e não tornam disponível para os outros. Embora algumas licenças trabalhem para evitar isso, outras simplesmente não se importam. Por que não? Porque os aproveitadores não custam nada para nós. Na realidade, eles nos beneficiam mesmo quando não estão tentando fazer isso.

Copiar software é uma atividade fundamentalmente grátis. É claro que ela tem um custo. Mas esse custo é, para a maioria, tão baixo, que não podemos medi-lo de modo útil em uma escala lógica. Custa mais descobrir o quanto custa para alguém fazer o download de um arquivo do que fazer o download do arquivo. Isso significa que não estamos perdendo nada importante quando as pessoas copiam nosso software grátis. Não há custos enormes envolvidos; eles não estão consumindo recursos limitados de forma significativa.

Mas cada aproveitador representa alguém que está obtendo um software melhor, e mais barato do que obteria de outra forma. E isso significa que os custos são mais baixos, o que se traduz (por meio da mágica da concorrência) em preços mais baixos para todos. O dinheiro que as pessoas não gastam duplicando uma funcionalidade já resolvida pela comunidade de software livre é um dinheiro que pode ser gasto em outra coisa — uma nova funcionalidade de algum tipo.

A NASA usou software livre no Mars Rover. E realmente importa se a Nasa contribuiu com a comunidade? Nem mesmo se você pagar impostos nos Estados Unidos, ela não contribui, você já teve o seu desconto. É o dinheiro que eles não tiveram que gastar e que sai do orçamento. (Na verdade, eles contribuem com a comunidade com código, como deve ser. Mas mesmo se não contribuíssem, estaríamos em uma situação melhor com sua decisão de usar software livre).


Software livre: você não pode viver sem ele

A esta altura, se você é um desenvolvedor de software, provavelmente não consegue fazer o seu trabalho diário sem software livre e, mesmo se conseguisse, há chances muitas boas de que fracassaria. Se você usa infraestrutura de rede (como a Internet), você não conseguiria fazer nada sem software livre. Aqui vão alguns exemplos em que o software livre se tornou especialmente indispensável.

Ferramentas de programação

Um dos ganhos mais difundidos do software livre são as ferramentas de programação. Aqui está uma lista de algumas linguagens nas quais gravei código na última década:

  • awk
  • C
  • C++
  • ECMAScript
  • Icon
  • Java™
  • Lua
  • Objective-C
  • Perl
  • PHP
  • PostScript
  • Python
  • Ruby
  • shell (/bin/sh e companheiros)

O que elas têm em comum além de mim? Cada uma delas possui uma implementação de software livre razoavelmente completa. Cada. Uma. Delas. Pense sobre isso. É uma seleção muito boa de ferramentas de programação. Linguagens de script, linguagens compiladas. Coisas que podem ser usadas para gravar kernels. Coisas que podem ser embutidas em vídeo games.

Se você está acostumado com os softwares modernos, pode parecer estranho, mas costumava ser relativamente comum para programas que precisavam de algum tipo de funcionalidade de script desenvolver suas próprias linguagens de script proprietárias, que normalmente eram terrivelmente limitadas e irregulares. Hoje em dia, é bem comum simplesmente embutir Lua ou Python, ou algo do tipo, em um programa. Elas são grátis, atrativamente licenciadas e muito flexíveis.

De modo semelhante, muitas ferramentas de desenvolvimento que não são linguagens de programação estão disponíveis amplamente como software livre. Embora certamente haja editores comerciais, e alguns deles sejam muito interessantes, a maioria dos desenvolvedores que conheço usa pelo menos um editor de software livre como ferramenta principal. (Minha escolha é o nvi, que eu acho um pouco mais tranquilo e familiar com o sempre presente vim). Ferramentas de desenvolvimento, como make e Ant, muitas vezes são software livre.

Não é uma coincidência, em qualquer alcance da imaginação, que as ferramentas de desenvolvimento sejam um grande alvo para o software livre. Os desenvolvedores têm o hábito de gravar ferramentas de desenvolvimento. Eles não fazem isso para vendê-las — apenas para tê-las. Compartilhar essas ferramentas permite que os desenvolvedores usufruam dos esforços de outras pessoas e obtenham ferramentas melhores mais rapidamente. (Consulte "A vitória dos comuns" para obter uma discussão mais aprofundada sobre por que isso funciona).

O software livre transformou o cotidiano de trabalho dos desenvolvedores de software, e esse provavelmente seja um dos motivos pelos quais os desenvolvedores ficam tão propensos a empurrar modelos de software livre para outros softwares nos quais trabalham. Sabemos que ele funciona; contamos com ele para realizar nosso trabalho diariamente. Os desenvolvedores mais velhos também se lembram do quanto a vida era pior sem ferramentas de software livre.

Implementações e infraestrutura de referência

O padrão de imagem TIFF oferece uma implementação de referência de software livre. Isso significa que, essencialmente, não há desculpa para as empresas terem uma implementação incompatível; é gratuito possuir uma que seja comprovadamente compatível. Esta é uma estratégia muito eficaz para assegurar que um formato seja confiável e útil.

A tendência de fornecer implementações de referência canônicas com software livre completo e licença opcional tornou a vida muito mais fácil. Costumava ser muito comum que as implementações de formatos de arquivo fossem absurdamente incompatíveis. (Você ainda vê isso com alguns formatos em que as especificações oficiais se referem a uma implementação histórica em particular para a qual nenhum software livre está disponível). Formatos e protocolos que oferecem uma implementação de referência são muito mais fáceis de adotar e difundir.

Isso leva, é claro, à família de protocolos mais amplamente adotada.

Tomando a iniciativa de criar a Internet

Desculpas ao Sr. Gore, mas o software livre tem sido uma parte importante e fundamental da criação da Internet. A pilha BSD TCP/IP e ferramentas relacionadas encontraram um uso amplo ao simplificar os ciclos de desenvolvimento para uso do software em outro lugar. Desde o release inicial do NCSA httpd e Mosaic, as ferramentas que tornaram a Internet (e agora a World Wide Web) útil foram predominantemente de software livre.

O software livre é um candidato natural para uso em infraestrutura, é necessária abertura e muitas pessoas verificando erros, e há valor suficiente em ter o software para justificar os custos de desenvolvimento. E, talvez o mais importante, o software livre percorre um grande caminho para oferecer interoperabilidade grátis. Como a interoperabilidade é uma funcionalidade primária para ferramentas de rede, e não uma consideração secundária, ela é um recurso muito atrativo.

O impacto do software livre na Internet tem sido imenso. Em particular, o impacto da OpenSSL (e ferramentas específicas como OpenSSH) tem sido imenso. Sem uma implementação aberta e gratuita, a SSL poderia ter sido uma ferramenta usada para criar "diferenciação no mercado", o que significa que haveria uma vantagem comercial em tentar evitar que as pessoas tivessem segurança nas transmissões. Em vez disso, ela é amplamente usada. (E, assim como o desenvolvedor do Firesheep mostrou, provavelmente seria muito mais usada).


Não exatamente um software livre, mas...

Como observação final, existem coisas que não são propriamente "software livre", mas que foram claramente inspiradas por ele. Por exemplo, o código de origem do jogo Civilization IV se tornou disponível para que os usuários pudessem modificá-lo ou retrabalhá-lo. Os jogos da id Software (as pessoas que fizeram o Quake e Doom, que são os mais famosos) tendem a ser lançados em código aberto em algum momento, completos, com licença GPL.

Distribuir jogos antigos, que efetivamente atingiram seu fim como interesse comercial, pode ser uma ótima maneira de recrutar jogadores leais, que comprarão seu próximo jogo. É o surgimento de atitudes moldadas pela comunidade de software livre.

O software livre tem ajudado pessoas a perceberem que chega um ponto em que não é mais necessário manter seu código de origem em segrego para ter sucesso financeiro. Fique ligado na Parte 2, onde dou uma olhada nos modelos de negócio que têm permitido às pessoas realizarem um trabalho vigoroso em software livre.


Recursos

Aprender

Obter produtos e tecnologias

Discutir

  • Participe dos blogs do developerWorks e participe da comunidade do developerWorks.

  • Participe da comunidade do developerWorks. Entre em contato com outros usuários do developerWorks, enquanto explora os blogs, fóruns, grupos e wikis orientados ao desenvolvedor.

Sobre o autor

Peter Seebach coleciona dispositivos minúsculos que são executados no Linux. Ele está cansado de ouvir a piada sobre armazená-los em cluster Beowulf.

Ajuda para Relatar Abuso

Relatar abuso

Obrigado. Esta entrada foi sinalizada para atenção do moderador.


Ajuda para Relatar Abuso

Relatar abuso

Falha no envio do Relatório de abuso. Tente novamente mais tarde.


developerWorks: Registre-se


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Selecione seu nome de exibição

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

(Deve possuir de 3 a 31 caracteres.)


Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Classificar este artigo

Comentários

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Software livre
ArticleID=658261
ArticleTitle=A vez do software livre, Parte 1: Já está pronto?
publish-date=05122011
author1-email=dw@seebs.net
author1-email-cc=