Terraform n’est plus open source

Terraform 1.0

HashiCorp abandonne à son tour l’open source pour ses produits, au rang desquels figure Terraform.

« Embarquer » et « héberger », ça veut dire quoi au juste ? HashiCorp a reçu bien des questions à ce sujet depuis qu’il a décidé de changer la licence de ses produits… dont Terraform.

Ce choix tient à une logique que bien des éditeurs, à l’image d’Elastic et de Grafana Labs, ont déjà suivie* : canaliser les fournisseurs qui se nourrissent desdits produits sans contrinuer en retour.

Du côté de Grafana Labs, on a basculé vers la licence AGPL. Qui, dans les grandes lignes, impose de donner accès au code source de tout dérivé. Elastic a quant à lui établi un système « à la carte » entre deux options non approuvées par l’OSI : une licence maison et SSPL. Cette dernière exige d’ouvrir le code source de toute implémentation d’un programme proposé à des tiers en tant que service.

HashiCorp, qui fonctionnait jusqu’alors avec la licence MPL, a retenu un autre substitut, non open source et dont MariaDB est à l’origine : BSL (Business Source License). Couchbase et Cockroach Labs, entre autres, l’ont déjà adopté. Principal effet : interdire d’« embarquer » ou d’« héberger » les éditions communautaires des produits HashiCorp dans le cadre de toute offre concurrente destinée à un usage en prod.

Consultants, MSP, intégrateurs… Vers des négociations au cas par cas

La licence MPL s’applique à toutes les versions publiées à partir du 10 août 2023.

Pourquoi l’avoir privilégiée à AGPL ou SSPL ? HashiCorp affirme que cela limite les exigences de copyleft, tout en permettant que le code devienne open source après un certain temps (ici, passage en MPL quatre ans après la mise à disposition)…

Quant à ce que signifie « embarquer », l’éditeur donne une double définition. D’un côté, inclure le code source ou le code objet dans un produit concurrent. De l’autre, packager le produit en question de sorte que son fonctionnement requiert d’accéder à ou de télécharger un produit HashiCorp. Est « concurrent » un produit « vendu à des tiers, y compris par l’intermédiaire d’un contrat de support » et qui « chevauche significativement les capacités d’un produit commercial de HashiCorp ».

HashiCorp s’est prononcé publiquement sur quelques cas, dont celui d’un intégrateur utilisant Terraform pour gérer l’infrastructure d’un client. Il en a laissé d’autres en suspens. Comme celui d’un hébergeur qui exploite le logiciel d’IaC dans le cadre de workflows GitOps interne et qui compte y donner un accès API.

La tendance est à privilégier un traitement au cas par cas. HashiCorp a toutefois fini par apporter une garantie : si nous lançons une offre qui vient concurrencer un de vos produits existants, vous ne serez pas considéré en violation de la BSL. À l’inverse, il a confirmé qu’à partir du 1er janvier 2024, il n’y aurait plus de correctifs de sécurité pour les versions MPL.

OpenTF ou la perspective d’un fork de Terraform

Dans ce contexte, une initiative OpenTF a émergé sous l’impulsion de fournisseurs dont le modèle économique repose au moins en partie sur Terraform. Gruntwork, env0, Scalr et Spacelift en font partie. Leur message : si HashiCorp ne fait pas marche arrière, nous développerons un fork, sous l’égide d’une fondation.

Ces mêmes fournisseurs se défendent de ne pas alimenter Terraform. C’est HashiCorp qui n’accepte pas leurs contributions, prétendent-ils, tout en rappelant la disponibilité de multiples ressources externes (providers, plug-in, cours en ligne…). Et de pointer, plus globalement, des pratiques commerciales « apparaissant dangereuses », dans la lignée d’une récente révision des prix.