Ariel Barcellos
Posted on May 29, 2020
Introdução
Antes de qualquer coisa, vamos tirar a ambiguidade existente no termo free software. Free software pode significar software livre e software gratuito. Nesse caso estamos falando de software livre.
Tanto software livre, como software de código aberto podem ou não cobrar na distribuição de cópias. Conforme consta do site gnu.org e opensource.org.
Todo software livre, bem como de código aberto, deve dar a liberdade ao usuário para acessar, executar, modificar e redistribuir seu código fonte. E, na maioria dosfalse casos podemos usar software livre e de código aberto como sinônimos.
Realmente, o site opensource.org coloca os dois como dois termos para a mesma coisa, porém na prática podemos ter um software de código aberto que não se trata de um software livre.
Isso porque, no caso do software livre, todo material feito a partir desse código não pode restringir essa licença. Por exemplo, eu posso acessar o repositório do código fonte do Linux, copiar, modificar e redistribuir o meu código modificado, porém as modificações não podem restringir a licença livre.
Por outro lado, um software de código aberto diz apenas respeito ao estado do seu código, que deve estar disponível ao usuário. Não, necessariamente, restringindo seu uso apenas para outros sofwares de código aberto.
Podemos ver bem como isso funciona comparando Linux e FreeBSD.
Linux VS FreeBSD
O Linux é distribuido sob a licença GNU/GPL (software livre), ou seja, não posso usar o código do Linux para fazer um sistema operacional de código fechado (proprietário).
Também não posso distribuir o código Linux com softwares cujas licenças restrinjam a liberdade de acessar, modificar, copiar e redistribuir. Softwares proprietário são o caso, pois restringem de usuário acessar e modificar o código fonte.
O FreeBSD é um sistema operacional de código aberto, já que você pode acessar, copiar, modificar e redistribuir seu código. Mas, diferente do Linux, você pode usar o código do FreeBSD para fazer o seu próprio sistema operacional e não deixar o código aberto, como é o caso do Mac OS X, que usa muitos componentes do FreeBSD.
Com isso concluimos que para ser software livre tem que ser de código aberto, mas para ser de código aberto, não precisa ser livre.
Outro jeito para lembrar é:
- Códigos derivados de software livre sempre serão software livre.
- Códigos derivados de software de código aberto, podem não ser software de código aberto.
Se um software é livre, como pode restringir o seu uso?
Bom, o fato de ser um software livre diz respeito apenas que ele atende às condições colocadas pela Free Software Foundation, e tem em seu uso um contrato de licença de uso que é aceito voluntariamente pelo usuário. Do mesmo jeito que o Windows tem um outro tipo de licença.
Ou seja, na prática o software livre pode ter um contrato de licença mais permissivo que o Windows, porém, ainda possui restrições.
Outra coisa que podemos pensar é na competência das partes do contrato em fazer valer suas cláusulas. A licença do Windows não permite cópia e distribuição do sistema para terceiros, porém o Windows é distribuido sem autorização, independente dessa restrição.
Da mesma maneira, se uma pessoa usa uma biblioteca javascript que está sob licença GNU GPL em um projeto que será distribuido e, que não terá seu código disponível para acesso, cópia e modificação, está infringindo o contrato.
Ou seja, provavelmente existem muitas aplicações por aí que usam código de software livre, porém não são software livre. É claro que, em alguns casos, isso leva a um processo judicial, pricipalmente quando envolvem grandes empresas. Do mesmo jeito que acontece com a utilização de Windows pirata, como no caso em que a Microsoft acusou Embraer de usar software pirata.
Código aberto como cultura de desenvolvimento
No fim, essas licenças que restringem o uso do código acabam só por dificultar o progresso da cultura de código aberto, uma vez que a vantagem do Open Source não está em dizer como ou não seu código será utilizado por outros, mas, sim, por ter toda uma rede trabalhando de forma descentralizada em resolver um mesmo problema.
E se a Canonical quiser distribuir o Ubuntu com softwares proprietários instalados por padrão? A ideia é que a cultura de código aberto é melhor e mais eficiente que a forma centralizada de desenvolvimento de software proprietário.
Se realmente acreditamos nisso, porque temer que peguem um trabalho descentralizado e o centralizem? Pela lógica, eles estão apenas piorando um produto. Desde que isso não proiba de qualquer forma que o trabalho descentralizado siga o seu caminho.
Conclusão
A cultura open source já se provou mais eficiente que a cultura de desenvolvimento centralizado, não devíamos ter medo de como vão usar o código, simplesmente porque não temos esse poder. Se uma pessoa quiser usar um código meu para algo que eu considero maléfico, eu não tenho como fazer nada. Da mesma forma, um fabricante de corda não tem como controlar um usuário dessa corda de se enforcar com ela. Ele pode até colocar nos termos de compra e uso da corda.
Você pode até querer que seu código seja apenas utilizado de uma forma ou outra, mas na realidade o único jeito de você evitar isso é não publicar o código, mas, de novo, só estará piorando o produto.
Espero que você tenha gostado desse artigo e se quiser estar sempre ligado em novas publicações me segue no Twitter: @arielbarcellos.
Posted on May 29, 2020
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.