Uma declaração da comunidade em apoio à Definição de Código Aberto (OSD)

Declaração

Nós, os membros abaixo assinados da comunidade de Código Aberto, afirmamos que o Código Aberto é definido unicamente pela Definição de Código Aberto (OSD) versão 1.9.

Qualquer emenda ou nova definição só será reconhecida se declarada por consenso claro da comunidade através de um processo transparente a ser determinado.



2024-10-28

Prezados Amigos e Aliados do Código Aberto,

Por mais de duas décadas, a Definição de Código Aberto (OSD) tem sido nossa base compartilhada, protegendo liberdades de software e fomentando um ecossistema colaborativo. Originada das Diretrizes de Software Livre do Debian (DFSG), mas até agora alinhada a elas, a OSD tem consistentemente estabelecido o padrão para Código Aberto. No entanto, hoje, a Open Source Initiative (OSI) introduziu uma nova e divisiva Definição de Código Aberto para IA (OSAID) 1.0, desenvolvida através de processos a portas fechadas que conflitam fundamentalmente com os princípios de abertura e transparência que sustentam nosso movimento. Abrangendo amplamente qualquer software que “infira, a partir da entrada que recebe, como gerar saídas”, a OSAID está em conflito direto com o padrão existente, falhando nas dimensões de abertura e completude.

Desafios de Gestão

O manejo da OSAID pela OSI destacou problemas antigos. Nos últimos anos, a governança da OSI enfrentou críticas por não representar totalmente os interesses da comunidade, com controvérsias incluindo saídas e banimentos de cofundadores, e renúncias de membros da diretoria. Ao negligenciar tendências como a computação em nuvem (a mudança de produtos para serviços) e a crescente importância dos dados, incluindo modelos de IA (mas também áudio, vídeo, imagens e bancos de dados), a OSI ignorou aspectos essenciais do software moderno. Agora, com a OSAID, a OSI tenta redefinir o conceito de abertura em si—desta vez com pouca consideração para feedbacks que não se alinhem com sua abordagem predeterminada sobre dados. Pela própria admissão deles, “um processo que não é aberto não pode ser confiável para produzir um produto que possa ser considerado aberto”.

As Quatro Liberdades Essenciais

No coração do Software Livre e de Código Aberto (FOSS) estão as Quatro Liberdades Essenciais, que foi um ponto em que a OSAID quase acertou:

  1. A liberdade de usar o sistema para qualquer finalidade e sem ter que pedir permissão.
  2. A liberdade de estudar como o sistema funciona e como cada um de seus componentes funciona.
  3. A liberdade de modificar o sistema para qualquer finalidade, incluindo mudar sua saída.
  4. A liberdade de compartilhar o sistema para que outros usem, com ou sem modificações, para qualquer finalidade.

Essas liberdades garantem que os usuários—não apenas os fornecedores—retenham o controle sobre o software, permitindo que usem, estudem, modifiquem e compartilhem como acharem adequado, e para “subir sobre os ombros de gigantes” na criação de obras derivadas. Isso termina aqui com a OSAID, que não consegue proteger totalmente essas liberdades ao não tornar mais o acesso ao rótulo de Código Aberto condicionado ao acesso aos dados necessários.

Abertura e Completude

Existem duas dimensões na Definição de Código Aberto: abertura e completude. Suas credenciais de abertura já são bem estabelecidas, mas a completude é implícita e desafiada pelo aumento da complexidade do sistema e do número de componentes que podem precisar ser incluídos sob licenças de Código Aberto para proteger as Quatro Liberdades. Por exemplo, um guia de viagem que inclui dados do OpenStreetMap (licenciado ODbL) e Wikivoyage (licenciado CC-BY-SA) é Código Aberto, mas o código fonte de uma aplicação “sem as baterias” com nenhum dado (ou dados proprietários) é um vassalo. Isso é particularmente verdadeiro para sistemas de Inteligência Artificial (IA), onde o código de inferência é pouco mais que um sistema de suporte vital para o modelo.

