Pessoal, temos um problema de código aberto. E, não, não é o problema que alguns pensam. Você ouvirá pessoas criticando empresas que descrevem falsamente seu código como código aberto. Às vezes eles estão corretos. Você ouvirá outros lamentarem o influxo de empresas apoiadas por capital de risco que dilui o significado do código aberto para alimentar ganhos corporativos. Às vezes eles estão corretos.

Mas o problema não são as empresas. Pelo menos, não o problema principal. Sempre tivemos empresas que tentaram aproveitar a marca de código aberto em busca de ganhos comerciais. A diferença durante os últimos anos, no entanto, é que o software livre e de código aberto perdeu o rumo, deixando aos desenvolvedores (e empresas) apenas uma opção: licenciamento permissivo, no estilo Apache. O primeiro tipo de licenciamento de código aberto não foi, como insistem seus adeptos às vezes espinhosos e pedantes, não de forma alguma “código aberto”, mas sim copyleft, licenciamento de software livre como a GPL. (“Queremos que as pessoas saibam que defendemos a liberdade, por isso não aceitamos ser erroneamente rotulados como apoiadores do código aberto”, disse Richard Stallman.)

É fácil apontar o dedo para as corporações como o problema, mas a verdadeira questão é que, na pressa de tornar o software de código aberto pronto para adoção corporativa, perdemos todo o poder de proteger a liberdade do usuário.

Não dê, todos recebam

Não existe “IA de código aberto”, por mais que gostemos de fingir. Até mesmo a Open Source Initiative (OSI), que é a fonte de referência para a definição de código aberto, passou mais de um ano abordando como definir “código aberto” em um mundo de pesos, números de ponto flutuante, dados de treinamento, e mais. “O código aberto meio que perdeu a evolução na forma como o software é distribuído e executado”, sugeriu Stefano Maffulli, diretor executivo da OSI, que ele está tentando resolver até outubro de 2024, pelo menos no que diz respeito à IA.

Não é de admirar que a confusão seja galopante no mundo da IA.

A Meta, por exemplo, “abriu o código-fonte” de seu modelo de linguagem grande Llama (LLM). Isto parece claramente não aderir às definições padrão de código aberto porque, embora esteja “disponível gratuitamente para pesquisa e uso comercial”, apresenta ressalvas. Você não pode usá-lo para melhorar outros LLMs e não pode usá-lo se tiver mais de 700 milhões de usuários ativos diariamente. No entanto, pela definição do OSI, o código aberto não pode “restringir ninguém de fazer uso do programa em um campo específico de atividade”.

A vice-presidente de pesquisa de IA da Meta, Joelle Pineau, diz que as atuais licenças de código aberto não se enquadram em um mundo no qual os dados de treinamento desempenham um papel importante, expondo os usuários a responsabilidades significativas. Mafulli concorda, observando: “Definitivamente temos que repensar as licenças de uma forma que aborde as limitações reais de direitos autorais e permissões em modelos de IA, mantendo ao mesmo tempo muitos dos princípios da comunidade de código aberto”. A IA tornou isso evidentemente óbvio, mas o mesmo se aplica à nuvem. O “código aberto” não acompanhou as mudanças nas definições de distribuição de software e do que um desenvolvedor downstream precisa para realmente usar o software.

Privilegiamos o direito dos desenvolvedores downstream de fazer o que quiserem com o código em detrimento dos direitos dos desenvolvedores upstream de insistir que seu software permaneça livre. Já escrevi antes que esse tipo de minúcia de licenciamento é bobagem, mas agora tenho menos certeza.

Ambos os lados agora

Tenho ido e voltado sobre o assunto durante anos. Em 2005, defendi a GPL, insistindo que nenhuma outra licença de código aberto fez mais do que a GPL para tornar o código aberto comercialmente viável. Em 2009, eu estava no trem de licença de software Apache. Em 2014, eu estava canalizando o analista da RedMonk, James Governor, ao declarar: “Estamos vivendo em um mundo pós-código aberto”, devido à aparente indiferença dos desenvolvedores em relação às licenças que eles usavam no GitHub. Tenho certeza de que estive certo e errado em todas as posições que assumi, porque nenhuma dessas questões é simples, como descrevi.

Ao longo dos anos, tenho tendência para o licenciamento permissivo, ao estilo Apache, afirmando que é melhor para o desenvolvimento da comunidade. Mas isso é verdade? É difícil argumentar contra a ampla comunidade que desenvolve Linux, por exemplo, que é governada pela GPL. Como a liberdade está embutida no software, é mais difícil (embora não impossível) fragmentar essa comunidade bifurcando o projeto. Para mim, isso parece crítico e é um dos motivos pelos quais estou revisitando a importância da liberdade de software (GPL, copyleft), e não apenas da liberdade do desenvolvedor/usuário (Apache).

No mínimo, por mais tediosas que fossem as disputas internas nos primeiros debates entre software livre e código aberto (GPL versus Apache), essa tensão era boa para o software em geral. Isso deu aos mantenedores do projeto uma escolha que eles realmente não têm hoje, porque as opções de copyleft desapareceram quando a nuvem apareceu e nunca mais se recuperaram. Até mesmo as empresas, aqueles “senhores do mal”, como alguns acreditam, tendiam a usar licenças gratuitas e de código aberto no mundo pré-nuvem porque eram úteis. Hoje as empresas inventam novas licenças porque a Free Software Foundation e a OSI vivem no passado enquanto o software avança para o futuro. Os desenvolvedores individuais e corporativos perderam opções ao longo do caminho.

Isso não significa que você precisa ter pena das pobres startups ou empresas de bilhões de dólares que desejam monetizar o software que lançam. E isso definitivamente não significa que você precise chorar pelas empresas de nuvem de trilhões de dólares, cujos modelos de negócios dependem de um fornecimento constante de software criado por terceiros.

Esqueça as empresas. Pense no desenvolvedor que deseja manter seu software gratuito. Não existe copyleft na nuvem e na área de IA, mas deveria existir. Os desenvolvedores basicamente têm uma escolha hoje em seu licenciamento de software de código aberto (licenciamento permissivo, pegue meu código e execute), e isso não é bom para nossos interesses de longo prazo. O código aberto é importante. O software livre também. Precisamos trazê-lo de volta.