O software de código aberto (OSS) é um software para o qual o código-fonte é visível e alterável pelo público ou "aberto". Quando o código-fonte não é visível e pode ser alterado pelo público, ele é considerado "fechado" ou "proprietário".
O código fonte é a parte de programação por trás dos bastidores do software que os usuários normalmente 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
O 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 liberados com mais frequência, o software é mais estável com mais programadores para procurar erros no código e atualizações de segurança são implementadas mais rapidamente do que muitos programas de software proprietários.
A maioria dos OSS usa alguma versão ou variação da Licença Pública Geral GNU (GNU GPL ou GPL). A maneira mais simples de pensar em uma GPL semelhante a uma foto que está no domínio público. A GPL e o domínio público permitem que qualquer pessoa modifique, atualize e reutilize algo que seja necessário. A GPL oferece 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 do 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 na tecnologia de código aberto.
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?
Embora o conceito de codificação colaborativa de software tenha 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 a 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 livre ou aberto de volta à linha de frente. O conceito de "software livre" refere-se à liberdade, não ao custo. O movimento social por trás do software livre mantém 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 formativo no movimento de software livre e de código aberto com seu Projeto GNU. O GNU é um sistema operacional livre (um conjunto de programas e ferramentas que instrui um dispositivo ou computador a operar), normalmente lançado com um conjunto de ferramentas, bibliotecas e aplicativos que juntos podem ser referidos como uma versão ou uma distribuição. O GNU é emparelhado com um programa chamado kernel, que gerencia os diferentes recursos do computador ou dispositivo, incluindo as comunicações entre aplicativos de software e o hardware. O kernel mais comum emparelhado com o GNU é o kernel Linux, originalmente criado por Linus Torvalds. Esse sistema operacional e o emparelhamento de kernel são tecnicamente chamados de sistema operacional GNU / Linux, apesar de serem freqüentemente referidos simplesmente como Linux.
Por uma variedade de razões, incluindo confusão no mercado sobre o significado real do termo "software livre", 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 oficialmente adotado em uma cúpula especial de líderes 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 o OSS.
A FSF continua como um grupo de defesa e ativismo dedicado a apoiar as liberdades e direitos dos usuários relacionados ao uso do código-fonte. No entanto, grande parte do setor de tecnologia usa o termo "código aberto" para projetos e programas de software que permitem o acesso público ao código-fonte.
Software de código aberto é parte da vida cotidiana
Projetos de código aberto fazem parte do nosso dia a dia. Você pode estar lendo este artigo no seu celular ou tablet e, nesse caso, provavelmente está usando a tecnologia de código aberto no momento. Os sistemas operacionais para iPhone e Android foram criados originalmente usando blocos de construção de software, projetos e programas de código aberto.
Se você está lendo este artigo no seu laptop ou desktop, está usando o Chrome ou o Firefox como navegador da web? Mozilla Firefox é um navegador da 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 a desempenhar um papel ativo na atualização e desenvolvimento adicional, o Google adicionou programação e recursos (alguns dos quais não são open source) para este software base para desenvolver o navegador Google Chrome.
Na verdade, a internet como a conhecemos não existiria sem o OSS. Os pioneiros da tecnologia que ajudaram a construir a world wide web usaram a tecnologia de código aberto, como o sistema operacional Linux e os servidores da web Apache, para criar nossa Internet moderna. Os servidores da web Apache são programas de 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 gostaria de visitar) localizando e direcionando você para essa página da web.Os servidores da web Apache são de código aberto e são mantidos por voluntários do desenvolvedor e membros da organização sem fins lucrativos chamada Apache Software Foundation.
O código aberto está recriando e remodelando nossa tecnologia e nossas vidas diárias de maneiras que muitas vezes não percebemos. A comunidade global de programadores que contribuem para projetos de código aberto continua aumentando a definição de OSS e aumenta o valor que ela traz para nossa sociedade.