# Software Livre, o código da revolução

Neste par de aulas buscaremos nos familiarizar com dois movimentos fortemente baseados na Internet, a Wikipédia e o Software Livre. Eles são os exemplos máximos da produção colaborativa baseada em compartilhamento na Internet, não apenas por serem pioneiros e pelas dimensões que adquiriram, mas por serem simples o bastante para extrair-lhes as características que promovem sua eficiência.
Na aula introdutória, quando discutiu-se o funcionamento da Internet, destacou-se que ela é um ambiente informacional onde pode-se experimentar regras para a manipulação da informação. Aqui, buscaremos expôr nas quatro camadas da Internet a importância para esses movimentos de regras desenhadas especificamente para promover colaboração.
Foi dito na aula sobre a Wikipédia que aquele era o exemplo mais simples para esclarecer o funcionamento da produção colaborativa baseada em compartilhamento. O Software Livre, por sua vez, é o melhor exemplo para entender seu aspecto ético e libertador - e aqui focaremos nele - além de como lidar com a complexidade da colaboração entre mercados e voluntários, ausente no exemplo anterior.

## Origens

Ao falar-se desses movimentos, a palavra revolução aplica-se em todo seu sentido, pois trata-se de um retorno às raízes de nossa cultura anterior aos mecanismos legais e técnicos de obstrução ao compartilhamento de informação, que, com a Internet, não oferecem os mesmos benefícios e tem enormes custos sociais. Em nenhum outro caso, porém, esse retorno foi tão claro quanto no do Software Livre, pois ali, por um curto período e num pequeno contexto, o impedimento de direitos fundamentais produzido foi brutalmente perceptível.
Nos departamentos de computação de universidades americanas no início da década de 80, acadêmicos viram-se subitamente proibidos de modificar ou mesmo conhecer as instruções de suas máquinas por um deslocamento no modelo de negócios de seus fabricantes. Surgindo desse universo mínimo, a visão e trabalho de um programador chamado Richard Stallman, afinada pela atitude de outros antes e com ele, deu base e princípios a um movimento revolucionário. Ao que desenvolvia seus programas livres, Stallman concebeu e, junto a um amigo advogado, criou a licença de distribuição que permitiria libertar o software dentro de um sistema sendo desenhado para confiná-lo. Mais do que isso, criou uma comunidade consciente desse confinamento, da importância dessa liberdade, e incluiu na própria licença um mecanismo para proteger essa comunidade.
Mas quais são essas liberdades, qual é sua importância e por que não são óbvias para a maioria da população?

### A alienação natural dos bits

Antes de responder essas perguntas, precisamos entender alguns fatos sobre computadores, começando por duas famosas citações: "qualquer tecnologia suficientemente avançada torna-se indistinguível de mágica" e "as melhores tecnologias passam despercebidas".
Essas duas idéias, apesar de aparentarem entusiasmadas com o avanço tecnológico, escondem uma realidade complexa quando aplicadas aos computadores e consequentemente à Internet. Elas nos contam que os instrumentos que cada vez mais mediam, organizam e coordenam nossas vidas tendem a ser, do ponto de vista do indivíduo comum, incrementalmente opacos - por despercebidos - e incontroláveis - como mágica. Ou seja, se colocada além do controle individual e do escrutínio público, a natureza da tecnologia é facilitar uma tecnocracia, submetendo todos àqueles que a controlem.
Essa mágica e despercebimento são notáveis não apenas pela dificuldade de capacitar-se para compreender a máquina, que já é um desafio formidável, mas ainda pelo contexto técnico e legal em que se desenvolvem.
Programamas de computador podem ser distribuídos em duas formas. Uma forma incompreensível e imutável, chamada forma binária, que os computadores utilizam diretamente, mas que é ilegível para o ser humano. E uma segundo forma, chamada código fonte, legível pelo ser humano e normalmente transformada na forma binária por um programa especial chamado compilador. A possibilidade de distribuir apenas a forma binária, ocultando o formato compreensível por humanos, facilita a mistificação da máquina colocando-a além do alcance de pessoas capacitadas, impedindo consequentemente o usuário comum de recorrer a elas.
Já as leis de direito autoral, quando aplicadas a programas de computador, em qualquer das suas formas, torna ilegal o que seria o direito de transformá-los ou, no caso de um cidadão comum, mesmo que tenha acesso ao código fonte, de recorrer a alguém capacitado para estudá-lo.
Por fim, essa situação ainda complica-se quando entramos no domínio da web, onde frequentemente os programas são executados num computador ao qual o usuário sequer tem acesso, e quando lidamos com as ameaças das patentes, muito mais abrangentes que o direito autoral, e dos computadores projetados para executar apenas programas autorizados pelo fabricante.
Diante desse assombroso e aparentemente irreversível cenário, o que se pode fazer para preservar a liberdade e autonomia dos seres humanos cada vez mais dependentes das máquinas?

