Carreira, Conceitos, Programação

Open Source e Software livre, existe diferença ?

Tempo de leitura: 7 min

Salve, programador(a)! Mais uma vez estamos aqui para trocarmos uma ideia sobre um tema que acreditamos contribuir na sua jornada de programador(a).

Espero que este texto acrescente de alguma maneira e aprimore o seu olhar acerca da programação. Antes de iniciar a nossa conversa.

Inscreva-se neste nosso canal Luaverse, no youtube também e receba muitas dicas de programação e tecnologia.

Se inscreva na nossa newsletter para não perder nenhum artigo do nosso blog.

Segue aqui!

Considerações iniciais

Um dos conteúdos mais falados, quando nos referimos a tecnologia, é sobre o Software Livre. Um dos motivos dessa “popularidade” é devido a ascensão do sistema operacional Linux com seus comandos e características peculiares tais como Debian e Ubuntu. Com isso o Software Livre ganhou bastante destaque no mundo da tecnologia.

Muitas são as vantagens, porque uma licença pode alcançar um lucro de até 70% para que se acesse ao seu software; se você adquirir um software proprietário o direito de acessá-lo fica restrito a um único computador, caso tente instalá-lo em outro é considerado ilegal. Pensando nestes direitos que uma empresa que adota um software livre, podemos notar um alto retorno financeira, o que contribui para muitas empresas optarem em usá-lo.

Antes de ir mais afundo na conversa, vejo como relevante apresentar uma breve definição do que seria Software, já que irei falar bastante esta palavra “software”. Software nada mais é que programas que estão no computador que possibilitam aos seus usuários produzir textos, construir tabelas, editar, visualizar fotos e executar ações e entre outras que podemos encontrar no computador. Isso só é possível, por eles estarem instalados. Contudo para se ter direito a usá-los, antes, era preciso comprar muitos dos programas essenciais.

É justamente com as chegadas dos softwares livres que elaborados pela coletividade, pois vários programadores de qualquer lugar estão produzindo softwares com acesso gratuito, que você só precisar clicar e baixar. Claro que existem alguns casos em que os softwares vão apresentar uma versão mais “simples” das funções, mas que você pode ter acesso a mais outras funções “rebuscadas” se pagar a licença. Mas isso não exclui as vantagens de se editar copiar, redistribuir e outras liberdades que o software livre apresenta.

Só uma ressalva: o “Linux”, como muitas pessoas pensam, não é um sistema operacional como o windows ou uma empresa como a Dell, por exemplo. Ele é um motor (Kernel) da distribuição (no mundo linux chamamos a de distribuição uma versão de um sistema operacional construído em cima do kernel linux e de softwares livres), ou seja, ele é aquilo que impulsiona, contribui para o computador funcionar. Antes de mais nada, podemos entender que o “Kernel” é como se fosse o mediador entre o hardware e as ações que serão executadas pelo usuário, ele seria o intermediário. Busquei trazer este esclarecimento de Kernel, a título de curiosidade e esclarecimento de conversa. Como o foco não é detalhar as funções Linux, quem sabem um próximo post ? Vamos para por aqui e focar na temática central.

Falando em tecnologia, sabiam que há um entendimento, bem equivocado, de que um software para ser livre é necessário apenas que o seu código fonte esteja acessível, aberto ao público. Pensando nisso, que tal esclarecer melhor esta diferença e trazer os mais relevantes entendimentos sobre essa temática.

Leia também: programacao-para-iniciantes-8-dicas-praticas

Será que realmente um programa, por conter um código aberto (Open Source), ao mesmo tempo, pode ser associado a um software livre? Vamos entender.

O que é Open Source

Esta palavra surge do idioma de inglês que na sua tradução significa código aberto. Ou seja, é o código-fonte de um software, que pode ser alterado e acessado por qualquer pessoa dependendo da sua licença.

O modelo de distribuição open source foi desenvolvido por 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 não precisariam pagar para usar ou adaptar o software a suas necessidade. Dessa forma as empresas poderiam investir ainda mais no setor de TI. Muitas empresas como a IBM, Dell, Intel e HP adotam este modelo de distribuição de software.

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.

Amigo(a) leitor(a), 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 é bem isso. Quando se fala em código aberto, quer dizer que qualquer pessoa tem a possibilidade de encontrar o código daquele programa. Contudo o programador que o desenvolveu, é ele, que vai definir como aquele código será usado. Ou seja, isso não quer dizer que todos podem modifica-lo e sim visualizá-lo a partir do que o programador definiu.

Você pode redistribuir o código, fazer até mais outras versões dele. Mas é precisa manter a licença original do software. Por exemplo, podemos citar com a mesma licença a GPL2 que faz redistribuição.

Se quer uma exemplo de uma que não distribui, podemos associar a:

  • MIT License

A licença MIT, falo desta licença por ela ser comumente utilizada nos programas de Open Source, além de ser considerada 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 distribuição for feita, o código-fonte não precisa ter um obrigação de distribuição ao público; as modificações, se for da vontade do programador, existe a possibilidade de usar qualquer licença e outras. Podemos notar que esta licença é bem flexível. Temos exemplos de projetos que a usam são o jQuery, Bootstrap e o Rails.

