Software de código aberto (OSS) é um software para o qual o código-fonte pode ser visualizado e alterado pelo público, ou aberto. Quando o código-fonte não pode ser visualizado e alterado pelo público, ele é considerado fechado ou proprietário.
Código-fonte é a parte de programação dos bastidores do software que os usuários geralmente não olham. O código-fonte apresenta as instruções de como o software funciona e como todos os diferentes recursos do software funcionam.
Como os usuários se beneficiam do OSS
OSS permite que os programadores colaborem na melhoria do software, encontrando e corrigindo erros no código (correções de bugs), atualizando o software para trabalhar com novas tecnologias e criando novos recursos. A abordagem de colaboração em grupo de projetos de código aberto beneficia os usuários do software porque os erros são corrigidos mais rapidamente, novos recursos são adicionados e lançados com mais frequência, o software é mais estável com mais programadores para procurar erros no código e as atualizações de segurança são implementadas mais rapidamente do que muitos programas de software proprietários.
Licença Pública Geral
A maioria dos OSS usa alguma versão ou variação da GNU General Public License (GNU GPL ou GPL). A maneira mais simples de pensar em uma GPL semelhante a uma foto que está em domínio público. A GPL e o domínio público permitem que qualquer pessoa modifique, atualize e reutilize algo da maneira que precisar. A GPL dá aos programadores e usuários a permissão para acessar e alterar o código-fonte, enquanto o domínio público dá aos usuários a permissão para usar e adaptar a foto. A parte GNU da GNU GPL refere-se à licença criada para o sistema operacional GNU, um sistema operacional livre/aberto que foi e continua sendo um projeto significativo em tecnologia de código aberto. A principal diferença entre a GPL e o domínio público vem da única restrição da GPL; tudo feito pela modificação do código GPL precisa permanecer aberto. Portanto, você não pode modificar um programa GPL e vendê-lo.
Outro bônus para os usuários é que o OSS é geralmente gratuito, no entanto, pode haver um custo para extras, como suporte técnico, para alguns programas de software.
De onde veio o código aberto?
Enquanto o conceito de codificação colaborativa de software tem suas raízes na academia dos anos 1950-1960, nas décadas de 1970 e 1980, questões como disputas legais fizeram com que essa abordagem de colaboração aberta para codificação de software perdesse força. O software proprietário assumiu o mercado de software até Richard Stallman fundar a Free Software Foundation (FSF) em 1985, trazendo o software aberto ou livre de volta à vanguarda. O conceito de software livre refere-se à liberdade, não ao custo. O movimento social por trás do software livre sustenta que os usuários de software devem ter a liberdade de ver, alterar, atualizar, corrigir e adicionar ao código-fonte para atender às suas necessidades e poder distribuí-lo ou compartilhá-lo livremente com outras pessoas.
A FSF desempenhou um papel formador no movimento de software livre e de código aberto com seu Projeto GNU. GNU é um sistema operacional livre (um conjunto de programas e ferramentas que instruem um dispositivo ou computador como operar), normalmente lançado com um conjunto de ferramentas, bibliotecas e aplicativos que juntos podem ser chamados de versão ou distribuição. O GNU é emparelhado com um programa chamado kernel, que gerencia os diferentes recursos do computador ou dispositivo, incluindo comunicações entre aplicativos de software e hardware. O kernel mais comum emparelhado com o GNU é o kernel Linux, originalmente criado por Linus Torvalds. Esse par de sistema operacional e kernel é tecnicamente chamado de sistema operacional GNU/Linux, embora muitas vezes seja referido simplesmente como Linux.
Por várias razões, incluindo confusão no mercado sobre o que o termo 'software livre' realmente significava, o termo alternativo 'código aberto' tornou-se o termo preferido para software criado e mantido usando a abordagem de colaboração pública. O termo 'código aberto' foi adotado oficialmente em uma cúpula especial de líderes de pensamento em tecnologia em fevereiro de 1998, organizada pelo editor de tecnologia Tim O'Reilly. Mais tarde naquele mês, a Open Source Initiative (OSI) foi fundada por Eric Raymond e Bruce Perens como uma organização sem fins lucrativos dedicada a promover OSS.
A FSF continua como um grupo de advocacia e ativista dedicado a apoiar as liberdades e direitos dos usuários relacionados ao uso do código-fonte. No entanto, grande parte da indústria de tecnologia usa o termo "código aberto" para projetos e programas de software que permitem acesso público ao código-fonte.
Software de código aberto faz parte da vida cotidiana
Projetos de código aberto fazem parte do nosso dia a dia. Você pode estar lendo este artigo em seu celular ou tablet e, em caso afirmativo, provavelmente está usando a tecnologia de código aberto agora. Os sistemas operacionais para iPhone e Android foram originalmente criados usando blocos de construção de software, projetos e programas de código aberto.
Se você estiver lendo este artigo em seu laptop ou desktop, você está usando o Chrome ou o Firefox como navegador da web? Mozilla Firefox é um navegador web de código aberto. O Google Chrome é uma versão modificada do projeto de navegador de código aberto chamado Chromium - embora o Chromium tenha sido iniciado por desenvolvedores do Google que continuam desempenhando um papel ativo na atualização e desenvolvimento adicional, o Google adicionou programação e recursos (alguns dos quais não são abertos source) a este software básico para desenvolver o navegador Google Chrome.
A Internet foi construída com tecnologia de código aberto
Na verdade, a internet como a conhecemos não existiria sem OSS. Os pioneiros da tecnologia que ajudaram a construir a world wide web usaram tecnologia de código aberto, como o sistema operacional Linux e os servidores web Apache para criar nossa internet moderna. Os servidores da Web Apache são programas OSS que processam uma solicitação para uma determinada página da Web (por exemplo, se você clicar em um link para um site que deseja visitar) localizando e levando você a essa página da Web. Os servidores da web Apache são de código aberto e são mantidos por desenvolvedores voluntários e membros da organização sem fins lucrativos chamada Apache Software Foundation.
O código aberto está recriando e remodelando nossa tecnologia e nossa vida diária de maneiras que muitas vezes não percebemos. A comunidade global de programadores que contribuem para projetos de código aberto continua a aumentar a definição de OSS e agregar valor à nossa sociedade.