Hoje em dia muitas soluções são construídas sobre softwares livres e open source. Esses programas desenvolvidos e mantidos por programadores espalhados pelo mundo, muitas vezes acabam se tornando fenômenos ganhando atenção de empresas e de usuários. A maioria desses Softwares são distribuídos de gratuitamente, mas também existem alguns casos que você vai precisar pagar uma licença para utilizar. Mas isso não exclui as vantagens de se editar copiar, redistribuir e outras liberdades que o software livre apresenta.
Existe um entendimento, bem equivocado, de que software livre e software open source são a mesma coisa. Então vamos entender a diferença entre esses dois conceitos.
O que é Open Source?
Open source que em tradução livre significa código aberto. Ou seja, o código fonte do programa fica disponível para todos e pode ser alterado e redistribuído por qualquer pessoa dependendo da sua licença.
O modelo de distribuição open source foi desenvolvido pelo Eric Raymond com ajuda de outros fundadores da OSI. Com um objetivo simples de criar uma licença de software livre para a redistribuição, alteração e consulta universal. Isso beneficia entusiastas da área de tecnologia e empresas que podem criar produtos e projetos utilizando esses softwares como base.
Características do Open Source.
Os programas de Open source possui um acesso livre, ou seja, o acesso é gratuito e a utilização dele não precisa acontecer com o uso de vendas ou permutas.
Muitos pensam que só pelo fato de o programa possuir um código aberto, isso já garantiria domínio de modificar ou distribuir o programa.
Não funciona assim.
Leia também: O que é uma API? Conheça os diferentes tipos
Quando se fala em código aberto, quer dizer que qualquer pessoa tem a possibilidade de ler esse código. Contudo, o autor, que vai definir como este pode ser usado. Ou seja, isso não quer dizer que todos podem modificar-lo e sim visualizá-lo a partir do que o mantenedor definiu.
Tudo isso vai depender da licença daquele projeto, e existem vários tipos de licença. As mais utilizadas são:
MIT License
Esta, é a mais comum nos projetos Open Source, além de ser a mais permissiva que existe, uma vez que não precisa redistribuir sua versão. Praticamente ele não possui restrições. Ou seja, se uma nova alteração for feita, o código-fonte não precisa ser redistribuído ao público. Esta licença é bem flexível. Alguns exemplos de projetos que a usam são o jQuery, Bootstrap e o Rails.
GNU General Public License, version 3 (GPLv3)
Este tipo de licença é mais usada para aqueles que gostam de deixar o código aberto, porém buscam uma precaução, segurança e ela é a mais restritiva. Sempre que você redistribuir um projeto ele precisa ser público; qualquer mudança feita no código-fonte possui a obrigação de ser documentada. Alguns exemplos de projetos que a usam o Bash, GIMP, Linux (GPLv2).
Apache License 2.0
De forma simples e prática esta licença oferta uma proteção semelhante a GPLv2. Não aceita o uso visível de nomes de marcas registadas no projeto; o código-fonte não é obrigatório ao público se você fizer distribuição de software. O Android, Apache e o Swift são exemplos mais comuns que são associados a esta licença.
Berkeley Software Distribution (BSD)
Esta licença existe em duas versões que são 2-clause e 3-clause. Praticamente suas características dialogam com as da Apache. Mas possui uma característica peculiares, por exemplo, não possui qualquer critério ou determinação acerca do uso de patentes. Na versão que compila o código-fonte não é obrigado utilizar a licença e os direitos; já BSD3-clause não obriga aparecer os nomes dos autores e colaboradores. Como exemplo temos a linguagem Go.
Uma dica: quando você for fazer o repositório no GitHub do seu projeto, sempre veja, reveja, entenda qual é a licença mais apropriada para seu código ou que melhor atenda aos seus objetivos.
Software livre, o que é?
É um conceito consolidado pelo Richard Stallman no ano de 1985, ao criar a Free Software Fundation (FSF). O vocábulo “free” acabou trazendo um duplo sentido de interpretação, já que muitos entendiam que o uso do “free” seria associado a ideia de gratuito. Mas mesmo que um software seja “livre”, isso não quer dizer que ele será 100% gratuito.
Um código só vai ser um software livre, se ele, de forma obrigatória, for Open Source; ele precisa estar com o seu código-fonte disponível. Mas para que isso aconteça é necessário ocorrer quatro liberdades essenciais, que são:
- Possibilidade de executar o programa conforme for os critérios desejados pelo programador com qualquer propósito;
- A possibilidade de entender como o programa age, interage e responde, além disso, ajustá-lo a partir dos seus propósitos.
- Possibilidade de fazer a distribuições de cópias.
- A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie.
Notaram como Open Source e o software livre estão interligados. Mas uma grande diferença é que o Open Source não é obrigado a seguir a essas liberdades essenciais.
Mas Para que o seu software seja considerado livre, ele deve seguir fielmente essas liberdades essenciais.
Open como o Software livre não são obrigatoriamente de graça. O autor pode, se for do seu desejo, estabelecer um valor a ser cobrado pela licença, ou cobrar pelo suporte.
Um exemplo de uma empresa que ganham como a forma de suporte é a Red Hat, ela fornece o acesso ao seu sistema sem precisar pagar nada, aliás, é um sistema Open Source. Mas eles cobram o suporte as empresas que desejam usá-la.
É muito comum empresas que surgem a partir de soluções open source fazerem isso, para se manterem ativas no mercado. No Brasil temos um exemplo do RocketChat, que é um programa similar ao slack. Eles oferecem serviços de hospedagem do chat para outras empresas, mas também distribuem uma versão que qualquer um pode hospedar.
Um outro exemplo é o do Only Office que é um Open Source, livre e possui uma licença paga; Ou o Zorin OS que também é gratuito, mas possui a versão paga chamada de “Zorin OS pro”.
Com base no que foi explicado, conseguimos ter mais clareza de suas diferenças. São dois conceitos diferente, mas que são ligados.
Bom pessoal é isso por hoje até a próxima.
2 thoughts on “O que é Open Source e Software livre?”