CONCEITO
Software livre
Software livre é software distribuído sob condições que garantem aos usuários liberdades para executá-lo, estudá-lo, modificá-lo e redistribuí-lo, inclusive em versões modificadas. A liberdade depende das permissões jurídicas e técnicas concedidas pela licença e pelo acesso necessário ao código-fonte; não significa que o programa precise ser gratuito nem que sua existência elimine relações de propriedade, trabalho ou dependência material.
DEFINIÇÃO ESSENCIAL
Software livre garante liberdades de usar, estudar, modificar e compartilhar
A liberdade de um software não é determinada apenas pelo fato de seu código poder ser visualizado. O conceito envolve permissões efetivas para que usuários executem o programa para diferentes finalidades, compreendam seu funcionamento, produzam modificações e compartilhem cópias originais ou alteradas.
Software livre, em inglês free software, é software cuja licença concede aos usuários as liberdades de executar o programa para qualquer finalidade, estudar como ele funciona, modificá-lo para atender a diferentes necessidades, redistribuir cópias e compartilhar versões modificadas. Para que estudo e modificação sejam efetivamente possíveis, o acesso ao código-fonte é uma condição necessária. “Livre” refere-se às liberdades concedidas ao usuário e não ao preço: software livre pode ser distribuído gratuitamente ou comercializado, assim como software gratuito pode continuar sendo proprietário e restringir estudo, modificação ou redistribuição.
Código visível, sozinho, não basta para definir software livre
Tornar o código-fonte acessível permite examiná-lo, mas software livre exige também permissões para usar, modificar e redistribuir o programa segundo condições compatíveis com essas liberdades. Ver o código e possuir liberdade jurídica para agir sobre ele são determinações diferentes.
EM TERMOS SIMPLES
O usuário não recebe apenas um programa pronto: recebe liberdades sobre seu uso e transformação
Em software proprietário, determinadas ações podem depender da autorização do titular dos direitos ou ser proibidas pela licença. No software livre, um conjunto de liberdades é garantido antecipadamente para que usuários possam utilizar o programa, estudar seu funcionamento e compartilhar melhorias dentro das condições estabelecidas pela licença.
O programa pode ser utilizado para diferentes finalidades
A liberdade de execução significa que o usuário não precisa obter uma nova autorização do desenvolvedor apenas porque deseja empregar o programa em outra atividade, ambiente ou finalidade compatível com seus recursos técnicos. Software livre não restringe a liberdade de execução a um grupo, profissão ou tipo específico de uso apenas para preservar o controle do autor sobre quem pode operar o programa.
O código pode ser estudado e adaptado
Com acesso ao código-fonte e permissão para modificá-lo, usuários e desenvolvedores podem compreender como o programa executa determinadas funções, corrigir problemas, adaptar comportamentos ou criar versões adequadas a necessidades diferentes. A liberdade de estudar e modificar reduz a dependência exclusiva do desenvolvedor original para decidir como o software pode evoluir.
Cópias e modificações podem ser compartilhadas
Software livre permite redistribuir cópias do programa e, respeitadas as condições da licença aplicável, compartilhar também versões modificadas. Isso permite que correções e adaptações circulem além de quem as produziu inicialmente. A colaboração deixa de depender exclusivamente de uma autorização individual do desenvolvedor original para cada nova cópia ou modificação distribuída.
COMO FUNCIONA
Como código-fonte e licença transformam acesso em liberdades efetivas
Software livre combina uma dimensão técnica e uma dimensão jurídica. O código-fonte torna possível estudar e modificar o programa, enquanto a licença estabelece quais ações os usuários podem realizar legitimamente com esse código e com suas cópias. A partir dessas condições, versões podem ser adaptadas, redistribuídas e desenvolvidas independentemente do controle exclusivo do autor original.
01
O código-fonte torna o funcionamento do programa examinável e modificável
Para estudar como um programa funciona e produzir modificações significativas, é necessário ter acesso à forma do software preferida para realizar alterações: seu código-fonte. O código executável por uma máquina pode permitir o uso do programa, mas não oferece necessariamente as mesmas condições práticas para compreender e modificar sua implementação. No software livre, a disponibilidade adequada do código-fonte é uma condição necessária para que as liberdades de estudo e modificação possam ser efetivamente exercidas.
02
A licença concede permissões que não dependem de autorização caso a caso
O simples acesso ao código não determina o que juridicamente pode ser feito com ele. Uma licença de software livre concede previamente as permissões necessárias para executar, estudar, modificar e redistribuir o programa dentro de suas condições, evitando que cada usuário precise negociar individualmente essas possibilidades com o titular dos direitos. É a combinação entre acesso técnico ao código e permissões compatíveis com as liberdades do software que transforma código disponível em software livre.
03
Usuários podem modificar o programa e desenvolver versões derivadas
Uma pessoa, grupo ou organização pode alterar o código para corrigir problemas, acrescentar funções, adaptar o programa a outra finalidade ou seguir uma direção diferente de desenvolvimento, respeitando as condições da licença aplicável. Essas mudanças podem permanecer para uso próprio ou, quando distribuídas, ser compartilhadas segundo as regras previstas pela licença. A continuidade do desenvolvimento não precisa depender exclusivamente da decisão técnica do mantenedor ou da organização que iniciou o projeto.
04
Cópias e versões modificadas podem circular entre novos usuários e desenvolvedores
As permissões de redistribuição permitem que cópias do programa sejam compartilhadas e que versões modificadas também possam circular, observadas as condições da licença utilizada. Isso possibilita que diferentes pessoas mantenham, adaptem ou continuem um software mesmo quando suas necessidades divergem das escolhas do projeto original. A liberdade de redistribuição transforma a cópia em uma possibilidade legítima de difusão e cooperação, e não necessariamente em uma infração reservada à autorização individual do titular.
Código aberto à leitura não basta: liberdade depende também das permissões da licença
Um programa pode disponibilizar seu código-fonte e ainda restringir modificação, redistribuição ou determinados usos. No software livre, acesso técnico e liberdade jurídica precisam atuar juntos para que usuários possam estudar, transformar e compartilhar efetivamente o programa.
DISTINÇÕES IMPORTANTES
Liberdade de software não é gratuidade, domínio público, simples acesso ao código ou sinônimo perfeito de open source
A expressão “software livre” costuma ser confundida com características que podem acompanhar determinados programas, mas não definem sozinhas o conceito. Preço, situação jurídica da obra, visibilidade do código e classificação como open source precisam ser distinguidos das liberdades concedidas aos usuários.
Software livre não é o mesmo que software gratuito
Um programa pode ser distribuído sem cobrança e ainda proibir que o usuário estude seu código, produza modificações ou redistribua cópias. Da mesma forma, software livre pode ser comercializado sem perder essa condição, desde que as liberdades correspondentes acompanhem a cópia recebida. “Livre” descreve as liberdades concedidas ao usuário; “gratuito” descreve apenas a ausência de preço em determinada forma de distribuição.
Software livre não é necessariamente domínio público
Um software livre pode continuar protegido por direitos autorais e ser distribuído mediante uma licença que estabelece juridicamente as liberdades e condições aplicáveis ao seu uso, modificação e redistribuição. Uma obra em domínio público, por outro lado, encontra-se em uma situação jurídica diferente quanto aos direitos exclusivos que poderiam restringir essas ações. Software livre descreve liberdades garantidas ao usuário; domínio público descreve outra condição jurídica da obra, e os dois conceitos não devem ser tratados como equivalentes.
Código visível não significa automaticamente software livre
Um desenvolvedor pode permitir que outras pessoas visualizem o código-fonte e, ao mesmo tempo, restringir juridicamente sua utilização, modificação ou redistribuição. Nesses casos, a transparência do código não produz por si só as liberdades características do software livre. Acesso para leitura é uma condição importante para examinar o programa, mas software livre exige também permissões efetivas para executar, estudar, modificar e compartilhar.
Software livre e open source possuem grande sobreposição, mas não são conceitos historicamente idênticos
Software livre (free software) e código aberto (open source) abrangem grande parte do mesmo universo prático de licenças e programas, mas surgiram com ênfases históricas e discursivas diferentes. O movimento do software livre coloca no centro as liberdades dos usuários, enquanto o movimento open source formulou sua abordagem enfatizando também critérios de licenciamento, colaboração e vantagens práticas de modelos de desenvolvimento com código aberto. Por isso, os termos frequentemente descrevem o mesmo software na prática, mas não devem ser tratados como se possuíssem necessariamente a mesma história, linguagem ou fundamento normativo.
LIMITES E CONTROVÉRSIAS
Liberdade sobre o código não elimina desigualdades materiais, dependências técnicas ou relações de poder
Software livre amplia as possibilidades de uso, estudo, modificação e redistribuição do código, mas essas liberdades não são exercidas em condições materiais idênticas por todos os participantes. Conhecimento técnico, tempo, infraestrutura, financiamento e organização continuam influenciando quem consegue desenvolver, manter e transformar efetivamente um projeto.
01
Liberdade jurídica não garante capacidade material igual de modificar o software
Duas pessoas podem possuir formalmente as mesmas liberdades sobre um programa e, ainda assim, dispor de condições muito diferentes para exercê-las. Conhecimento técnico, tempo disponível, equipamentos, acesso à educação, financiamento e capacidade organizacional influenciam quem consegue estudar profundamente o código, produzir alterações ou manter uma versão própria. Igualdade de permissões jurídicas amplia possibilidades, mas não elimina desigualdades materiais na capacidade efetiva de utilizar essas possibilidades.
02
Software livre pode depender de hardware e infraestrutura proprietários
Um programa pode conceder amplas liberdades sobre seu código e ainda ser executado em computadores, redes, dispositivos, serviços de hospedagem ou outras infraestruturas controladas por agentes privados e submetidas a condições distintas. A liberdade do software atua sobre uma camada específica do sistema técnico; ela não transforma automaticamente em livres ou socializados o hardware, a conectividade, a energia e os demais recursos necessários para executar o programa.
03
Código aberto ao desenvolvimento não elimina concentração de conhecimento ou manutenção
Um projeto pode permitir que qualquer pessoa estude, modifique e redistribua o código sem que todas as contribuições tenham o mesmo peso no desenvolvimento da versão principal. Conhecimento especializado, experiência, tempo de dedicação, reputação, financiamento e acesso às estruturas de manutenção podem concentrar capacidade prática de decisão ou influência em determinados participantes. A possibilidade de criar uma versão própria reduz dependência absoluta de um mantenedor, mas não produz automaticamente uma distribuição uniforme de conhecimento, participação ou influência dentro do projeto existente.
04
Liberdade do software não transforma automaticamente propriedade, trabalho ou relações de produção
Software livre pode ser produzido por voluntários, empresas, universidades, governos, cooperativas ou combinações dessas formas e pode ser utilizado dentro de relações econômicas muito diferentes. A abertura do código não determina por si só quem possui servidores, empresas, equipamentos ou outros meios de produção, nem como o trabalho de desenvolvimento é organizado e remunerado. Software livre altera relações de uso e controle sobre o código, mas não equivale automaticamente à socialização dos meios de produção ou à superação das relações capitalistas.
Liberdade formal sobre o código não elimina as condições materiais de seu exercício
Software livre amplia de maneira concreta as possibilidades de usar, estudar, modificar e compartilhar programas, mas essas liberdades são exercidas dentro de condições técnicas, econômicas e sociais que continuam distribuídas de forma desigual. Abrir o código pode reduzir certas formas de controle exclusivo sem eliminar, por si só, outras relações de dependência ou poder.
CONTINUE A EXPLORAÇÃO
Conceitos relacionados
Software livre se relaciona tanto à infraestrutura técnica quanto às condições sociais em que o software é produzido, utilizado e modificado. Os conceitos abaixo ajudam a compreender como liberdade sobre o código se conecta a descentralização, trabalho, propriedade, automação e ao funcionamento de sistemas como o Bitcoin.
Infraestrutura digital
Conjunto de recursos materiais e técnicos que sustenta sistemas digitais, incluindo hardware, redes, energia, software e serviços de operação. Software livre pode ampliar a liberdade sobre uma camada do sistema, mas continua dependendo da infraestrutura necessária para ser executado, armazenado, distribuído e mantido.
Descentralização
Distribuição de funções, capacidades e dependências entre múltiplos participantes. A possibilidade de estudar, modificar e redistribuir software pode reduzir determinadas formas de controle exclusivo sobre o código, mas software livre não garante sozinho descentralização de infraestrutura, governança, propriedade ou capacidade de participação.
Trabalho
Atividade humana necessária para projetar, escrever, revisar, testar, documentar, manter e adaptar software. O fato de um programa ser livre não determina se esse trabalho é voluntário, assalariado, cooperativo ou financiado por instituições. Software livre modifica direitos sobre o código, mas não define por si só a forma social do trabalho que o produz.
Propriedade
Categoria que envolve formas jurídicas, econômicas e sociais de controle e apropriação. Software livre pode restringir determinadas formas de exclusividade sobre o uso e a modificação do código, mas não elimina automaticamente copyright, propriedade de empresas, hardware, infraestrutura ou outros recursos econômicos envolvidos em sua produção e utilização.
Automação
Uso de sistemas técnicos para executar tarefas com menor intervenção humana direta em determinadas etapas. Software livre pode ser utilizado para construir, estudar e modificar sistemas automatizados, mas a abertura do código não determina por si só quais tarefas serão automatizadas, quem controla essa automação ou como seus efeitos serão distribuídos socialmente.
Bitcoin
Protocolo e rede cujo desenvolvimento utiliza software livre, permitindo que participantes examinem, executem, modifiquem e redistribuam implementações como o Bitcoin Core sob suas respectivas licenças. Essa liberdade permite criar versões derivadas do software, mas não concede a um desenvolvedor poder unilateral para alterar as regras que os demais participantes da rede aceitarão.
FONTES E DOCUMENTAÇÃO
Referências para aprofundamento
A definição de software livre depende das liberdades concedidas aos usuários e das condições necessárias para exercê-las. As fontes abaixo permitem verificar as quatro liberdades essenciais, o papel do código-fonte, a relação entre software livre e open source e, no caso do Bitcoin Core, as permissões concretas estabelecidas por sua licença.
01
GNU Project — The Free Software Definition
A definição mantida pelo Projeto GNU estabelece quatro liberdades essenciais: executar o programa para qualquer finalidade, estudar seu funcionamento e modificá-lo, redistribuir cópias e distribuir versões modificadas. O documento também afirma que o acesso ao código-fonte é um pré-requisito para as liberdades de estudar e modificar o programa e esclarece que software livre pode ser comercial. Essa é a principal referência conceitual para nossa definição de software livre como liberdade, e não como gratuidade.
GNU Project · Free Software Foundation · What is Free Software? — The Free Software Definition
02
Open Source Initiative — The Open Source Definition
A Open Source Initiative esclarece que open source não significa apenas acesso ao código-fonte. Sua definição inclui redistribuição, disponibilidade do código-fonte, possibilidade de obras derivadas, ausência de discriminação contra pessoas ou áreas de atividade e outras condições de licenciamento. A referência é importante para mostrar que simplesmente publicar o código para leitura não basta nem mesmo segundo a definição formal de open source.
Open Source Initiative · The Open Source Definition
03
GNU Project — Why Open Source Misses the Point of Free Software
Richard Stallman, escrevendo no Projeto GNU, explica que free software e open source abrangem quase o mesmo conjunto de programas na prática, mas utilizam linguagens e fundamentos normativos diferentes. O movimento do software livre coloca no centro a liberdade dos usuários, enquanto a formulação open source surgiu com outras ênfases e justificações. Essa referência sustenta nossa escolha de reconhecer a grande sobreposição prática sem tratar os dois termos como historicamente e normativamente idênticos.
Richard Stallman · GNU Project · Why Open Source Misses the Point of Free Software
04
Bitcoin Core — COPYING (MIT License)
O arquivo oficial de licenciamento do Bitcoin Core estabelece que o projeto é distribuído sob a MIT License. A licença concede amplas permissões para usar, copiar, modificar, combinar, publicar, distribuir, sublicenciar e comercializar cópias do software, preservadas as condições indicadas no próprio texto. O Bitcoin Core fornece, assim, um exemplo concreto dentro do universo do projeto em que o código pode ser examinado, modificado e redistribuído sem que essas liberdades concedam a um desenvolvedor autoridade para impor sua versão aos demais participantes da rede Bitcoin.
Bitcoin Core · repositório oficial · COPYING · MIT License
Liberdade sobre o software depende de permissões efetivas, não apenas de código visível
Software livre combina acesso ao código-fonte com liberdades juridicamente concedidas para executar, estudar, modificar e redistribuir o programa. Essas condições ampliam o controle dos usuários sobre o software, mas não determinam por si mesmas a governança de um projeto, a propriedade da infraestrutura em que ele é executado ou a forma social do trabalho que o produz.