### Software é política

A princípio, poderia se questionar se a força dos mercados controlaria os potenciais abusos. Mas os mercados são imperfeitos, estados corruptos e poderosos interesses privados abundam, e a própria intransparência espontânea ao sistema impediria o mercado de atuar pelo interesse público em todos os seus aspectos. Além disso, vale lembrar a observação discutida na aula sobre a Wikipédia, sobre a função de lei exercida pelo software, que ali é aplicada para estimular a colaboração, mas pode ser usada para uma série de fins menos nobres. Se admitirmos essa comparação, tal caráter de lei expõe, mais do que qualquer outra coisa, a necessidade ética de transparência, participação e distribuição na sua construção.
Uma resposta pragmática e concreta a essa necessidade foi dada em 1984 com o início da construção de um ecossistema de softwares, programadores e usuários onde elas estivessem satisfeitas por princípio. O primeiro passo para gerar esse ecossistema, então, foi definir quais eram as liberdades que supririam tais necessidades.

## As quatro liberdades

A Free Software Foundation, fundação criada em 1985 para zelar por esse ecossistema, define assim as quatro liberdades:
* A liberdade de executar o programa para qualquer propósito (liberdade 0)
* A liberdade de estudar como o programa funciona, de modificá-lo para fazer o que você quiser (liberdade 1). Acesso ao código fonte é um requisito para isso.
* A liberdade de redistribuir cópias para que possa ajudar seu vizinho (liberdade 2).
* A liberdade de distribuir cópias de suas versões modificadas para outros (liberdade 3). Ao fazer isso você pode dar a toda a comunidade a chance de beneficiar-se de suas mudanças. Acesso ao código fonte é um requisito para isso.
Softwares distribuídos com licenças que garantem ao usuário essas liberdades são chamados de softwares livres. Em oposição, os que impedem o exercício dessas liberdades são chamados softwares proprietários.
Essas liberdades garantem a autonomia do ser humano com relação ao software que executa em seu computador, seja individualmente, em comunidade, ou recorrendo a um profissional de sua confiança, permitindo àqueles com interesse em exercê-las combater o perigo da tecnocracia.
Elas estão refletidas no coração da Licença GNU para o Público Geral, mais conhecida pelo seu acrônimo GPL (GNU General Public License), publicada pela Free Software Foundation e utilizada na distribuição da grande maioria dos softwares livres. GNU, por sua vez, é o nome do sistema operacional livre que utiliza essa licença e cujo esforço de produção originou o movimento.
Um sistema operacional é um conjunto de programas que fornecem uma base sobre a qual novos programas podem ser desenvolvidos e executados com facilidade. O nome GNU, curiosamente, é ele um acrônimo de si mesmo: GNU Não é Unix (GNU is Not Unix), uma referência aos sistemas operacionais proprietários Unix, cujos padrões o GNU seguiu e, em muitos pontos, aprimorou.

### Copyleft, ou Todos os direitos revertidos

