O que é open source? Veja como funciona e exemplos de softwares de código aberto
Open source é um modelo descentralizado de desenvolvimento de softwares que busca otimizar o código-fonte por meio de esforços colaborativos
Open source é um modelo descentralizado de desenvolvimento de softwares que busca otimizar o código-fonte por meio de esforços colaborativos
Open source é um modelo descentralizado de projeto que disponibiliza o código-fonte da aplicação para o público, de modo com que contribuintes possam executar, sugerir melhorias e correções ou redistribuir o programa de maneira colaborativa.
Depois que o código-fonte de uma plataforma open source é disponibilizado em um repositório, a comunidade pode estudá-lo e apontar possíveis melhorias a serem feitas mediante aprovação. Esse modus operandi é visto em sistemas open source como Android, Linux ou Mozilla Firefox, por exemplo.
A seguir, saiba o que é open source, entenda suas principais características, e confira vantagens e desvantagens de um software de código aberto.
Open source refere-se a um modelo descentralizado de desenvolvimento de projetos tecnológicos, no qual o código-fonte do software é disponibilizado ao público para uso e sugestões de melhorias, inovações e redistribuições de forma colaborativa e autossustentável.
O termo em inglês “open source” é traduzido como “código aberto”, e faz alusão à acessibilidade ao código-fonte de um software. A expressão foi cunhada por Christine Peterson em 1998, diante da necessidade de uma ideia ligeiramente distinta do conceito de software livre.
Inicialmente, os desenvolvedores do projeto disponibilizam o código-fonte do software criado em um repositório público (como GitHub ou GitLab). Além disso, também definem o tipo de licença open source do projeto, que ditará as regras de como o programa poderá ser usado, modificado ou redistribuído.
Uma vez que o código-fonte é disponibilizado, colaboradores podem testá-lo e sugerir solicitações (chamadas de pull requests) para melhorias e correções de bugs. Essas demandas são revisadas por membros fixos (committers), responsáveis por aplicar ou não as mudanças após análises.
O ciclo colaborativo de solicitações e alterações se repete constantemente, fazendo com que a própria comunidade fique responsável pelo suporte e manutenção do software. Paralelamente a isso, o sucesso do software pode estimular colaboradores a usarem o código-fonte para novos projetos.
A Open Source Initiative (OSI), responsável por promover e proteger o conceito de código aberto, lista 10 critérios para que um projeto ou software seja considerado open source:
Plataformas open source podem envolver diferentes projetos, de sistemas operacionais a aplicativos de computador. Alguns dos principais exemplos de aplicações de código aberto incluem:
O software open source apresenta diversas vantagens em relação a programas de código fechado. Dentre os benefícios de uso desses programas, estão:
O uso de softwares open source também tem desvantagens, principalmente tratando-se de dificuldades em um suporte contínuo e problemas de segurança devido à exposição do código-fonte. Algumas das desvantagens de um software de código aberto contemplam:
O conceito de software open source foca na ideia de um programa cujo código-fonte é acessível pelo público. A concepção mira benefícios práticos como desenvolvimento e melhorias do programa, e pode ser enquadrada como uma ideia “mais comercial” do software livre, devido a certas condições ou restrições.
Já o software livre é um movimento com fundamentação filosófica, que luta pela liberdade de uso em programas. Além da disponibilização do código-fonte, o software livre também defende a liberdade para executar, estudar, redistribuir e modificar o programa, sem tantas restrições como no open source.
Vale destacar que todo software livre também é open source, mas nem todo open source é um software livre. E apesar de ambos os movimentos defenderem alguns conceitos em comum, seus propósitos são diferentes.
Um software de código aberto diz respeito a um programa cujo código-fonte foi disponibilizado ao público. Isso permite que a comunidade use, modifique ou redistribua o código (sob condições da licença adotada), de modo a permitir maior flexibilidade e liberdade de uso do programa open source.
Já um software de código fechado consiste em um programa do qual o código-fonte é restrito ao proprietário. Logo, suporte, diretrizes e demais modificações da aplicação ficam sob responsabilidade da empresa ou desenvolvedor, sem a exigência de uma participação ativa da comunidade.
Importante frisar que a acessibilidade do código-fonte entre um software de código aberto e código fechado também pode implicar em diferentes custos para aquisição do programa, tempo de vida útil do software, licenciamento e opções de segurança e personalização.