Além disso, existem outras licenças como GPLv3Apache License 2.0;

Vamos conhecer algumas.

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 por isso ela é considerada por muitos como uma das mais, ou melhor, a mais restritiva. Veja que sempre que você lançar um projeto ele precisa ser público; qualquer mudança feita no código-fonte possui a obrigação de ser documentada e outros. O Bash, GIMP, Linux (GPLv2) são exemplos de projetos que usam-na.

  • Apache License 2.0

De forma simples e prática esta licença oferta uma proteção semelhante a GPLv2; não aceita qualquer uso expresso, escrito, 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 comum que são associados a esta licença.

  • Berkeley Software Distribution (BSD)

Esta licença é encontrada em duas versões que são 2-clause e 3-clause. Praticamente suas características dialogam com as citadas anteriormente com o do Apache. Mas ele 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; BSD 3 -cluse não obriga aparecer os nomes dos autores e colaboradores. Como exemplos temos o Go, Pure.css e o Sentry.

A partir disso que foi falado, vamos para mais uma dica: quando você for fazer o 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 que podem ser GNU, GPL, BSD e outras. Um exemplo é o google chrome, seu motor de renderização o v8 é open Source e disponível para outras empresas usarem como base de seus produtos. Além disso, muitos navegadores de internet hoje utilizam o v8, como o mais recente é o “novo” navegador da microsoft o edge que foi inteiramente construído sobre o motor de renderização da google.

– 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, livre, ou seja, não precisa pagar nada. Mas como sabemos, mesmo que um software seja “livre”, isso não quer dizer que ele será 100% gratuito. Vamos entender melhor. 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 deus propósitos. Mas isso só pode ocorrer por meio do acesso ao código-fonte;
  • Possibilidade de fazer outras distribuições de cópias, caso queira ajudar os outros;
  • A possibilidade de dividir cópias das suas versões que foram modificadas para outros. Se formos pensar nisso, o(a) programador(a) ao entregar suas cópias estará contribuindo com outras pessoas que poderão se beneficiar deste recurso. Mas para isso, precisa ser Open Source.

Aproximações e diferenças: entenda as peculiaridades de cada um.

Notaram como Open Source e o software livre estão interligados. Mas um grande diferença é que o Open Source não é obrigado a seguir a essas liberdades essenciais, esses pré-requisitos que falamos.

Para que o seu software seja considerado livre, ele tem que seguir ao pé da letra esses pré-requisitos, essas liberdades essenciais listados anteriormente.

São gratuitos ?

Uma outra dica, amigo(a) leitor(a), é que tanto o Open como o Software livre não são obrigatoriamente sem qualquer custo. Não é bem assim. O programador pode, se for do seu desejo, estabelecer um valor a ser cobrado para quando ele fizer, lançar futuras alterações naquele software ou cobrar pelo suporte. Vou citar o exemplo de uma empresa que ganham como a forma de suporte: Red Hat lucra dessa forma, porque 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 fazerem isso, para se manterem ativas no mercado de trabalho.

Uma outra forma de exemplificar é pelo uso do Only Office que é um Open Source, livre e possui uma licença paga; o Zorin OS que também possui licença gratuita, contudo ele possui a versão paga chamada de “Zorin OS pro”.

Com base no que foi explicado, conseguimos ter mais clareza de suas diferenças. Porque para entendemos que um software se configura como livre, antes ele precisa atender a todas as quatro liberdades essenciais citadas, bem como ela atenda aos requisitos de Open Source. Ou melhor, o uso do Open Source necessita de o código estar aberto ao público para que possibilite: alteração do código, a distribuição de outras versões modificadas, modificação este código como bem entender e outros.

Considerações finais

As nossas dicas são elaboradas pensando em você e na sua atuação neste setor . Pensando nisso, vejo como mais adequado apresentar estes conceitos e suas peculiaridades para que tenhamos cada vez mais consciência das atribuições dessas licenças e quão impactantes e produtivas elas podem ser em nosso dia a dia.

Dessa forma, vimos as inúmeras vantagens de se utilizar os recursos do software livre e Open Source, se comparada aos softwares proprietários que possuem um olhar voltado mais ao lucro. Vale ressaltar também que vejo como uma boa sugestão o uso do Linux se associado ao Windows. Ou seja, o que é relevante é entender que você pode escolher qual software e licença se aproxima mais das suas características, dos seus gostos. A ideia deste texto é apenas transmitir um olhar, um entendimento destes programas, com suas características afins e suas diferenças e detalhes, a partir das leituras que tive.

Referências

https://www.tecmundo.com.br/linux/1739-codigo-aberto-e-software-livre-nao-significam-a-mesma-coisa-.htm

https://www.gnu.org/philosophy/free-software-for-freedom.html

https://canaltech.com.br/produtos/O-que-e-open-source/

https://medium.com/code-prestige/como-funcionam-as-licenças-open-source-9ff1da677ccd

2 thoughts on “Open Source e Software livre, existe diferença ?

Deixe um comentário

O seu endereço de e-mail não será publicado.