Open Source: o que é?

Falar sobre código aberto no Brasil normalmente inicia debates acalorados que ultrapassam as fronteiras da TI. No artigo de hoje, vamos focar no conceito e suas aplicações cotidianas no setor de Tecnologia. Então, você sabe o que é o código aberto, ou acha que é sinônimo de software livre?

Definição de open source

O termo pode ser traduzido literalmente para código aberto. Na prática, isso significa que qualquer usuário, seja ele pessoa física ou jurídica, tem permissão de acessar e consultar o código. O termo foi adotado após uma reunião, em fevereiro de 1998, na qual os idealizadores do movimento debatiam formas de aproximar o software livre das empresas, deixando de lado questões ideológicas e filosóficas que caracterizam o free software.

Ou seja: aproximando os avanços tecnológicos que uma comunidade aberta de desenvolvedores pode atingir, da realidade de negócios vivenciada pelos empresários. De forma gratuita na aquisição das licenças.

Da reunião em 1998 nasceu a Open Source Initiative, ou OSI. Desde então, foram estabelecidos os 10 pontos para que um software seja licenciado como código aberto.

1: Distribuição Livre – A licença não pode impedir ou restringir o acesso gratuito ao software.

2: Código fonte – O software deve ser distribuído com seu código fonte. Caso seja um software compilado, deve ser disponibilizado um link de acesso para que todos os usuários possam fazê-lo.

3: Trabalhos Derivados – A licença deve permitir modificações e distribuições do código gratuitamente, e garantir que os softwares gerados mantenham os termos originais da licença em suas distribuições

4: Integridade do autor do código fonte – Complementando o tópico 3, o quarto ponto estabelece que a licença deve permitir a distribuição do programa construído por meio do código fonte modificado. No entanto, a licença pode requerer que programas derivados tenham um nome ou número de versão distintos do programa original. Isso dependerá da preferência do desenvolvedor do código original. Esse tópico vai ser importante mais à frente.

5: Não discriminar pessoas ou grupos – Todos podem ter acesso ao código fonte, independente de quem sejam.

6: Não discriminar áreas de atuação – Complementando o tópico 5, o sexto ponto estabelece que a licença não pode discriminar áreas de atuação. Isso significa que tanto o Governo quanto a Iniciativa Privada, com atuação em qualquer área, podem fazer uso do programa.

7: Distribuição da licença -Os softwares gerados a partir do código aberto devem manter-se abertos, sem a necessidade de uma nova licença.

8: Licença não específica ao software – Complementando o tópico 7, o oitavo ponto estabelece que um software gerado a partir de trechos ou distribuições de outro software open source deve se manter open source, mantendo todos os direitos originais nesse novo produto. Ou seja: uma modificação feita por uma empresa deve ser disponibilizada para todos.

9: Licença não restritiva – A licença de um código aberto, desde que seja distribuída junto da licença do produto no qual ele esteja inserido, não pode limitar o uso de outros softwares. Esse é um ponto importante na diferenciação entre código aberto e software livre.

10: Licença neutra em relação à tecnologia – A licença deve permitir novas interfaces, estilos e tecnologias sem restrições. Esse é outro ponto importante, como veremos a seguir.

Por que utilizar softwares Open Source?

Programas Open Source têm amplas vantagens quando comparados aos de código fechado (closed source ou software proprietário), que não pode ser acessado ou modificado livremente. Suas qualidades contribuem diretamente para a utilidade do aplicativo à empresa, podendo beneficiar o negócio em diferentes aspectos. Entenda quais são essas vantagens a seguir.

Segurança

Quando a equipe de TI tem acesso a cada linha de programa, ela consegue fazer uma análise do programa para identificar vulnerabilidades e corrigi-las, minimizando os riscos de segurança.

Esses colaboradores também podem monitorar o código e fazer conferências periódicas para verificar se ele não foi infectado por um vírus. Caso os profissionais identifiquem que o programa contenha algum malware, eles podem modificar seu código para remover a ameaça.

Confiabilidade

