O que é Open Source?

O mundo hoje é mais democrático para quem deseja ou precisa usar a informática, mais precisamente quem necessita de programas de computador. Mas nem sempre foi assim e em parte o que tornou o acesso ao mundo dos computadores algo um pouco mais simples ou menos custoso, foi o software de código aberto ou open source. Mas o que é exatamente open source?

Os outros tipos de programas

Pode-se dizer que há vários “tipos” de software ou programas de computador, quanto aos aspectos de seu uso e distribuição, mas em termos mais gerais, podemos dividi-los em dois grandes grupos: software proprietário ou closed source e software livre ou open source.

A compreensão passa por entender o que não é open source. O primeiro grupo engloba boa parte dos programas que se utilizam comercialmente e até poucos anos atrás, correspondiam a mais de 90% de tudo que se tinha instalado em um computador dentro de uma empresa e até mesmo em ambiente doméstico e que é representado pelos softwares proprietários ou de código fechado.

Quando você utiliza um programa de qualquer natureza (sistema operacional, editor de texto, gerenciador de e-mail, etc), este software é composto de um código fonte, que é a programação responsável pelo funcionamento, pelos recursos e características do programa usado. Este código é compilado, ou ‘traduzido’, para uma linguagem de programação compreensível para o sistema em que ele é executado. No caso do software proprietário, este código não é fornecido e é de conhecimento exclusivo da equipe de programadores que o criou.

Softwares proprietários ou de código fechado ou ainda closed source, proliferaram ao mesmo tempo em que a informática desenvolveu-se e muitas empresas foram criadas com o objetivo de fornecer programas e este foi um artifício para impedir que um concorrente usasse de sua programação ou conhecesse seus métodos e os utilizasse na criação de produtos concorrentes.

Apenas o criador do software proprietário pode copiar, inspecionar e alterar seu código. O uso do software proprietário por terceiros, requer que os usuários concordem com os termos de uso e uma licença, que é exibida geralmente em algum ponto do processo de instalação ou na primeira execução. Entre as muitas restrições impostas nestes termos, geralmente as mais importantes referem-se aos aspectos de comercialização, cópia, redistribuição, uso e que não se fará nada com o software que os autores do software não tenham expressamente permitido.

Como é de se imaginar, até pelo nome e em contraposição ao primeiro, o software livre ou de código aberto, tem o código fonte liberado para conhecimento e acesso de quaisquer pessoas. Mais que isso, é permitida a sua alteração. Vamos entender melhor como isso funciona a seguir.

Características do Open Source

Contar um pouco da história do mais popular exemplo de programa open source, ajuda entender bem o que é o conceito por trás disso e os benefícios que são associados.

No início dos anos 90, na Universidade de Helsinque, na Finlândia, Linux Torvald criou o sistema operacional Linux a partir do Unix, sob a licença “GNU General Public License”, que fornece uma das muitas designações e parâmetros para licenças de software e que foi criada por Richard Stallman da Free Software Foundation.

A partir daí, muitas pessoas ao redor do mundo baixaram o Linux e começaram a trabalhar com ele. Entre os muitos usuários, alguns eram programadores e por terem acesso ao código fonte, analisaram-no, aprenderam-no e fizeram modificações para melhorá-lo. Durante aproximadamente três anos Torvalds recebeu todas as alterações e contribuições e incorporou várias delas na versão original, lançando então a versão 1.0 do Linux em 1994.

A GPL ou GNU General Public License, é o tipo de licença predominantemente usada em projetos de código aberto. Entre os diversos aspectos contidos na licença, os termos determinam que se ocorrer alguma modificação em um programa de código aberto, a distribuição do programa alterado também deve distribuir o código fonte que foi alterado. Ou seja, ninguém pode usar código aberto para produzir código proprietário a partir dele.

Mas o aspecto mais interessante relativo ao Open Source, é a atuação colaborativa que normalmente está associada e que vimos acontecer no “nascimento” do Linux e que perdura até os dias de hoje. Normalmente há uma comunidade global de desenvolvedores que doa seu tempo e seu trabalho em prol de produzir melhorias no código original, resolvendo e corrigindo problemas e implementando novas funcionalidades.

Assim, contrariamente aos softwares proprietários em que novas versões, updates e patches só são divulgados pela empresa que criou o software, no caso do software de código aberto, alterações de toda ordem podem vir literalmente a qualquer momento e de qualquer parte do mundo.

Esse caráter do software livre, aproxima-o enormemente de um conceito plural e orientado às reais necessidades dos usuários.

Vantagens do Open Source

Embora algumas sejam controvertidas e questionadas, particularmente por quem está no polo oposto, ou seja, quem produz código proprietário, há algumas vantagens e que acabam sendo quase fundamentos daqueles que desenvolvem código aberto:

Transparência – na medida em que tenho acesso à programação por trás de cada programa executado, tenho a possibilidade de saber exatamente tudo o que ele faz, bem como a garantia de que não está ocorrendo nada que eu não permitiria ou gostaria, como por exemplo, coleta de dados pessoais, que garantem meu sigilo e privacidade;

Informação – as tecnologias e a forma como as coisas acontecem em termos de programação, não são mais exclusivas de quem programou e assim o conhecimento é compartilhado;

Segurança – devido ao fato de que o código é público, qualquer pessoa com os conhecimentos necessários pode contribuir para melhorar e mesmo corrigir problemas e falhas associadas à segurança, o que só pode ser feito pelos programadores originais quando se tem código proprietário;

Manutenção – manter o software atualizado, bem como fornecer melhorias, não são situações que dependem apenas do fornecedor do programa, mas possibilidades ao alcance de muitos;

Custo – embora não seja garantida a gratuidade em 100% dos casos, é muito próximo disso o número de programas nesta condição, o que é um ponto favorável à democratização informática.

Open Source democratizando o acesso à informação

A característica mais marcante que foi responsável pela democratização do acesso, foi a gratuidade.

Durante os anos de maior expansão da Internet, muitas tecnologias que foram usadas, eram baseadas no open source. Assim, exceto pelo hardware, podia-se montar um servidor de hospedagem de sites apenas usando software livre, ou seja, sem custo.

Começando pelo sistema operacional Linux, o serviço de exibição de páginas Apache, o banco de dados MySQL, o serviço de e-mail Exim, a linguagem de programação PHP, tinha-se um servidor capaz de fornecer tudo que a Internet exigia de uma hospedagem, sem gastar um único centavo com licenciamento de software.

Na outra ponta, encontramos o usuário que acessa os sites hospedados neste ambiente. Como geralmente os programas open source são gratuitos, adquirir um computador tornou-se economicamente mais acessível, visto que o custo com o software livre incluso, pode ser bastante inferior a uma máquina com software proprietário. Nessa onda, multiplicaram-se distribuições Linux, navegadores, programas de gerenciamento de e-mail e tudo mais que alguém precisa para usar um computador.

E se não bastasse tudo isso, o movimento ampliou-se e ganhou adeptos do conceito em todos os segmentos. Hoje você cria um blog, monta uma loja online, desenvolve e mantém um site institucional, ou escolhe dezenas de CMSs para gerenciar todo tipo de conteúdo na Internet, apenas usando algumas das mais populares e melhores aplicações web, todas nascidas sob a égide do código aberto.

Conclusão

Software ou programa de código aberto ou open source, é todo o programa cujo código fonte é fornecido em caráter público, podendo ser alterado e redistribuído livremente, gratuitamente e nas mesmas condições que o software original e costuma ter um caráter colaborativo em termos de desenvolvimento e com aspectos que favorecem enormemente a acessibilidade digital a um maior número de pessoas.