Grande parte do software moderno é construída sobre código aberto.
Frameworks, bibliotecas, ferramentas de infraestrutura, runtimes e modelos dependem, direta ou indiretamente, do trabalho de comunidades e organizações que publicam tecnologia sob diferentes licenças.
Utilizar open source, no entanto, não significa que esse software careça de condições.
Cada licença define direitos e obrigações.
E quando um projeto começa a crescer, gerir corretamente essas dependências deixa de ser apenas uma questão de desenvolvimento.
Passa a fazer parte da governação tecnológica da empresa.
O que é a OpenChain ISO/IEC 5230
A OpenChain ISO/IEC 5230 define os requisitos de um programa de cumprimento de licenças open source.
O seu objetivo é estabelecer processos dentro de uma organização que permitam identificar e gerir de forma consistente as obrigações associadas ao software aberto que utiliza.
A norma não determina que tecnologias deve uma empresa escolher.
Também não certifica a segurança ou a qualidade de um produto.
Concentra-se especificamente no processo de cumprimento associado a licenças open source.
Porque isto importa em inteligência artificial
Em IA, as dependências tornaram-se especialmente complexas.
Uma aplicação pode incorporar em simultâneo bibliotecas tradicionais, frameworks de machine learning, runtimes, conjuntos de dados, pesos de modelos e outros artefactos de treino.
E nem tudo o que se denomina publicamente “open source” utiliza a mesma licença nem concede os mesmos direitos.
Alguns componentes permitem modificação e uso comercial com poucas obrigações.
Outros exigem conservar avisos, publicar determinadas modificações ou cumprir condições específicas de distribuição.
No caso dos modelos de inteligência artificial, existem ainda licenças de pesos que nem sempre coincidem com as licenças open source tradicionais utilizadas em software.
Para uma empresa que investiga diferentes modelos e arquiteturas, conhecer essas diferenças é fundamental.
Cumprimento desde as primeiras etapas
É frequente que questões como a documentação de dependências, as atribuições ou a revisão de licenças sejam deixadas para uma fase posterior da empresa.
O problema é que reconstituir anos depois que componente entrou num produto, que versão foi utilizada e em que condições pode ser consideravelmente mais difícil.
A nossa abordagem é diferente.
Preferimos introduzir estas práticas enquanto a arquitetura ainda está a crescer.
Isto permite que as decisões técnicas incorporem desde o início perguntas como:
- que licença tem uma dependência;
- que obrigações introduz;
- se permite a utilização prevista;
- que avisos devem ser conservados;
- e que implicações teria distribuir ou modificar esse componente.
Open source não significa ausência de responsabilidade
Consideramos especialmente importante comunicar esta distinção porque existe alguma confusão em torno do termo.
Que um projeto publique o seu código ou os seus pesos não significa automaticamente que possa ser utilizado sem restrições.
Também não significa que todas as licenças abertas sejam equivalentes.
A inovação baseada em open source funciona precisamente porque existem regras que permitem reutilizar tecnologia respeitando as condições escolhidas pelos seus autores.
Geri-las corretamente faz parte de construir software profissional.
Mais uma camada de governação tecnológica
Para a Myukura, trabalhar em conformidade com a OpenChain faz parte de um princípio mais amplo.
A confiança num produto tecnológico não depende apenas do que o utilizador pode ver na interface.
Depende também de como é construído.
Arquitetura, segurança, privacidade, gestão de dependências, licenças e supervisão dos sistemas de inteligência artificial fazem parte dessa infraestrutura invisível.
À medida que a Myukura evolui, a nossa intenção é que essas práticas cresçam juntamente com o produto e não depois dele.
Porque desenvolver inteligência artificial responsável não consiste apenas em controlar o que responde um modelo.
Implica também saber com que está construído o sistema, em que condições pode ser utilizado e que responsabilidades assumimos ao fazê-lo.

