O Cenário do Licenciamento de Código Aberto em IA: Uma Introdução a LLMs e Bancos de Dados Vetoriais

Apr 28, 20247 min read

O conceito de software de código aberto tem sido comum na indústria de tecnologia há décadas. No entanto, ainda é necessária mais clareza sobre as implicações e restrições de diferentes licenças para desenvolvedores e empresas. Este guia desmistifica o licenciamento de código aberto relacionado explicitamente à tecnologia de IA, como bancos de dados vetoriais e grandes modelos de linguagem (LLMs).

Código aberto significa que o criador disponibiliza software, hardware ou até mesmo um grande modelo de linguagem para a comunidade gratuitamente. Esses projetos são frequentemente desenvolvidos e mantidos por esforços da comunidade, normalmente envolvendo a colaboração de desenvolvedores de muitas empresas diferentes. O tipo de licença sob o qual o produto ou software é fornecido rege como diferentes produtos de código aberto podem ser usados.

Mudanças inesperadas na licença de código aberto de um projeto de software podem prejudicar significativamente e potencialmente empresas e negócios que criaram ofertas em torno de software de código aberto. Essa dinâmica acrescenta complexidade adicional e ressalta a importância de entender o licenciamento de código aberto.

Benefícios de bancos de dados vetoriais e LLMs de código aberto

Bancos de dados vetoriais

Bancos de dados vetoriais de código aberto como o Milvus (fornecido sob a Apache License 2.0) beneficiam o ecossistema de IA. Como está disponível gratuitamente, os desenvolvedores podem prototipar soluções rapidamente enquanto minimizam os custos de criação de novas aplicações. Como a base de código é aberta e acessível, desenvolvedores e empresas podem analisar em detalhes como ela funciona para garantir que esteja alinhada com seus planos e padrões. Isso aumenta a confiança e ajuda os usuários a decidir como implementá-la dentro de outras aplicações ou junto a elas. Por fim, o Milvus, como outros bancos de dados vetoriais de código aberto, foi desenvolvido em parceria com os criadores Zilliz e a comunidade mais ampla de usuários do Milvus. Isso permitiu que todos se beneficiassem do desenvolvimento compartilhado e da expertise de outras organizações como NVIDIA, IBM, SalesForce e outras.

Grandes modelos de linguagem

Grandes modelos de linguagem (LLMs) de código aberto tiveram um aumento dramático em disponibilidade e adoção no último ano. LLMs proprietários, por outro lado, pertencem exclusivamente a uma empresa e são acessíveis apenas a clientes que compram uma licença, como o GPT da OpenAI. Essas licenças frequentemente impõem limitações ao uso do LLM. Em contraste, LLMs de código aberto são livremente acessíveis a todos, permitindo acesso e utilização irrestritos para qualquer finalidade, modificação e distribuição.

Com LLMs, o componente de código aberto diz respeito à acessibilidade do código e da estrutura fundamental do LLM. Essa acessibilidade concede a qualquer desenvolvedor e pesquisador a liberdade de utilizar, aprimorar ou modificar o modelo. Essa abertura aumenta o acesso ao reduzir os custos de longo prazo para desenvolvedores que buscam criar soluções que aproveitem o poder dos LLMs; isso é especialmente verdadeiro para organizações sem desenvolvimento interno de modelos e talentos em machine learning. Grandes modelos de linguagem de código aberto também podem ser implantados dentro da infraestrutura de dados de uma empresa, o que reduz o risco de expor dados privados a uma fonte externa, como um modelo controlado por uma empresa externa ou talvez até concorrente. Por fim, como LLMs de código aberto podem ser modificados, eles podem ser ajustados, otimizados e aprimorados para o caso de uso específico de uma aplicação. A base de código aberta aumenta a confiança e a transparência ao permitir que desenvolvedores e cientistas de dados analisem em detalhes a construção e o treinamento do modelo.

O espectro das licenças de código aberto

As licenças de código aberto vêm em vários tipos, cada uma com seu próprio conjunto de permissões, restrições e requisitos. É importante que desenvolvedores e usuários entendam as implicações de cada tipo de licença para garantir a conformidade com os termos e condições estabelecidos pela licença.

Aqui estão alguns dos tipos comuns:

Licenças Permissivas

As licenças permissivas dão aos usuários ampla liberdade para usar, modificar e distribuir o software sem muitas restrições. Exemplos incluem:

  • Licença MIT: Permite uso, modificação e distribuição quase irrestritos com requisitos mínimos.

  • Licença BSD: Semelhante à Licença MIT, permite uso quase irrestrito, mas com requisitos ligeiramente diferentes.

  • Licença Apache: Permite o uso, a modificação e a distribuição do software sob certas condições.

Licenças Copyleft

Essas licenças exigem que obras modificadas ou derivadas também sejam distribuídas sob os mesmos termos de licença que o software original. Exemplos incluem:

  • GNU General Public License (GPL): Exige que qualquer obra derivada seja distribuída sob os mesmos termos da GPL, garantindo que as modificações permaneçam de código aberto.

  • GNU Lesser General Public License (LGPL): Uma versão modificada da GPL que permite a vinculação com software não GPL sob certas condições.

  • Mozilla Public License (MPL): Permite modificações e distribuição sob a MPL ou qualquer licença compatível.

Licenças Copyleft Fracas

