#blog

A diferença entre software livre e código aberto

What’s a Rich Text element?

The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.

Static and dynamic content editing

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!

  1. asdasdsa
  • asdasdasdsa

How to customize formatting for each rich text

Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

Muitas pessoas entendem que software livre e software de código aberto (open source) são sinônimos. Entretanto, existem diferenças sutis entre esses dois conceitos do desenvolvimento de software: podemos considerar que todo software livre é de código aberto, mas o contrário nem sempre acontece.

Como já explicamos de forma resumida aqui no Blog da Caiena, na ocasião em que falamos sobre a segurança dos códigos no mundo open source, softwares de código aberto permitem que desenvolvedores o executem, copiem, distribuam, estudem, mudem e melhorem, uma vez que ele é disponibilizado de maneira pública. Assim, quem tem acesso ao software de código aberto pode incrementá-lo com novas features ou corrigir bugs, de acordo com sua necessidade.

Porém, um software de código aberto só pode ser considerado também como um software livre se garantir que as quatro liberdades essenciais que o caracterizam estejam presentes. De acordo com a Free Software Foundation, essas liberdades são: usar, estudar, redistribuir e melhorar o código. 

Então, quando surgem restrições de uso ou de modificações, proibições de redistribuição, privação de acesso ao código-fonte completo ou outras cláusulas legais e técnicas que impeçam essas liberdades no desenvolvimento, o software de código aberto não é considerado livre.

Aprenda mais sobre as diferenças entre esses dois conceitos e como identificá-los. Além da teoria, temos dicas práticas para te ajudar a aplicar o conhecimento no dia a dia.

Navegue pelo conteúdo:

Código aberto

Um software de código aberto (open source) pode ser assim considerado quando seu código-fonte fica disponível publicamente para que todos possam acessar, modificar de acordo com as necessidades e compartilhar, com foco no desenvolvimento coletivo. 

Segundo a Open Source Iniciative, "Código aberto não significa apenas acesso ao código-fonte. Os termos de distribuição do software de código aberto devem obedecer aos seguintes critérios”:

1. Redistribuição livre;

2. Incluir um código-fonte;

3. Permitir modificações e trabalhos derivados;

4. Manter a integridade do código-fonte do autor;

5. Não discriminar pessoas ou grupos;

6. Não discriminar áreas de atuação;

7. Distribuição da licença sem necessidade de execução de uma adicional;

8. A licença não deve ser específica a um produto;

9. A licença não deve restringir outro software;

10. A licença deve ser neutra em relação à tecnologia.

Segundo a edição de 2025 do relatório anual "Open Source Security and Risk Analysis", da BlackDuck, 97% das bases de códigos avaliadas no estudo incorporam softwares de códigos abertos.

Além disso, o estudo diz que o número de arquivos open source em uma aplicação média triplicou apenas nos últimos quatro anos. Uma das razões para isso seria o uso de “dependências transitivas”, que são bibliotecas de código aberto das quais outros componentes de software dependem para funcionar.

Para completar, a maior parte dos códigos open source está sendo acessada em repositórios de gerenciadores de pacotes. Mais de 280 mil dos quase 1 milhão de componentes OSS (Open Source Software) encontrados pelo estudo tiveram origem no npm (Node Package Manager), banco de dados público de pacotes JavaScript.

No artigo "O futuro do software de código aberto ainda está em constante evolução", publicado pela MIT Technology Review, a autora Rebecca Ackermann traz uma reflexão sobre essa realidade do código aberto:

“Com a disseminação do software de código aberto, uma bifurcação da pilha de tecnologia tornou-se prática padrão, com o código como estrutura de suporte para o sistema proprietário. Os softwares gratuitos e de código aberto geralmente serviam como base subjacente ou arquitetura de back-end de um produto, enquanto as empresas buscavam e defendiam. Hoje, as empresas não apenas dependem de software de código aberto, mas desempenham um papel enorme no financiamento e no desenvolvimento de projetos de código aberto: O Kubernetes (inicialmente lançado e mantido no Google) e o React da Meta são conjuntos robustos de software que começaram como soluções internas compartilhadas livremente com a comunidade de tecnologia mais ampla”.

Rebecca Ackermann no artigo "O futuro do software de código aberto ainda está em constante evolução", da MIT Technology Review.

Software Livre

Segundo a Free Software Foundation (FSF), a definição de software livre remete à tecnologia que "respeita a liberdade e senso de comunidade dos usuários", colocando como prioridade a liberdade da programação, não o seu preço. 

