Código aberto X Código fechado

Código aberto X Código fechado

Publicado em: 20/4/2016

Em meu último post falei sobre o WhatsApp e o golpe que aplicam por meio dele. Lá eu cheguei a comentar que o WhatsApp tem o código fechado (closed source) e o comparei com o Telegram que tem código aberto (open source), mas aí ficou a dúvida: Por que cada um tem um tipo de licença diferente e por que cada qual escolheu trabalhar com essa licença?

Não dá pra dizer de forma assertiva o porquê de cada uma das empresas ter tomado essa decisão, porém, vamos analisar cada tipo de licença para que, em nossos projetos, possamos escolher o que for mais indicado para atingir os nossos objetivos.

O código fechado ou software proprietário, como é conhecido pela Open Source Initiative, é todo software que tem o código fonte suprimido e/ou que faça alguma restrição com relação a manipulação do código fonte.

Algumas pessoas determinam como closed source tudo aquilo que não é código aberto. Em minha visão isso é um erro, pois o Microsoft’s Shared source é um exemplo de licenciamento em que o código fonte é disponibilizado, mas não sob os termos Open source license, o que não o torna um closed source – apesar de não ser open source.

Nos sistemas closed source, por terem um código restrito, normalmente há limitações com relação ao conhecimento em torno do seu desenvolvimento, o que por consequência limita o acesso ao código fonte, já que é preciso aceitar uma licença específica que restringe a manipulação do código – sendo possível, em muitos casos, ler apenas o código para conhecê-lo.

Quanto aos sistemas que não possuem a “facilidade” de permitir o acesso aos fontes aceitando uma nova licença, há uma possibilidade de acessá-los: através da engenharia reversa, mas que normalmente são inviáveis devido ao alto grau de complexidade para se obter o código, além de ser ilegal.

Porque usar closed source:

– Resguardar segredos da empresa;

– Resguardar novas tecnologias;

– Maior credibilidade.

O código aberto (Open Source) é um sistema de licenciamento que permite que o código fonte de software possa ser utilizado, estudado e modificado por qualquer usuário sem nenhum tipo de autorização prévia, mas o desenvolvedor original do software determina as condições de uso e de distribuição.

Quando falamos de código aberto é comum achar que ele é o mesmo que software livre, mas não é. Qualquer licença de software livre é também uma licença de código aberto, mas o contrário não é necessariamente verdade, isso acontece porque o código aberto não compartilha das quatro liberdades essenciais definidas pela Free Software Foundation, que são:

– Executar o software como desejar, para qualquer propósito;

– Estudar o software e adaptá-lo como quiser;

– Redistribuir cópias para ajudar outros;

– Distribuir cópias de suas versões modificadas.

Porque usar open source:

– Gratuito;

– Liberdade de personalização;

– Não há dependência de um fornecedor;

– Possibilidade de implementar novas features de acordo com a necessidade.

Não dá pra dizer que o open source é melhor que o closed source ou vice-versa. Há muitos outros pontos a serem colocados na mesa na hora de adotar um software de código aberto ou fechado e, esses pontos vão variar de empresa para empresa.

Contudo, é bom saber os pontos positivos de cada um para identificar qual é o melhor, de acordo com a nossa realidade.