Existe a possibilidade do software utilizado na empresa tenha sido modificado, não tenha as funcionalidades que foram contratadas ou não funcione da forma desejada. Caso ele seja Open Source, o time de TI também poderá conferir todas as linhas do código para ter a certeza de seu grau de confiabilidade.

Personalização

Uma das principais vantagens consiste na possibilidade de personalizar o software Open Source. Caso falte alguma funcionalidade no aplicativo ou algum de seus recursos não estejam funcionando corretamente, é possível customizá-lo para se encaixar às suas necessidades.

Imagine que você contrate soluções de um fornecedor. Elas poderão ser modificadas para se encaixar melhor nas demandas específicas do seu negócio caso tenham código aberto, fazendo com que a eficiência e os resultados sejam maximizados.

Interoperabilidade

Programas proprietários são pouco flexíveis quanto à compatibilidade e interação com outros aplicativos, essa questão ainda não poderá ser corrigida pelo fato de seu código ser fechado. Por outro lado, Open Sources têm ampla liberdade de integração com sistemas utilizados pelo negócio — como seu banco de dados, ERP ou CRM —, já que eles poderão ser modificados pelos profissionais de TI para atender essa demanda.

Suporte mais extenso

É possível que muitas dúvidas e dificuldades surjam quando os profissionais pretendem modificar um aplicativo Open source. Entretanto, esse tipo de software, normalmente, tem amplas comunidades online de desenvolvedores que já modificaram o programa anteriormente.

Por exemplo, caso seja necessário realizar uma correção, alteração ou complementação no software, o pessoal de TI encontrará amplos materiais na internet sobre o código. Esse é um aspecto que também contribui para o trabalho de suporte dos fornecedores, pois eles terão mais materiais e conteúdos para estudar sobre o programa.

Redução de custos

Mesmo que sejam pagos, aplicativos de código aberto trazem impactantes reduções de custos para as organizações. Isso acontece pelo fato de as licenças desse tipo de programa ter valores menores que aquelas de código proprietário.

Outra forma de economia consiste no melhor custo-benefício, já que quando o programa precisar ser atualizado ou ter funções acrescentadas, ele se encaixará nas necessidades da empresa e você não arcará com recursos que não utilizará.

Além disso, quando o programa precisa ser atualizado, a organização não precisará adquirir uma licença da nova versão, já que os recursos e correções podem ser feitos pela sua própria equipe de TI ou o fornecedor que o disponibilizou.

Desempenho

O código também pode ser customizado para que ele seja otimizado e funcione de forma mais rápida. Por exemplo, os programadores podem encontrar linhas de códigos desnecessárias e eliminá-las, fazendo com que o programa seja mais leve e seja executado mais rapidamente.

 Código aberto X software livre

É muito comum confundir os termos. Ainda que muitas vezes sejam utilizados como sinônimos, o open source difere do software livre num conceito elementar: o de propriedade. Um software livre necessita que todos os seus componentes sejam software livre, o que significa que o uso de qualquer trecho de código proprietário é proibido. Da mesma forma, usar um software livre para gerar um software que não seja livre também é proibido.

Observe que os tópicos 4, 9 e 10 do open source entram em conflito com essa exigência. E temos no Mozilla Firefox e no Ubuntu exemplos que esclarecem a diferença entre os termos.

Firefox é código aberto, não software livre

O licenciamento do navegador da Mozilla é gratuito e seu código está disponível para consulta e modificação da comunidade. Porém, é exigência que qualquer modificação realizada pela comunidade seja disponibilizada com outro nome, diferente de Firefox e que não seja vinculado à Mozilla. Os navegadores Iceweasel e Iceape são softwares livres que derivam do código fonte do Firefox.

Ubuntu é código aberto, Debian é software livre

Ainda que o Ubuntu seja uma distribuição Linux derivada do Debian, ambos trabalham de formas distintas com algo fundamental na computação corporativa: o uso de drivers. Enquanto o Debian só aceita software livre, o Ubuntu trabalha com drivers proprietários para interfaces de rede, placas de vídeo e impressoras, por exemplo.

Gostou da postagem de hoje? Conhecimento é fundamental para se manter atualizado. Visite sempre o nosso blog!