A licença GNU, além de promover as liberdades, ainda implementa um mecanismo chamado copyleft, muitas vezes chamado de cláusula viral, através do qual protege a comunidade produtora de Software Livre. O copyleft, uma brincadeira com o nome para o direito autoral em inglês (copyright), funciona ao exigir que qualquer redistribuição de um software licenciado pela GPL, ou de uma modificação dele, seja feita também soba a mesma licença.
Na sua essência, o mecanismo entende que usufruir os benefícios da liberdade carrega em si a responsabilidade de estendê-los ao próximo. Como efeito prático, ele cria um sentido de coesão na comunidade, fortalece a motivação de voluntários e coibe a prática de apropriar-se de um trabalho coletivo para oferecer benefícios adicionais exclusivos.
Contudo há licenças de software livre que não implementam esse mecanismo e também são reconhecidas dentro do movimento, havendo até outros sistemas operacionais livres baseados nelas, como o FreeBSD e NetBSD. A prática mostra que, apesar de desobrigadas, não é incomum empresas que os utilizam participarem e contribuirem voluntariamente melhorias do código para a comunidade, muitas vezes até para evitar o custo de gerenciar uma versão própria.

## Software e o modelo TPD

Diferente da Wikipédia, o desenvolvimento do software livre ocorre em uma miríade de espaços independentes, comunicantes e replicáveis. Cada programa tem seu próprio modo de organização e mesmo a tarefa de reunir programas em um sistema coerente e funcional é realizada por muitos e diversos grupos com ofertas para várias necessidades. Ainda assim, algumas ferramentas e padrões comuns podem ser identificados e apresentados segundo o modelo que usamos para descrever o Wiki-wiki-do.
Nem toda produção de software livre segue essa organização, mas à medida em que deseja relevância ou ganha complexidade cresce também a pressão operacional pela sua adoção. O desenvolvimento desse modo de produção, batizado de bazar, está associado à figura de Linus Torvalds, o programador que completou a última peça do sistema GNU, o núcleo Linux, e distribuiu pela primeira vez um sistema operacional inteiramente livre.

### Transparência (Arquivamento+Acesso)

* Os desenvolvedores distribuem o software através de repositórios públicos com um histórico detalhado do progresso do código, como quem modificou, o que e quando.
* Discussões a respeito do programa ocorrem em ambientes com registros públicos, em listas de discussão, canais de IRC, wikis, fórums e blogs.
* Os projetos tem bancos de dados públicos de problemas, sugestões e defeitos.

### Participação (Autonomia+Comunidade)

* Qualquer contribuidor pode clonar o repositório e começar sua própria versão do projeto, prática conhecida por fork
* Acesso ao repositório oficial de um projeto é oferecido segundo critérios meritocráticos, a quem tiver mais contribuições de qualidade e confiança da comunidade.
* Os ambientes de discussão são abertos a contribuições, podendo em projetos muito grandes haver espaços restritos meritocraticamente.

### Distribuição (Modularidade+Integração)

* Bons programas de computador tendem a ser modulares na sua construção, permitindo contribuir em uma parte do programa sem preocupar-se com as demais.
* Um patch, a unidade de aprimoramento de um programa, varia de uma linha de código corrigindo um defeito pontual até milhares implementando uma nova funcionalidade ou mesmo uma reescrita de seções inteiras do programa.
* Há maneiras importantes de contribuir sem saber programar, por exemplo relatando problemas no programa, tranduzindo a interface e participando das discussões sobre usabilidade e novas funcionalidades de interesse geral.

## Incentivos à produção
### Universidades e produção social

A produção social, como vista na aula sobre a Wikipédia, tem papel fundamental no desenvolvimento de Software Livre, novamente cultivando a sinergia entre as motivações e competências diversas de voluntários e o modelo TPD. Por alguns anos ela foi a grande força a impulsionar o movimento e continua sustentando-o e promovendo inovações.
Mas talvez a primeira forma de subsídio financeiro ao sofware livre vem do envolvimento, e muitas vezes a liderança, de universidades na sua construção. Foi nelas que o movimento surgiu e muitas apoiam institucionalmente seu uso e desenvolvimento, através de professores e alunos envolvidos em projetos de pesquisa que acabam por gerar software para e com a comunidade de vários projetos.