As quatro liberdades essenciais de um software livre, de acordo com a Free Software Foundation, são:

  • A liberdade de executar o programa como você desejar, para qualquer propósito;
  • A liberdade de estudar como o programa funciona, e adaptá-lo às suas necessidades – desde que o acesso ao código-fonte seja um pré-requisito;
  • A liberdade de redistribuir cópias de modo que você possa ajudar outros;
  • E a liberdade de distribuir cópias de suas versões modificadas a outros – considerando aqui também o acesso ao código-fonte como pré-requisito.
"Você pode ter pago dinheiro por suas cópias de software livre, ou você pode tê-las obtido a custo zero, mas independentemente de como você conseguiu suas cópias, você sempre deve ter a liberdade para copiar e mudar o software, ou mesmo para vender cópias".

Free Software Foundation

Para completar, a FSF explica que: “Um programa é ‘software livre’ se ele dá aos usuários todas essas liberdades de forma adequada. Do contrário, ele não é livre. Enquanto nós podemos distinguir vários esquemas de distribuição não livres em termos de que eles falham em serem livres, consideramos todos eles igualmente antiéticos”.

Então, qual a diferença e como identificá-la?

Ainda de acordo com as definições da Free Software Foundation, o termo software livre se difere de código aberto porque se refere à liberdade em vez do preço da tecnologia. Neste sentido, o termo “aberto” não traz a mesma referência à liberdade.

Como explica o Instituto de Referência em Internet e Sociedade, a principal diferença entre esses dois conceitos é a ideologia por trás dos movimentos. Enquanto o software livre é mais voltado à liberdade do desenvolvimento, o código aberto entende a coexistência do software proprietário, baseando-se na qualidade técnica de seu modelo produtivo.

Agora, para diferenciar um software livre de um de código aberto, é importante verificar a licença dessa tecnologia e analisar se há acesso ao código e possibilidade de modificações  ou redistribuição.

Liberdade nem sempre é gratuidade

Então, o conceito de software livre se refere à liberdade de uso, estudo, modificação e distribuição do software, enquanto o código aberto também possibilita isso, porém, com foco em práticas de desenvolvimento colaborativo. 

Entretanto, é importante considerar que isso não significa que as tecnologias sejam, necessariamente, gratuitas. Ao optar por essas escolhas, o desenvolvimento de software pode contar com custos como de distribuição, serviços de suporte técnico, customizações, treinamentos e implantação, além de outros relacionados à infraestrutura e manutenção. 

Portanto, mesmo que o software seja gratuito, ainda existem custos para seu funcionamento ser mantido. Vale lembrar também que todo software possui uma licença, ou seja, um registro que define legalmente os seus direitos de uso.

No caso das licenças explícitas, o criador da tecnologia define o que o usuário pode ou não fazer com ela. Aqui, temos como exemplo licenças como GNU, MIT, EULA. Também existem os softwares sem licença declarada, que definem casos em que ninguém pode usar, copiar ou modificá-lo, mesmo que ele esteja disponível em ambientes públicos. Há também a licença de domínio público, quando o software pode ser usado livremente com autorização do seu autor, que abre mão dos direitos, como no caso da licença Creative Commons Zero (CC0).

Código aberto na Caiena

Quando o código é aberto, qualquer pessoa pode identificar, comentar e até resolver possíveis bugs que existam. É por isso que, ao optar pelo uso do open source, é importante ficar atento às atualizações e à forma como essa tecnologia atende às suas necessidades.

Na Caiena, por exemplo, nós desenvolvemos o SOL - Solução Online de Licitação. O aplicativo foi criado para os Estados da Bahia e Rio Grande do Norte, com financiamento do Banco Mundial. Por possuir código aberto, ele fica disponível para que outras organizações, privadas ou públicas, utilizem, modifiquem e adequem às suas próprias necessidades.  

Este, como muitos outros projetos desenvolvidos com código aberto, vai de encontro aos pressupostos de transparência, eficiência e aproximação dos usuários, inclusive no poder público. Para conhecer outras iniciativas que criamos a partir desse conceito, acesse os cases do nosso site.

Mais conteúdos

Ao clicar em “Aceitar todos os cookies”, você concorda com o armazenamento de cookies em seu dispositivo para aprimorar a navegação no site, analisar o uso do site e nossos esforços de marketing. Veja nossa Política de Privacidade para mais informações.

Contato

Ops, revise o formulário e tente novamente.