Essas licenças exigem que apenas as partes modificadas do software sejam distribuídas sob os mesmos termos de licença que o software original. Exemplos incluem:

  • GNU Affero General Public License (AGPL): Uma extensão da GPL projetada para software de rede/servidor, exigindo a distribuição do código-fonte aos usuários que interagem com o software por meio de uma rede.

Licenças Não Comerciais

Essas licenças restringem o uso do software para fins comerciais. Exemplos incluem:

  • Licença Creative Commons Não Comercial: Permite uso, modificação e distribuição não comerciais de obras criativas.

Domínio Público

Alguns desenvolvedores optam por liberar seu trabalho em domínio público, efetivamente renunciando a todos os direitos sobre a obra. Os usuários podem usar, modificar e distribuir livremente o software sem quaisquer restrições.

Órgãos Reguladores e Comunidades

Algumas organizações importantes desempenham um papel vital na governança dos padrões de licenciamento de código aberto, garantindo a adesão aos princípios de abertura, transparência e colaboração. Duas entidades proeminentes nesse domínio são a Open Source Initiative (OSI) e a Free Software Foundation (FSF).

A OSI mantém a Open Source Definition, um conjunto de critérios que uma licença de software deve atender para ser considerada de código aberto. Ela avalia e aprova licenças que atendem a esses critérios, ajudando a manter consistência e clareza dentro da comunidade de código aberto.

Por outro lado, a FSF defende o software livre e promove o uso de licenças, como a GNU General Public License (GPL), que garante a liberdade do software.

A Apache Software Foundation (ASF) é outra organização importante que desempenha um papel significativo na governança dos padrões de licenciamento de código aberto. Principalmente conhecida por desenvolver projetos de software amplamente utilizados, como Apache Hadoop e Apache Kafka, a ASF fornece uma estrutura para desenvolvimento aberto e descentralizado e emprega um modelo de licenciamento permissivo. A Licença Apache permite flexibilidade de uso comercial, garantindo ao mesmo tempo que obras derivadas permaneçam de código aberto.

Além disso, a governança comunitária é crucial na formação de políticas e práticas de licenciamento. Projetos de código aberto frequentemente têm processos de tomada de decisão conduzidos pela comunidade, nos quais colaboradores e partes interessadas discutem e decidem sobre questões de licenciamento. O envolvimento da comunidade ajuda a manter confiança, transparência e consenso dentro do ecossistema de código aberto, fomentando inovação e crescimento, ao mesmo tempo que preserva a integridade do software de código aberto.

Os Graus de Abertura

Os graus de abertura inerentes a diferentes modelos de licenciamento influenciam a colaboração, a inovação e a transparência no desenvolvimento de IA. Licenças permissivas incentivam uma ampla comunidade de colaboradores, promovendo iteração rápida e experimentação. Em contraste, licenças copyleft priorizam a preservação dos ideais de código aberto, protegendo contra a exploração comercial em detrimento de uma adoção mais ampla.

Transições Recentes de Licenças e Controvérsias

Mudanças notáveis em modelos de licenciamento por provedores de tecnologia de IA como Redis e HashiCorp geraram debates sobre sustentabilidade e ética. As motivações variam desde proteger fluxos de receita até abordar preocupações sobre remuneração justa pelas contribuições. Essas transições ressaltam o equilíbrio sutil entre promover a inovação e salvaguardar os princípios da colaboração de código aberto.

Quando uma empresa altera a licença de seu projeto de código aberto, isso pode ser particularmente preocupante para usuários e empresas que criaram produtos com base nesse código aberto. Suponha que uma empresa que fornece software de código aberto de repente feche o código-fonte ou use uma licença mais restritiva. Nesse caso, isso pode significar que as outras empresas que utilizam o código da última versão de código aberto talvez tenham que assumir todo o ônus de manter o código e desenvolver novos conjuntos de recursos.

Por Que o Licenciamento Importa na IA

O licenciamento não é meramente uma formalidade legal, mas pode determinar a trajetória das tecnologias de IA. Ele rege a acessibilidade, a adaptabilidade e a distribuição equitativa, moldando o ecossistema de IA. É importante equilibrar a proteção da propriedade intelectual (PI) com a promoção de um ambiente de colaboração em IA para impulsionar a inovação e garantir a inclusão.

Atualmente, a indústria de IA está se expandindo em uma velocidade alarmante. Novas tecnologias, casos de uso e até empresas estão surgindo todos os dias, e todos parecem ansiosos para entrar nessa onda. Com essa inovação acelerada e a corrida para o mercado, é provável que vejamos empresas adotarem código aberto para acelerar os esforços de desenvolvimento e aumentar a inovação por meio de ampla colaboração, mas também podemos ver uma mudança reflexiva nas aplicações de licenciamento de código aberto à medida que as empresas tentam preservar sua PI e seus caminhos para a receita.

Conclusão

O licenciamento de código aberto é a pedra angular do desenvolvimento colaborativo e da inovação em IA, definindo os limites de acesso, uso e distribuição. À medida que navegamos pelas complexidades dos modelos de licenciamento, permaneçamos informados e proativos na construção de um futuro em que as tecnologias de IA sirvam ao bem coletivo. Ao abraçar o espírito da colaboração aberta, temos a oportunidade de criar um cenário de IA mais inclusivo e sustentável. Para ler mais sobre as ideias da Zilliz a respeito das restrições de licenças de código aberto e nossa abordagem de código aberto leia aqui.

Recursos:

Atualizado em Jul 09, 2026