Segundo Bruce Perens (autor original da OSD), “os dados são o código-fonte”, e ele afirma “você pode aplicar a definição original de Código Aberto ao aprendizado de máquina”. Ele alertou que quando dados e modelos não são acessíveis, “o resultado é menos que Código Aberto.” Isso sugere que o padrão existente já abrange as necessidades evolutivas do aprendizado de máquina sem modificação, e que o novo documento é desnecessário.

Embora a posição padrão seja não fazer mudanças no padrão, também é importante garantir que ele permaneça relevante e abrangente. Uma área para potencial exploração é uma expansão do escopo para cobrir dados, mas isso teria que ser abordado com os mesmos padrões rigorosos de uma emenda constitucional, exigindo consenso amplo e consideração cuidadosa para evitar consequências imprevistas. Esse não foi o caso com a OSAID, que apresenta riscos consideráveis para projetos existentes e inovação futura.

Pilotar, Navegar, Comunicar

Na aviação, quando pilotos enfrentam uma emergência, seguem três etapas: Pilotar, Navegar, Comunicar. Esta abordagem se aplica aqui também, ajudando-nos a retomar o controle, traçar um caminho seguro adiante e melhorar as comunicações.

  1. Pilotar: O primeiro passo é tirar o avião do mergulho e recuperar a estabilidade. Antes de tudo, isso significa manter a integridade da OSD. O novo site da Definição de Código Aberto https://opensourcedefinition.org serve como uma balsa salva-vidas, preservando a definição atual de Código Aberto na versão 1.9, e os artefatos necessários para um ecossistema de Código Aberto funcional, além de recursos adicionais como um histórico de versões e um repositório Git. Encorajamos todos a clonarem e distribuírem amplamente o documento licenciado CC-BY, cimentando sua disponibilidade em toda a comunidade em vez de depender de qualquer repositório central.
  2. Navegar: Com a estabilidade restaurada, podemos avaliar cuidadosamente se manter o curso, assumindo que o caminho atual ainda serve a todos os aspectos do Código Aberto. Após duas décadas, a comunidade pode concordar em expandir o escopo da OSD em novas áreas—como dados e aprendizado de máquina—sem perturbar os projetos existentes, ou pode considerar que mudanças não valem o risco significativo. A estabilidade continua sendo o padrão, e qualquer alteração deve respeitar (e idealmente incorporar explicitamente) as Quatro Liberdades Essenciais, evitando interrupções desnecessárias nas normas estabelecidas. A comunidade deve conduzir esse processo e, à luz da censura pesada nos fóruns existentes, oferecemos equivalentes não censurados em https://discuss.opensourcedefinition.org que estão abertos a todos, garantindo que todas as vozes possam ser ouvidas.
  3. Comunicar: Finalmente, devemos nos engajar com e educar aqueles que dependem do Código Aberto, quer escolham ou não participar do processo. Uma definição significativa de Código Aberto é a base de vidas e meios de subsistência, pesquisa e empresas em todo o mundo, conectados pelo ecossistema de Código Aberto que sustenta a internet, serviços em nuvem, sistemas de IA e mais. Mesmo que não se envolvam diretamente com a comunidade de Código Aberto, seu trabalho e confiança são construídos nesta fundação compartilhada. É crucial que compreendam tanto as implicações quanto sua capacidade de apoiar e proteger as Quatro Liberdades.

Por Que Isso Importa

Proteger a integridade da Definição de Código Aberto é mais do que semântica—é sobre preservar um compromisso compartilhado com a liberdade. Com sistemas de IA tocando, transformando e potencialmente contaminando todos os aspectos do empreendimento humano futuro, as apostas são altas. Ao apoiar esta declaração, desenvolvedores, usuários, acadêmicos e outras partes interessadas afirmam que os verdadeiros princípios de Código Aberto só podem ser definidos pela própria comunidade.

Assinar esta declaração é um ato de apoio à transparência, colaboração e posse coletiva do ethos de Código Aberto. Juntos, podemos garantir que o Código Aberto continue a ser moldado por aqueles que constroem, usam e acreditam nele, em vez de interesses corporativos primários. Seu apoio não só afirma seu compromisso, mas também envia uma mensagem àqueles que ignorariam a voz da comunidade que deve ser ouvida.