Login / Registre-se Account

Open source

O que é software open source?

Jump to section

O software open source é lançado por meio de um tipo de licença específico que disponibiliza legalmente o código-fonte aos usuários finais. Há muitas licenças desse tipo, mas o software geralmente é open source quando:

  • Ele está disponível no formato de código-fonte sem custos extras: os usuários podem ver o código que compõe o software e fazer qualquer tipo de alteração que quiserem.
  • O código-fonte pode ser reaproveitado em outros softwares novos: qualquer pessoa pode distribuir o próprio programa com base em um código-fonte.

O software open source é gratuito?

Quando falamos em open source, isso não significa necessariamente que o software executável seja gratuito. Na verdade, o que é disponibilizado sem custos extras é o código-fonte.

Por exemplo, o código-fonte do Red Hat® Enterprise Linux® está disponível gratuitamente ao público (veja você mesmo). No entanto, para convertê-lo em código executável, são necessários profissionais especializados, tempo e servidores. Quando as organizações querem usar o código pronto para produção dessa solução sem precisar recriá-lo por conta própria a partir do código-fonte, elas só precisam obter uma subscrição.

O open source também é muito comparado ao movimento de software livre (em inglês, "free software movement"), mas as pessoas os confundem por conta do significado da palavra "free" ("livre" ou "gratuito"). O movimento de software livre surgiu com base na cultura hacker dos anos 1970 e foi fundado oficialmente por Richard Stallman como parte do GNU Project e da organização sem fins lucrativos Free Software Foundation. Geralmente, quando falamos em software livre, enfatizamos a liberdade dos direitos dos usuários finais. No entanto, as pessoas podem interpretar incorretamente com o significado de gratuidade.

Na verdade, o software livre e o open source não têm nada a ver com custo: ambos os tipos de software podem ser vendidos legalmente ou oferecidos de graça. A principal diferença entre eles é em termos de compartilhamento. Quando tratamos do software livre, se você fizer alterações no código-fonte e quiser compartilhá-las, também será necessário fornecê-las ao projeto original. Essa restrição não costuma ser aplicada ao software open source.

Mesmo com suas diferenças práticas, o software livre e o open source têm valores comuns. Inclusive, esses termos às vezes são combinados, criando a famosa frase "software livre e open source" (FOSS).

FOSS x software proprietário

A principal diferença entre o software proprietário e o FOSS é a disponibilidade do código-fonte. O software proprietário ou empresarial, como o Microsoft Windows e o Adobe Photoshop, não é disponibilizado aos usuários finais como código-fonte. Em comparação, isso é feito com softwares livres, como o kernel Linux (a base do Red Hat Enterprise Linux), e o open source, como o Google Chromium (a base do navegador web Chrome), que são disponibilizados por meio das suas respectivas licenças.

Como o Linux é um software livre, a Red Hat compartilha com a comunidade open source as alterações feitas para desenvolver o Red Hat Enterprise Linux. E como o Chromium é um software open source, o Google não precisa compartilhar com a comunidade as alterações feitas para desenvolver o Chrome.

Existem também diferentes tipos de licença open source. Por exemplo, se alguém transformar seu código-fonte em um novo software, ele precisará lançá-lo sob a mesma licença (como a GNU GPL) ou sob outra diferente (como a GNU LGPL)? A Internet e o modelo de cloud computing cada vez mais popular seriam bem diferentes se suas origens não fossem baseadas em software open source.

Por que o software open source é importante?

O software open source é importante para todas as pessoas, não apenas para os programadores. Em comparação com um modelo de fonte fechada, esse tipo de software possibilita que ainda mais pessoas possam realizar inovações, liberando todo o potencial delas. Por exemplo, as comunidades open source são organizadas em torno de projetos open source, em que todas as pessoas com experiência podem participar e contribuir com código. Assim como as equipes de software proprietário, esses grupos ainda mantêm padrões relacionados à contribuição com projetos open source. A diferença é que, no open source, esse processo é aberto para todas as pessoas ao redor do mundo que queiram contribuir.

Esse modelo de desenvolvimento open source gerou algumas das mais importantes aplicações e plataformas de nuvem usadas atualmente. A mais popular delas é o LAMP, um modelo de stacks de serviços que sustenta a maior parte da web. A sigla LAMP significa o seguinte:

  • Linux: um sistema operacional open source e o maior projeto desse tipo no mundo
  • Apache: um servidor web multiplataformas e open source que teve um papel fundamental no começo da Internet
  • MySQL: um sistema de gerenciamento open source de bancos de dados relacionais usado por muitas aplicações web orientadas a bancos de dados
  • PHP: uma linguagem genérica de scripts usada no desenvolvimento de software (às vezes, o Perl ou o Python são substituídos)

Outros exemplos de tecnologias open source muito usadas incluem o sistema operacional mobile Android, o navegador web Mozilla Firefox, o sistema de controle de versões amplamente adotado Git e os dois pacotes de escritório relacionados OpenOffice e LibreOffice. Em escala mais ampla, a maior parte das inovações em cloud computing, big data e inteligência artificial é derivada dos projetos de software open source. 

Além do seu papel fundamental no começo da Internet e em algumas das aplicações mais usadas atualmente, o software open source fornece mais vantagens a empresas e programadores. Quando o código-fonte é aberto, qualquer pessoa pode estudá-lo com mais facilidade para aprender novas habilidades de programação. Com o licenciamento open source, os estudantes também podem praticar editando o código e o compartilhando com os amigos e a comunidade em geral. Eles podem até mesmo contribuir com correções em projetos open source atuais.

O software open source também oferece às empresas a capacidade de personalizá-lo para atender a necessidades específicas ou criar experiências de cliente inovadoras não incluídas no código-fonte original. Algumas empresas também preferem o open source porque há muito mais desenvolvedores que procuram vulnerabilidades de segurança, já que o código-fonte é disponibilizado ao público e conta com o suporte de uma comunidade ativa.

O software open source é o resultado de um modelo de desenvolvimento desse mesmo tipo. Esse modelo é descentralizado e incentiva a colaboração aberta e a produção por pares. Além de influenciar um movimento mais amplo no desenvolvimento de software, as pessoas costumam se referir aos princípios básicos dele como a "filosofia open source".

A filosofia open source é muito eficaz porque atrai técnicos altamente especializados. Grande parte das inovações tecnológicas acontece na comunidade open source, e é por isso que muitas empresas ao redor do mundo estão adotando software open source. Por trás de várias aplicações e sites populares, você encontra projetos como Linux, Kubernetes e Git. Além disso, cada vez mais as pessoas acessam a Internet usando navegadores open source, como Firefox e Chromium.

Soluções de software open source essenciais

Red Hat Enterprise Linux logo

O Red Hat Enterprise Linux é um sistema operacional open source usado para escalar aplicações em ambientes bare-metal, virtuais, em containers e de nuvem.

Red Hat OpenShift Logo

O Red Hat OpenShift® é baseado no Kubernetes, a plataforma open source que automatiza as operações dos containers Linux. O OpenShift inclui operações automatizadas de stack completo para gerenciar implantações de nuvem híbrida e multicloud.