GLPI 10 inclut, depuis sa sortie récente, la fonctionnalité d’inventaire natif accompagnant les agents GLPI sortis eux aussi dans l’année.
S’inspirant des projets précédents, Fusion Inventory et OCS (et reprennant leur format XML), elle se veut un point d’entrée unifié pour l’inventaire (en y ajoutant une plus grande compatibilité de l’ensemble des objets de GLPI).
Au début du développement du projet, une directive de ré-écriture complète avait été un des objectifs énoncés (sans reprise de code).

Récemment (après la sortie de la version 10.0 stable), il est apparu que cette fonctionnalité au sein de GLPI incluait des portions de code de FusionInventory. En tant qu’équipe de développement, nous avons été manifestement négligeant sur les copyrights du projet précédent.
De plus, il y a une incompatibilité entre la licence de GLPI (GPL-2.0-or-later) et celle de FusionInventory (AGPL-3.0-or-later)

Il n’est pas souhaité de notre part d’avoir de conflit envers FusionInventory, ni de volonté de s’attribuer la paternité; Teclib’ et ses développeurs étant aussi contributeurs du projet et sont donc inclus dans cette notion de copyright (principalement sur l’agent mais aussi dans une partie du plugin).
Nous présentons nos excuses à la communauté FusionInventory à propos de cette situation.

Corrections à venir

Quelques changements vont être effectués pour corriger la situation :

  • les mentions de copyright du projet Fusion Inventory vont être ajoutées sur les fichiers sources concernés,
  • la licence de GLPI (et les entêtes des fichiers sources) va être modifiée pour GPL-3.0-or-later.

Sur ce dernier point, cela est possible par la license précédente mentionnant “any later”. Elle permet de passer de la version 2 actuelle vers les versions ultérieures.
La compatibilité entre GPL-3.0 et AGPL-3.0 (Affero) est assuré explicitement dans le texte des deux licences.

En plus de ce changement, nous en avons profité pour vérifier les usages actuels en terme de bibliothèque.
Nous avons remplacé certaines pour résoudre toute incompatibilités suite au passage sur la GPL-3.0-or-later.
Une était impossible à remplacer, DHTMLX/gantt, et l’intégralité de la fonctionnalité Gantt a été sortie de GLPI pour être intégrée dans un plugin dédié. Il n’y a normalement aucune perte fonctionnelle, vous aurez simplement besoin d’installer le plugin (via le marketplace ou manuellement) pour récuperer les affichages précédents.

Ces changements seront effectifs lors de la prochaine version de GLPI à venir d’ici quelques semaines.

Quel impact de la nouvelle licence

Un rapide résumé de l’impact de ces changements :

  • GLPI est, et restera, complètement libre et open source, son code est toujours consultable et adaptable par chacun.
  • Tous les projets souhaitant partager ou ré-utiliser le code de GLPI doivent maintenant le faire avec la licence GPL-3.0 ou compatible.
  • La mention “or-later” de la nouvelle permet de prévoir le cas ou une version 4 de la GPL deviendrait disponible.

Si vous êtes utilisateur de GLPI, l’impact est probablement nul pour vous.

De notre coté, nous serons plus vigilant à l’avenir sur la compatibilité de notre code et des bibliothèques que nous utilisons.