Gestione asset IT open source: le vere opzioni — e dove si colloca AssetNode
Chi cerca «gestione asset IT open source» vuole quasi sempre tre cose: nessun costo di licenza, nessun fornitore che lo tenga prigioniero e la possibilità di verificare che cosa succede ai propri dati. Sono tre desideri diversi, e non coincidono. Questo articolo mette in ordine quali sistemi stanno davvero sotto una licenza riconosciuta dalla OSI, che cosa richiede realmente gestirli — e poi dice chiaramente perché AssetNode non è tra questi.
Che cosa significa esattamente «open source»
Il termine ha una definizione, e non è questione di gusti. La Open Source Initiative cura la Open Source Definition; una licenza è open source se soddisfa tutti e dieci i criteri. Due di questi sono decisivi per questo tema:
- Criterio 1, libera redistribuzione: la licenza non può impedire a nessuno di vendere o di regalare il software, e non può pretendere un compenso per farlo.
- Criterio 6, nessuna limitazione dei campi di applicazione: la licenza non può vietare a nessuno di usare il programma in un determinato ambito.
«Il codice sorgente è consultabile» non basta. Per questo esiste il termine neutro source-available — che la OSI stessa utilizza e che classifica tra le licenze proprietarie, non come terza categoria intermedia.
I sistemi che sono davvero open source
Snipe-IT — AGPL-3.0-or-later
Il rappresentante più noto e, per molti team, il primo punto di riferimento. Il file di licenza nel repository
è il testo AGPL-3.0 invariato, e composer.json dichiara AGPL-3.0-or-later. Grokability, l'azienda che c'è
dietro, gestisce in più una variante cloud a pagamento.
Tecnicamente è un'applicazione PHP su Laravel 12. Servono MySQL 5.7+ oppure MariaDB — PostgreSQL non è supportato ufficialmente, e lo si dice espressamente, anche se un blocco di configurazione corrispondente esiste. Degno di nota è il limite superiore di PHP: lo script di aggiornamento si rifiuta di funzionare al di fuori dell'intervallo che va da PHP 8.2 a 8.5, quindi non puoi semplicemente seguire la versione più recente della tua distribuzione.
GLPI — GPL-3.0-or-later
Taglio decisamente più ampio: GLPI è una piattaforma ITSM completa, e la gestione degli asset ne è una parte. Chi ha comunque bisogno di ticketing, gestione dei contratti e di una CMDB qui trova tutto in un'unica soluzione. Chi vuole solo sapere quale notebook si trova presso quale persona riceve molto più di quanto volesse.
Anche qui PHP, dalla versione 11 su Symfony. MySQL o MariaDB sono obbligatori — la documentazione lo dice espressamente, altri database non ci sono. Un dettaglio che conviene conoscere: il GLPI Agent che distribuisci sui dispositivi finali sta in un repository a sé e sotto una licenza diversa (GPL-2.0-or-later).
Ralph — Apache-2.0
Sviluppato da Allegro, Python e Django, e l'unico qui sotto una licenza permissiva. Ralph gestisce hardware di
data center e di ufficio e per quest'ultimo porta con sé un vero modello di assegnazione: BackOfficeAsset
conosce sia un proprietario sia un utilizzatore.
Prima di decidere vale la pena sapere due cose. Primo, lo stack è inchiodato: Python esattamente 3.10 e Django 4.2 LTS — entrambi nel frattempo sono usciti dal supporto. Secondo, all'inizio del 2025 Allegro ha spostato il progetto su un modello «Sources only»: il codice continua a essere pubblicato e mantenuto, ma le pull request non vengono accettate e sulle issue non c'è alcuna garanzia. In pratica gestisci lo strumento interno di un'altra azienda, non un progetto comunitario.
Citati in breve
OCS Inventory NG (GPL-2.0) è forte nel rilevamento automatico — un agente per Windows, Linux, macOS e altri sistemi inventaria ciò che si trova in rete. Quello che gli manca è un modello di prim'ordine per sapere chi ha in mano un dispositivo in un dato momento. Rilevamento e responsabilità sono due compiti diversi. i-doit open (AGPL-3.0) è la parte aperta di un prodotto commerciale ed è più una CMDB che una gestione dei dispositivi.
Quanto costa davvero gestirlo in proprio
La licenza è gratuita. La gestione no. Con i candidati PHP ti prendi in carico un intero stack LAMP: una
configurazione del server web, un'istanza MySQL con i backup, una dozzina di estensioni PHP e un percorso di
aggiornamento che passa da composer install e dalle migrazioni del database. Con Ralph si aggiunge che sei
legato a una versione di Python e a una di Django che non hanno più supporto di sicurezza.
Non è un argomento contro l'open source. È un argomento a favore del fare i conti con onestà: mezza giornata di installazione più qualche ora a trimestre per aggiornamenti, backup e certificati è un'aspettativa realistica — e se il tuo team sa già farlo, è tempo investito bene. Altrimenti il prezzo lo paghi comunque, solo in un'altra valuta.
Dove si colloca AssetNode
AssetNode non è open source secondo la definizione della Open Source Initiative. È distribuito sotto la
Sustainable Use License v1.0 (SPDX: SUL-1.0), che nell'elenco SPDX è indicata espressamente come non
riconosciuta dalla OSI. La licenza consente l'uso «solo per le tue finalità aziendali interne oppure per
finalità non commerciali o personali» e la redistribuzione solo a titolo gratuito e per finalità non
commerciali.
Questo è in conflitto con il criterio 1 e con il criterio 6 della Open Source Definition. Non abbiamo sottoposto la licenza all'esame della OSI; del resto, secondo questi criteri, non potrebbe comunque ottenerne il riconoscimento. Il termine corretto è source-available, e AssetNode è quindi, bisogna dirlo con onestà, una licenza proprietaria con codice sorgente aperto.
Importante, perché spesso viene riportato in modo sbagliato: la licenza non vieta l'uso commerciale. Puoi usare AssetNode in produzione in un'azienda di qualsiasi dimensione, adattarlo e gestirlo internamente. Ciò che è vietato è mettere AssetNode a disposizione di terzi dietro compenso.
Per questo modello si è affermato il termine fair-code, coniato da n8n nel 2020. Fair-code non è una licenza, ma una descrizione: codice sorgente aperto, uso libero, rivendita limitata. Da non confondere con Fair Source — un'altra iniziativa, del 2024, che richiede un rilascio open source differito. AssetNode non prevede un rilascio di questo tipo.
Perché non MIT o AGPL
Una licenza permissiva consente a qualsiasi hyperscaler di gestire AssetNode come proprio servizio gestito senza restituire nulla. Per un progetto sviluppato da un piccolo team a Bonn non è un rischio teorico: significherebbe rendere non finanziabile lo sviluppo proprio di quel prodotto su cui fai affidamento.
L'AGPL sarebbe la via di mezzo più ovvia — è il motivo per cui Snipe-IT può valere come open source e al tempo stesso non viene rivenduto come servizio da chiunque. Abbiamo scelto di non adottarla perché l'effetto copyleft dell'AGPL, su integrazioni ed estensioni, solleva domande a cui un'azienda riesce a rispondere solo con una consulenza legale. La Sustainable Use License traccia invece esattamente un confine: gratuito per la tua azienda, non per la rivendita. Tutto il resto resta aperto.
Preferiamo dirlo chiaramente, anziché nasconderlo nelle clausole in piccolo.
Che cosa significa in concreto
| ✅ | Gratuito e permanente per l'uso interno nella tua azienda, di qualsiasi dimensione |
| ✅ | Self-hosting, su qualsiasi scala, con asset e utenti illimitati |
| ✅ | Leggere, verificare, adattare ed estendere il codice sorgente |
| ✅ | Redistribuirlo gratuitamente per scopi non commerciali |
| ❌ | Rivendere AssetNode oppure offrirlo a terzi come servizio ospitato |
Che cosa non è aperto
I file che contengono .ee. nel nome, o che si trovano in una cartella .ee, hanno licenza commerciale e
richiedono una licenza enterprise. Al momento nel repository non esiste nemmeno un file di questo tipo — puoi
verificarlo con un grep. La convenzione è fissata fin dall'inizio perché resti chiaramente riconoscibile in
seguito che cosa appartiene all'ambito gratuito, invece di riqualificare a posteriori codice già esistente.
Ospitare in proprio
Servono Node 20 e un'istanza MongoDB:
git clone https://github.com/elixio-io/asset-node.com.git
cd asset-node.com
npm install
cp .env.example .env # imposta MONGODB_URI, JWT_SECRET, JWT_REFRESH_SECRET
npm run db:setup
npm run dev:all
Nessuna credenziale MDM a portata di mano? npm run dev:mock avvia tutte le integrazioni su API simulate.
Se preferisci confrontare prima di installare qualcosa: il confronto con Snipe-IT passa in rassegna le differenze nel dettaglio, e la panoramica dei prezzi mostra quanto costa il cloud gestito.
Partecipare
Il progetto è giovane e le asperità sono reali. Se gestisci asset IT e ti manca qualcosa o qualcosa non ti torna, una issue vale più di una stella.
I due repository sono tenuti allineati; issue e pull request sono benvenute su entrambi. C'è però una cosa da
sapere prima, ed è scritta anche nel CONTRIBUTING.md: i contributi ci vengono concessi sotto una licenza che
comprende anche le versioni commerciali di AssetNode. Nei progetti mantenuti commercialmente è una prassi
abituale, ma è una differenza rispetto a un progetto sotto licenza OSI, ed è bene conoscerla prima di
investire il proprio tempo.
Se lavori con un agente di programmazione basato su IA, in AGENTS.md trovi i comandi di build, una
panoramica dell'architettura e le insidie che il codice da solo non mostra.