Quem procura «gestão de ativos de TI open source» quer normalmente três coisas: nenhum custo de licença, nenhum fornecedor que o prenda e a possibilidade de ler o que acontece aos seus próprios dados. São três desejos diferentes e não coincidem. Este artigo arruma que sistemas estão mesmo sob uma licença reconhecida pela OSI, o que a sua operação exige na realidade — e diz depois com clareza porque o AssetNode não pertence a esse grupo.

O que «open source» significa exatamente

O termo tem uma definição e não é uma questão de gosto. A Open Source Initiative mantém a Open Source Definition; uma licença é open source quando cumpre todos os dez critérios. Dois deles são decisivos para este tema:

  • Critério 1, distribuição livre: a licença não pode impedir ninguém de vender ou de oferecer o software, nem pode exigir uma taxa por isso.
  • Critério 6, sem restrição a áreas de utilização: a licença não pode proibir ninguém de usar o programa numa determinada área.

«O código-fonte pode ser consultado» não chega para isso. Para esse caso existe o termo neutro source-available — que a própria OSI usa e que atribui às licenças proprietárias, não como terceira categoria intermédia.

Os sistemas que são mesmo open source

Snipe-IT — AGPL-3.0-or-later

O representante mais conhecido e, para muitas equipas, o primeiro ponto de paragem. O ficheiro de licença no repositório é o texto inalterado da AGPL-3.0 e o composer.json declara AGPL-3.0-or-later. A Grokability, a empresa por trás do projeto, explora ainda uma variante cloud paga.

Tecnicamente é uma aplicação PHP sobre o Laravel 12. Exige MySQL 5.7+ ou MariaDB — o PostgreSQL não é oficialmente suportado, ainda que exista um bloco de configuração correspondente. Notável é o limite superior de PHP: o script de atualização recusa-se a funcionar fora do intervalo PHP 8.2 a 8.5, pelo que não pode simplesmente acompanhar a versão mais recente da sua distribuição.

GLPI — GPL-3.0-or-later

Um recorte bastante maior: o GLPI é uma plataforma de ITSM completa e a gestão de ativos é uma parte dela. Quem já precisa de ticketing, gestão de contratos e uma CMDB recebe aqui tudo de uma só fonte. Quem só quer saber que portátil está com quem recebe muito mais do que queria.

Também PHP, a partir da versão 11 sobre Symfony. MySQL ou MariaDB são obrigatórios — a documentação di-lo expressamente, outras bases de dados não existem. Um detalhe que convém conhecer: o GLPI Agent, que distribui pelos equipamentos, está num repositório próprio e sob outra licença (GPL-2.0-or-later).

Ralph — Apache-2.0

Desenvolvido pela Allegro, em Python e Django, e o único aqui sob uma licença permissiva. O Ralph gere hardware de centro de dados e de escritório e traz para este último um verdadeiro modelo de atribuição: BackOfficeAsset conhece tanto um proprietário como um utilizador.

Há duas coisas a saber antes de decidir. Primeiro, o stack está pregado: Python exatamente 3.10 e Django 4.2 LTS — ambos já saíram do período de suporte. Segundo, no início de 2025 a Allegro passou o projeto para um modelo «Sources only»: o código continua a ser publicado e mantido, mas os pull requests não são aceites e sobre os issues não há qualquer compromisso. Está assim a operar a ferramenta interna de outra empresa, não um projeto comunitário.

Menções breves

OCS Inventory NG (GPL-2.0) é forte na deteção automática — um agente para Windows, Linux, macOS e outros sistemas inventaria o que está na rede. O que lhe falta é um modelo de primeira classe para saber quem tem um equipamento neste momento. Deteção e responsabilidade são duas tarefas diferentes. i-doit open (AGPL-3.0) é a parte aberta de um produto comercial e é mais CMDB do que gestão de equipamentos.

O que custa realmente operar por conta própria

A licença é gratuita. A operação não é. Nos candidatos em PHP assume um stack LAMP completo: uma configuração de servidor web, uma instância MySQL com cópias de segurança, uma dúzia de extensões PHP e um caminho de atualização que passa por composer install e migrações de base de dados. No Ralph acresce que fica preso a uma versão de Python e a uma de Django que já não têm suporte de segurança.

Isto não é um argumento contra o open source. É um argumento a favor de fazer as contas com honestidade: meio dia de instalação mais algumas horas por trimestre para atualizações, cópias de segurança e certificados é uma expectativa realista — e, se a sua equipa já sabe fazê-lo, é tempo bem investido. Se não, paga o preço apenas noutra moeda.