### Empresas e serviços

Ainda na sua infância e antes de surgir o GNU/Linux, acadêmicos com viés empreendedor perceberam que existia ali uma oportunidade. Afinal, sistemas e aplicativos Unix eram negociados a preços altíssimos, assim como serviços baseados neles. Como a distribuição dos softwares livres nada custava e sua qualidade era competitiva, era possível um mercado baseado em serviços de software livre, oferecendo suporte ou o desenvolvimento de adaptações do software para as condições particulares de um cliente. Assim surgiram as primeiras empresas de serviços baseados em software livre.
Hoje há uma série de empresas que surgiram baseadas nesse modelo e um número expressivo de empresas que, partindo de um modelo proprietário, abriram seus códigos e passaram a focar em oferecer serviços. De diversos tamanhos e atividades, elas negociam desde serviços para sítios na web, sistemas de gestão empresarial, telefonia, até aplicações militares. Outras distribuem sua versão de algum sistema operacional livre, prestando suporte a indivíduos e empresas que o adotam como ambiente de trabalho. Também na infra-estrutura da web, os servidores em sua maior parte operam com o uso de softwares livres, ainda que nem sempre exclusivamente.
Para dar uma idéia da extensão desses negócios, já há alguns anos a IBM, maior detentora de patentes do planeta, tem mais renda com serviços ligados ao software livre do que com o total de suas patentes. E a Red Hat, empresa que desde sua fundação desenvolve-se sobre softwares livres, atingiu em 2010 uma receita de mais de 900 milhões de dólares anuais. O Google é outra empresa que baseia seus produtos serviços em software livre, ainda que apenas parte deles. E até a Apple utiliza-os em seus dispositivos, mesmo que de forma discreta. Outras gigantes da informática que tem produtos parcialmente baseados neles são Oracle e Dell.
Em muito maior número, porém, são as empresas médias e pequenas, somadas aos trabalhadores autônomos, que prestam serviços desenvolvendo e dando suporte a softwares livres. Elas destacam-se particularmente no campo de desenvolvimento para a Web, onde Wordpress, Drupal, Rails, StatusNet e Plone são apenas alguns softwares livres amplamente utilizados por empresas do ramo.
Contudo, a relação entre empresas e a comunidade de desenvolvedores voluntários de determinados softwares é diversa e nem sempre harmoniosa. Ao que uma empresa passa a fazer investimentos e contratar funcionários para participar do desenvolvimento de um software livre, acaba buscando um papel de liderança no projeto, muitas vezes competindo com outras lideranças já existentes ou com os rumos que a comunidade deseja. Essas empresas veem-se obrigadas a desenvolver uma estratégias para entrar em equilíbrio com a força da comunidade e as liberdades garantidas pelas licenças, pois uma comunidade forte por um lado compete, por outro interessa a elas, para garantir o desenvolvimento constante do software muito além do investimento que fazem.
Nesse equilíbrio, frequentemente o mecanismo do copyleft e a possibilidade de fork de um projeto tem papel importante, pois o primeiro impede a empresa de avançar o projeto sem compartilhar com a comunidade e o segundo permite à comunidade, ou parte dela, abandonar a empresa quando há um consenso de que esta passou dos limites em tentar impôr seus processos ou pontos de vista.
Para a comunidade, a participação de empresas interessadas no projeto representa um caminho para a empregabilidade, uma garantia de continuidade e aportes valiosos de recursos e trabalho para tarefas nas quais é difícil conseguir voluntários, ao mesmo tempo em que podem oferecer a voluntários o incentivo adicional necessário para realizar algumas dessas.

#### Influências indiretas

E por fim, paralelo à participações diretas na produção do software livre, sempre houve vias indiretas de influência dos mercados alimentando motivações na própria produção social. Observa-se, por exemplo, que contribuir para projetos de software livre funciona também como uma vitrine de projeção. Bons desenvolvedores, ao tornarem-se reconhecidos por sua participação nas comunidades, acabam recebendo melhores ofertas de emprego, podendo até pleitear salários mais altos pela sua reputação.

