← Explorar a história

História · Software

Software livre: código, permissões e cooperação

O projeto GNU, a circulação do Linux e a formação da Open Source Initiative mostram caminhos relacionados de colaboração em software. Disponibilidade de código e permissões de uso são perguntas distintas, e as denominações não apagam diferenças de objetivos.

Escrito pela equipe Compuzilla

Publicado em . Atualizado em .

Período desta leitura: 1983–1998.

Nesta leitura
Compuzilla sorrindo ao lado de um diagrama: Software livre: código, permissões e cooperação.

Software livre: código, permissões e cooperação

  1. Código disponível
  2. Permissões definidas
  3. Cooperação entre projetos
São condições relacionadas de colaboração. O desenho não transforma visibilidade do código em autorização irrestrita. Ilustração: equipe Compuzilla.

A cooperação precisa de condições

Estudar um programa pode exigir acesso ao código. Alterar e compartilhar também depende das permissões. Esse conjunto de condições ajuda a entender por que a história do software livre não é apenas a história de programas distribuídos sem cobrança.

Este recorte, de 1983 a 1998, reúne GNU, Linux e a denominação open source. Ele não cobre todos os projetos nem todas as interpretações políticas e jurídicas dessas iniciativas.

GNU: um sistema e uma proposta

O projeto GNU foi concebido em 1983, conforme seu relato histórico. O Manifesto GNU, de Richard Stallman, foi escrito em 1985 para pedir participação no desenvolvimento de um sistema compatível com Unix.

O documento apresenta razões do autor e objetivos de cooperação. É uma fonte primária para a posição do projeto, não uma descrição neutra do pensamento de todos os desenvolvedores. A intenção de permitir circulação e modificação exige considerar as condições sob as quais o software é oferecido.

Linux: o núcleo não é o sistema inteiro

A síntese do Computer History Museum registra o lançamento do kernel Linux em 1991 e a participação posterior de colaboradores. Um núcleo fornece parte das funções; ferramentas e bibliotecas completam ambientes de uso.

Essa distinção ajuda a entender combinações de componentes de projetos diferentes. A contribuição de um kernel não apaga o trabalho de quem desenvolveu as outras peças. O lançamento inicial também não significa que todas as condições de distribuição posteriores já fossem iguais desde o primeiro dia.

1998: uma denominação e uma organização

A Open Source Initiative situa sua formação em 1998. A denominação open source participou de uma forma de apresentar práticas de desenvolvimento e critérios de distribuição a públicos diferentes.

Software livre e open source podem abranger muitos dos mesmos programas, mas as expressões também carregam histórias e ênfases próprias. Não é necessário tratá-las como sinônimos perfeitos nem como conjuntos sempre incompatíveis para observar a cooperação entre projetos.

Código visível não resolve todas as questões

Acesso ao código não garante facilidade de contribuição, qualidade ou manutenção. Documentação, coordenação e revisão continuam necessárias. Permissões devem ser verificadas na licença aplicável, sem deduzi-las apenas de um repositório público.

Próxima leitura

Leia código-fonte para separar a representação do programa das condições que autorizam seus usos.

Sobre as fontes

O Manifesto e a história da OSI são documentos dos projetos; o museu fornece síntese independente para o Linux. A cronologia não substitui análise de uma licença específica. Referências consultadas em 11/10/2026.

Continue aprendendo

  • Verbete Software — Software é o conjunto de programas e outros elementos lógicos que orientam o funcionamento de um sistema computacional. Inclui aplicativos, sistemas operacionais e bibliotecas; sua execução depende de recursos físicos e de um ambiente compatível.
  • Verbete Código-fonte — Código-fonte é a representação de um programa escrita em uma linguagem de programação. Pode ser lida e modificada por pessoas e processada por ferramentas. Nem sempre é a mesma representação que o computador usa diretamente durante a execução.
  • Verbete Kernel — Kernel é o núcleo de um sistema operacional: a parte que administra recursos e oferece mecanismos para processos usarem memória, dispositivos e outras funções. O sistema completo também inclui ferramentas, bibliotecas e serviços além desse núcleo.
  • Verbete Biblioteca — Biblioteca é um conjunto reutilizável de código oferecido a outros programas por uma interface. Pode reunir funções, tipos e outros recursos. Ajuda a executar operações já implementadas, mas exige compatibilidade e uso conforme o contrato documentado.

Fontes para aprofundar