Onde fica o AssetNode

O AssetNode não é open source no sentido da Open Source Initiative. Está sob a Sustainable Use License v1.0 (SPDX: SUL-1.0), que o registo SPDX identifica expressamente como não reconhecida pela OSI. A licença permite a utilização «apenas para os seus próprios fins empresariais internos ou para fins não comerciais ou privados» e a distribuição apenas a título gratuito e para fins não comerciais.

Isso colide com o critério 1 e o critério 6 da Open Source Definition. Não submetemos a licença à OSI para análise; segundo estes critérios também não seria passível de reconhecimento. O termo correto é source-available e o AssetNode tem assim, é preciso ser honesto, uma licença proprietária com código-fonte aberto.

Importante, porque é muitas vezes mal reproduzido: a licença não proíbe a utilização comercial. Pode usar o AssetNode em produção numa empresa de qualquer dimensão, adaptá-lo e operá-lo internamente. O que é vedado é disponibilizar o AssetNode a terceiros a troco de dinheiro.

Para este modelo consagrou-se o termo fair-code, cunhado pela n8n em 2020. Fair-code não é uma licença, mas uma descrição: código-fonte aberto, utilização livre, revenda restringida. Não confundir com Fair Source — uma outra iniciativa, de 2024, que exige uma passagem diferida a open source. Essa o AssetNode não tem.

Porquê não MIT ou AGPL

Uma licença permissiva permite que qualquer hyperscaler explore o AssetNode como serviço gerido próprio sem devolver nada. Para um projeto desenvolvido por uma equipa pequena em Bona, isso não é um risco teórico: significaria que o desenvolvimento do próprio produto de que depende deixa de ser financiável.

A AGPL seria o meio-termo óbvio — é a razão pela qual o Snipe-IT pode valer como open source e, ainda assim, não ser revendido como serviço à discrição. Decidimos não a adotar porque o efeito copyleft da AGPL levanta, em integrações e extensões, perguntas que uma empresa só responde com aconselhamento jurídico. Em vez disso, a Sustainable Use License traça exatamente uma fronteira: gratuito para a sua própria empresa, não para revenda. Tudo o resto permanece aberto.

Preferimos dizê-lo com clareza a escondê-lo nas letras pequenas.

O que isso significa em concreto

✅ Gratuito e permanente para uso interno na sua própria empresa, em qualquer dimensão
✅ Alojamento próprio, em qualquer escala, com ativos e utilizadores ilimitados
✅ Ler, auditar, adaptar e alargar o código-fonte
✅ Distribuí-lo gratuitamente para fins não comerciais
❌ Revender o AssetNode ou oferecê-lo a terceiros como serviço alojado

O que não está aberto

Os ficheiros com .ee. no nome, ou dentro de uma pasta .ee, têm licença comercial e exigem uma licença enterprise. Atualmente não existe um único ficheiro desses no repositório — pode confirmá-lo com um grep. A convenção está fixada desde o início para que continue evidente mais tarde o que pertence ao âmbito gratuito, em vez de reclassificar a posteriori código já existente.

Alojar por conta própria

São precisos o Node 20 e uma instância de MongoDB:

git clone https://github.com/elixio-io/asset-node.com.git
cd asset-node.com
npm install

cp .env.example .env        # definir MONGODB_URI, JWT_SECRET, JWT_REFRESH_SECRET
npm run db:setup
npm run dev:all

Sem credenciais de MDM à mão? npm run dev:mock arranca todas as integrações contra APIs simuladas.

Se preferir comparar antes de instalar seja o que for: a comparação com o Snipe-IT percorre as diferenças em detalhe e a tabela de preços mostra quanto custa a cloud gerida.

Participar

O projeto é jovem e as arestas são reais. Se faz a gestão de ativos de TI e lhe falta alguma coisa ou algo lhe salta à vista, um issue vale mais do que uma estrela.

Os dois repositórios são mantidos sincronizados; issues e pull requests são bem-vindos em ambos. Há uma coisa que deve saber antes, e consta também do CONTRIBUTING.md: as contribuições são-nos concedidas sob uma licença que abrange também versões comerciais do AssetNode. Isso é habitual em projetos mantidos comercialmente, mas é uma diferença face a um projeto sob uma licença OSI, e deve conhecê-la antes de investir o seu tempo.

Quem trabalha com um agente de programação com IA encontra em AGENTS.md os comandos de build, uma visão geral da arquitetura e as armadilhas que o código por si só não mostra.