### Fundações e filantropia

Anteriores até às primeiras empresas de software livre, alguns projetos de software decidiram constituir fundações para organizar e financiar seu desenvolvimento. A primeira delas, criada para dar suporte ao projeto GNU, é a Free Software Foundation — Fundação para o Software Livre — iniciada pelo próprio Richard Stallman.
Como nem todos os projetos desejaram filiar-se à FSF, seja por dispôrem de escala, história ou perspectiva próprias, muitas outras fundações surgiram. Algumas delas são: a Linux Foundation, apoiadora do desenvolvimento do kernel e dona da logomarca Linux, a Open Source Initiative, que organiza uma lista de licenças e advoga seu uso empresarial, a Apache Foundation, mantenedora do mais popular servidor Web, a Mozilla Foundation, que desenvolve o navegador Firefox e outros programas.

## Desafios do futuro do pretérito

Apesar de ter percorrido um longo caminho, ainda há muitas áreas onde o Software Livre precisa avançar para estabelecer-se e cumprir sua missão, tanto nas questões de mercado e usabilidade quanto para preservar as liberdades; uma luta que, devido às constantes transformações tecnológicas, não pressupõe um fim.

### Usabilidade

Um dos grandes avanços estimulados por empresas foi orientar a comunidade a focar na experiência do usuário final. Atualmente é tão fácil - ou tão difícil - aprender a usar o GNU/Linux quanto qualquer outro sistema operacional. E tanto instalá-lo como instalar novas aplicativos é consideravelmente mais simples ali, pois sua liberdade permite organizar catálogos completamente automatizados de distribuição de programas.

### Prisões e externalidades

Apesar de dominar o mercado de servidores, persiste a dificuldade do software livre em alcançar uma fatia significativa dos computadores pessoais. Nas casas e escritórios das pessoas, resiste ainda a vantagem acumulada pelos seus competidores não livres, muitas vezes através de práticas de mercado injustas - e ilegais. O uso de formatos de documentos e protocolos de comunicação fechados, que só podem ser acessados com programas proprietários existentes apenas em sistemas operacionais proprietários, é ainda hoje a principal força de oposição ao avanço do software livre no computador pessoal. Pelo efeito chamado aprisionamento tecnológico (vendor lock-in) e por externalidades de rede, as pessoas são impedidas de migrar para soluções em software livre por não poderem abandonar seus arquivos previamente codificados em formato proprietário ou por requerer softwares proprietários para relacionar-se com parceiros sociais e de negócios.
Isso não é apenas um problema para o software livre, pois esses efeitos atrofiam a competição também entre sistemas proprietários, ao protegerem as empresas dominantes das pressões de mercado e favorecerem a extensão do seu domínio a outras áreas. Por esse motivo, a defesa e promoção de protocolos e padrões abertos é parte central da agenda do Movimento pelo Software Livre.

### Computação traiçoeira e DRM

Pressionados especialmente pela indústria do copyright cultural, muitas empresas de tecnologia tem sido tentadas a desenvolver computadores que não permitem ao usuário executar os programas que quiserem, mesmo que os tenham escrito eles mesmos. A computação traiçoeira está associada ao que se chama de DRM, sigla para o gerenciamento de restrições digitais defendido pelas grandes gravadoras e detentores de monopólios legais sobre a cultura.
Ela é particularmente perigosa em que a única maneira de combatê-la é alertar as pessoas para não comprarem esses aparelhos. Fortunadamente, o DRM tem sido visto como incômodo por grande parte dos consumidores, mas a crítica continua atual e necessária tanto pelas novas formas que a ameaça assume como pelo entendimento de que uma liberdade tão fundamental não se preserva apenas pela conveniência, e sim pela consciência.
O DRM, mesmo na sua forma mais leve, isto é, sem deturpar o hardware, já implica necessariamente na violação do direito humano à privacidade e à liberdade de expressão, pois trata-se declaradamente de uma camada de monitoramento e controle do acesso à informação pelo usuário nas mãos de um grupo governamental ou empresarial.

