Point de tension régulier entre les éditeurs et les clients, les audits de licence logicielle évoluent au fur et à mesure des changements de modèle de tarification. C’est le cas notamment d’Oracle qui vient selon nos confrères de The Register d’intégrer Java dans ses audits. En 2019, la firme de Redwood Shores avait dévoilé deux modèles de licences impliquant la facturation de frais pour Java SE, auparavant gratuit. Les clients doivent ainsi souscrire un abonnement annuel pour les versions commerciales de Java SE afin de recevoir les correctifs et les mises à jour.

Jusqu’à présent Oracle avait une approche douce pour auditer Java, via ses équipes commerciales. Mais la forte présence de JDK au sein des entreprises s’impose de plus en plus dans les audits depuis le début de l’année, rapporte le site web britannique. Des spécialistes des audits ont ainsi reçu des lettres du service de gestion des licences de l'éditeur avec des demandes spécifiques sur Java.

Confusion et inquiétude

Cette démarche crée de la confusion. « Une idée fausse que les utilisateurs ont est que l’usage d’une ancienne version de Java ne nécessite pas de licence. En fait, même si vous vous servez de vieilles versions, en téléchargeant des correctifs et des mises à jour depuis le site web d’Oracle, vous avez besoin d’une licence de support pour cela », glisse Craig Guarente, CEO et fondateur de Palisade Compliance à nos confrères.

Cette situation peut inquiéter les entreprises au point de chercher des solutions alternatives, notamment avec Open JDK. Certaines ont pris des décisions plus radicales en supprimant du jour au lendemain Java et en observant là où ça casse (en remettant Java dans ce cas-là). Gartner rappelle que les utilisateurs doivent souscrire à un abonnement pour obtenir les mises à jour critique d'Oracle Java SE 7, 8 et 11. Il est peut être temps d’évaluer la possibilité de migrer vers Java 17. A sa sortie Oracle a proposé une licence gratuite avec des mises à jour trimestrielles gratuites pendant trois ans - mais uniquement pour cette itération. On peut enfin ajouter une source de confusion, les abonnements Java sont nécessaires pour le runtime et non pour le SDK. Le nom Oracle JDK n’est effectivement pas explicite, car il s’agit d’un runtime.