Le 10 juin dernier, Oracle sortait discrètement une nouvelle version de Berkeley DB. En même temps, l'éditeur a tout aussi discrètement modifié la licence de cette importante bibliothèque de base de données intégrée, largement utilisée comme base de données de stockage key/value store dans d'autres applications.
Historiquement, la base de données Berkeley DB, rachetée par Oracle à Sleepycat Software, était sous stricte licence copyleft approuvée par l'OSI avec des implications très similaires à une licence GPL. (Le copyleft, c'est l'autorisation donnée par l'auteur d'un travail soumis au droit d'auteur d'utiliser, d'étudier, de modifier et de copier son oeuvre, dans la mesure où cette autorisation reste préservée). En vertu de la licence de Sleepycat, la distribution de logiciels intégrant Berkeley DB impliquait aussi de fournir « des informations sur la façon d'obtenir le code source complet pour le logiciel de base de données et tout logiciel connexe utilisant la base de données ». Le business modèle adopté par Sleepycat pour Berkeley DB consistait à vendre aux développeurs une licence propriétaire alternative pour la base de données de façon à les soustraire aux obligations de la clause de strict copyleft de la licence Sleepycat.
Conformité réseau devenue nécessaire
Les futures versions de Berkeley DB seront désormais sous licence GNU AGPL ou Affero General Public License. C'est aussi une licence de copyleft stricte, mais avec une différence importante. La licence AGPL stipule en effet que « la version modifiée doit offrir à tous les utilisateurs la possibilité d'interagir avec elle à distance via un réseau informatique... de façon à pouvoir recevoir le code Source correspondant à sa version ». C'est un changement de taille pour les développeurs Web utilisant Berkeley DB pour le stockage local. Jusqu'à présent, ils n'avaient pas trop à se soucier de la conformité avec les termes de la licence parce qu'ils n'avaient jamais « redistribué » la source de leurs applications Web, puisque celles-ci tournaient simplement sur des serveurs et étaient accessibles à distance par les utilisateurs. Mais les termes de l'AGPL impliquent que l'utilisation à distance du logiciel devient un élément de la conformité des licences.
Pour travailler avec la nouvelle licence, les utilisateurs de Berkeley DB devront s'assurer que leur application Web est en conformité avec la licence publique générale Affero. En premier lieu, ils doivent désormais rendre la source correspondante pleinement accessible à leur application Web. Ensuite, ils doivent veiller à ce que toute l'application - auparavant considérée comme un asset à usage interne - dispose d'une licence compatible et. Cela signifie que toute source doit être sous licence GPLv3 ou AGPL, et mise à disposition de tous les utilisateurs.
Des alternatives OpenLDAP se profilent
Oracle n'a pas donné d'explication sur les motifs de ce transfert de licence, mais celui-ci pourrait bien être interprété comme une incitation à introduire des licences propriétaires. Pour éviter ces problèmes de compliance avec l'AGPL, les développeurs peuvent tout simplement acheter une licence Berkeley DB propriétaire à Oracle. Mais il y a aussi d'autres alternatives. Le projet Open Source OpenLDAP était l'un des plus grands utilisateurs de Berkeley DB, mais il a décidé de passer à la base de données Lightning Memory-Mapped Database (LMDB). LMDB pourrait très bien être utilisable par les applications Berkeley DB existantes sans gros travail de reprogrammation. En outre, il existe de nombreuses autres bases de données « embarquées », même si beaucoup sont basés sur SQL plutôt que des bases de données de stockage key/value store.
Oracle est tout à fait dans son droit de modifier la licence sans préavis. L'éditeur détient un copyright total sur le code. Mais un grand nombre va interpréter ce transfert comme une manoeuvre destinée à les obliger à opter pour la licence exclusive d'Oracle. Ils pourraient bien en réaction se tourner vers des solutions alternatives.