### Computação móvel

Nos últimos anos os computadores entraram em nossos bolsos e quase ninguém deu-se conta. Um telefone celular não é nada menos que um computador miniaturizado. Assim, há uma crescente percepção dentro do movimento da importância de haver telefones baseados em software livre. Felizmente, pela telefonia celular ser majoritariamente um negócio de hardware, alguns fabricantes perceberam a oportunidade de tornarem-se independentes de produtores de software proprietário e estão abrançando o uso de software livre na telefonia.

### Computação remota, serviços web e nuvens

Vemos atualmente a migração da computação para o que tem se chamado "a nuvem". O nome pegou, ainda que não haja nada tão novo nesse conceito senão uma realização pela Internet do modelo clássico de terminais associada a uma distribuição mais flexível da computação entre conjuntos de servidores físicos. Para o cliente, contudo, os terminais costumavam permitir acesso mais fundamental ao sistema, enquanto essas novas aplicações expõem apenas uma interface específica ao serviço e definida pelo prestador. Mas, ainda que pouco inovadora e mera consequência do aumento da disponibilidade da rede, essa idéia é consequente e, principalmente, conveniente.
Essa conveniência tem levado muitas pessoas e organizações a entregar suas informações, sua computação e, consequentemente, sua liberdade na Internet, nas mãos das empresas que gerenciam essas plataformas de aplicativos web. Novamente aí, os direitos humanos à privacidade e liberdade de expressão são os mais diretamente colocados em risco.

#### A web autônoma

Apesar de um certo atraso em reconhecer e responder a essa questão complexa, há atualmente uma crescente atenção para construir as bases de uma reação aos problemas causados pela nuvem. Um ramo recente do Software Livre chamado movimento autonomo.us propôs através da Carta da Rua Franklin sobre Liberdade e Serviços na Rede (Franklin Street Statement on Freedom and Network Services) uma solução que tenta dialogar com o interesse das pessoas na conveniência desses serviços, oferecendo alternativas a eles que respeitam ao máximo a autonomia e liberdade dos usuários.
Aplicações web autônomas devem seguir uma série de princípios que garantem a qualquer um o direito de, se desejar, executá-las no seu próprio computador ou servidor, podendo dialogar transparentemente com usuários de outros servidores. Assim, harmoniza-se o interesse de alguns pela conveniência com o de outros pela privacidade e liberdade de expressão.
Esse movimento, como anteriormente para os computadores pessoais, vem construindo código para substituir serviços como o Twitter, LastFM, Facebook, Ning, Orkut, GoogleDocs, Dropbox e outros ocupantes da nuvem proprietária. Alguns exemplos de softwares para operar serviços livres, ainda que nem todos sigam à risca a Carta da Rua Franklin, são Status.net (Identi.ca), LibreFM, Filmaster, Elgg e Buddypress. Aqui também, a defesa e promoção de padrões e protocolos abertos tem papel importante na facilitação de migração para a "nuvem livre" e, aliado a isso, a carta diz respeito ao uso de uma licença de distribuição de software especial, a AGPL.
A diferença entre a AGPL e a GPL é uma nova cláusula para reintroduzir o copyleft nos serviços web. Como os serviços web não distribuem seus programas, mas executam-os num servidor, a cláusula da GPL por se aplicar à distribuição do programa não garante o compartilhamento do código fonte do serviço com os usuários, desmontando a proteção à comunidade que desenvolveu o software. Como consequência disso há vários serviços web que utilizam software livre, no sentido da GPL, mas conseguem violar as liberdades dos seus usuários exigidas pela licença. A AGPL difere, assim, incluindo explicitamente a obrigação de fornecer na própria interface do serviço web o código fonte do programa sendo executado no servidor, reinstituindo então o copyleft na nuvem.

#### Infra-estrutura aberta para computação distribuída

Além da autonomia do usuário da aplicação, os próprios provedores de serviços remotos frequentemente dependem de camadas de infraestrutura para computação distribuída em larga escala. Assim, há uma simultânea preocupação com o estabelecimento de padrões para essa infraestrutura, junto aos desenvolvedores de software e fabricantes de hardware que a compõem.
Para esse fim, ao lado do trabalho de longo prazo de comunidades acadêmicas e entusiastas desenvolvendo software livre para computação distribuída usando hardwares padrão, que pode ser visto em projetos como o cluster Beowulf e no próprio kernel Linux, vem crescendo o envolvimento de empresas privadas ligadas a "computação na nuvem", que investem em iniciativas colaborativas para manter um mercado aberto dessa infra-estrutura, baseado em tecnologias de computação distribuída usando software livre e hardware padronizado, quando não aberto. Entre essas iniciativas, encontram-se o Opencompute e Openstack.

### Patentes de software

Talvez o perigo mais imediato e abrangente ao software livre - e à indústria de software como um todo - são as patentes de software. Essas patentes surgem inicialmente nos EUA como uma extrapolação da ideia de patentes sobre métodos de negócio, e afetam de forma negativa e crítica o desenvolvimento e inovação de software em geral, mas ameaçam particularmente o ecossistema de software livre.
Todo software é a descrição de uma fórmula matemática. Diferente de uma invenção, que não pode ser derivada apenas da lógica, mas requer um processo de engenho artesanal e particular à sua aplicação. Entender o absurdo de patentes de software trata simplesmente de observar a diferença entre uma invenção e uma descoberta, como são as descobertas de leis naturais e teoremas matemáticos.
Em termos das suas consequências, requer perceber que, enquanto uma invenção pode ser aprimorada por outra, não há como contornar um procedimento puramente lógico. Não se pode encontrar uma alternativa a um teorema dentro de suas hipóteses, nem a uma lei da física dentro do seu domínio de validade - ela é, como diz o nome, a lei.
Assim, patentes de software são, muito mais que patentes sobre invenções propriamente, instrumentos violentos de bloqueio da inovação. Dessa forma, além da imoralidade de restringir o uso do pensamento lógico, qualquer benefício supostamente derivado da sua concessão anula-se em que vem contra o regime de desenvolvimento competitivo e consumo de inovações que já vigora na sua ausência.
Além disso tudo, há a questão que, diferente de outras aplicações, qualquer software complexo implementa centenas, às vezes milhares, de ideias patenteáveis. Assim, as patentes de software, se de fato observadas, transformariam a indústria de software numa grande burocracia litigiosa.
Revelam esse cenário sombrio as complexas teias de milhares de processos sobre patentes entre grandes empresas de software ou, pior, entre essas e escritórios que adquirem patentes unicamente com fins litigiosos, mas que nada produzem. Qualquer pequena - ou grande - empresa de software inovadora vive à sombra do medo de ser processada por patentes sobre processos muitas vezes tão triviais e abrangentes quanto o duplo click do mouse ou a aplicação de uma fórmula matemática num contexto dado.
Por conseguinte, o mesmo vale para desenvolvedores e distribuidores de software livre. Em resposta, algumas licenças, como a versão 3 da GNU-GPL, incluem cláusulas que tentam defender minimamente estes através de critérios de reciprocidade que ao menos proíbam o uso de patentes para efetivamente tornar um software livre em proprietário.
Por exemplo, se alguém lança uma versão modificada de um software com essa licença, esse alguém concede o uso das patentes necessárias ao seu alcance e compromete-se a não processar quem assim as utilize, nem entrar em acordo com outrem que o faça. Dessa forma, asseguraria-se um ambiente são e compartilhado ao menos entre aqueles que colaboram para desenvolver o software.
Aqui, ativemo-nos às patentes de software. Uma discussão mais geral sobre a inadequação do sistema de patentes como um todo faz parte da aula Economia da produção de informação.