Un petit rappel : c'est quoi l'Infrastructure as Code ?
Avant de parler drama, posons les bases. L'Infrastructure as Code (IaC), c'est le principe qui consiste à décrire toute votre infrastructure cloud (serveurs, bases de données, réseaux, load balancers...) dans des fichiers texte, plutôt que de cliquer manuellement dans une console AWS ou Azure pendant des heures. Vous versionnez ces fichiers dans Git, vous les relisez en revue de code, et vous les appliquez automatiquement. Fini les 'ah zut, j'ai oublié comment j'avais configuré ce serveur en 2021'.
Terraform, développé par HashiCorp, est devenu l'outil de référence dans ce domaine depuis presque une décennie. Multi-cloud, avec un écosystème énorme de plugins (appelés providers), il est utilisé par une majorité des équipes DevOps dans le monde, y compris chez nous à YouOnline pour certains projets clients.
Le drame de 2023 : HashiCorp change les règles du jeu
En août 2023, HashiCorp annonce un changement de licence pour Terraform : on passe d'une licence open source classique (Mozilla Public License 2.0) à la Business Source License (BSL). Concrètement, cette licence interdit à certaines entreprises de proposer des produits ou services concurrents basés sur Terraform sans payer HashiCorp.
Sur le papier, l'idée est de protéger HashiCorp face à des géants du cloud qui utilisaient Terraform gratuitement pour vendre des services concurrents (coucou les hyperscalers qui proposent leurs propres offres managées basées dessus). Mais dans les faits, ce changement a fait grincer beaucoup de dents dans la communauté open source, qui a vu ça comme une trahison des valeurs fondatrices du projet.
La riposte : la naissance d'OpenTofu
Quelques semaines à peine après l'annonce, un collectif d'entreprises (Gruntwork, Spacelift, Harness, env0, et bien d'autres) décide de forker la dernière version open source de Terraform pour créer OpenTofu. Le projet rejoint rapidement la Linux Foundation, ce qui lui donne une gouvernance neutre et rassurante pour les entreprises qui hésitent à s'engager.
En septembre 2023, OpenTofu sort sa première version stable. Et depuis, le projet vit sa vie en toute indépendance, avec ses propres releases, sa propre roadmap, et surtout... sa propre licence 100% open source (MPL 2.0), celle que Terraform avait avant le changement.
Concrètement, qu'est-ce que ça change pour vous ?
Bonne nouvelle : si vous avez déjà des fichiers Terraform, la transition vers OpenTofu est quasiment transparente. La syntaxe reste identique, les providers fonctionnent pareil, et la CLI reprend les mêmes commandes. Regardez, voici un exemple basique de définition d'infrastructure qui fonctionne à l'identique sur les deux outils :
resource "aws_instance" "serveur_web" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t3.micro"
tags = {
Name = "serveur-production"
Environment = "prod"
Gere_par = "YouOnline"
}
}
output "adresse_ip" {
value = aws_instance.serveur_web.public_ip
}Et pour appliquer cette configuration, la commande change à peine :
# Avec Terraform
terraform init
terraform plan
terraform apply
# Avec OpenTofu (littéralement pareil, juste le nom de la commande)
tofu init
tofu plan
tofu applyOpenTofu a même prévu un alias automatique pour ne pas perturber vos habitudes de frappe au clavier. Autant dire que la barrière à l'entrée est proche de zéro.
Les vraies différences qui comptent
Depuis le fork, les deux projets ont commencé à diverger un peu, et c'est là que ça devient intéressant :
- La licence : OpenTofu reste 100% open source MPL 2.0, sans restriction commerciale. Terraform est en BSL, avec des limitations pour certains usages concurrentiels.
- Les state files chiffrés : OpenTofu a introduit le chiffrement natif des fichiers d'état (le fameux
terraform.tfstatequi contient parfois des infos sensibles comme des mots de passe de bases de données). Une fonctionnalité réclamée depuis des années par la communauté et arrivée bien plus vite chez OpenTofu. - Les boucles
for_eachsur les providers : OpenTofu a débloqué une limitation historique qui empêchait d'itérer dynamiquement sur des providers, un vrai soulagement pour les architectures multi-région complexes. - La gouvernance : OpenTofu est piloté par un comité technique ouvert sous l'égide de la Linux Foundation, alors que Terraform reste entièrement décidé par HashiCorp (racheté depuis par IBM en 2024, ce qui a d'ailleurs relancé les inquiétudes).
Faut-il migrer votre infra vers OpenTofu ?
Chez YouOnline, on a testé la migration sur plusieurs projets internes et clients, et voici notre retour d'expérience honnête.
Si vous démarrez un nouveau projet, franchement, OpenTofu est un choix solide par défaut. La licence est plus claire, la communauté est active, et la compatibilité avec l'écosystème Terraform existant (modules, providers) est excellente.
Si vous avez déjà une infra Terraform en production, la migration est simple sur le papier : il suffit d'installer le binaire OpenTofu et de relancer vos commandes habituelles. Mais on vous conseille quand même de :
- Faire une sauvegarde complète de votre state file avant toute manipulation
- Tester la migration sur un environnement de staging d'abord
- Vérifier la compatibilité des modules tiers que vous utilisez (la grande majorité fonctionne sans souci)
- Former votre équipe aux petites différences de commandes CLI
Le cas des grandes entreprises et des intégrateurs cloud
Certains gros acteurs du cloud, notamment AWS avec ses offres managées (comme les modules CDK ou certains services Terraform-as-a-Service), restent pour l'instant sur Terraform pour des raisons contractuelles avec HashiCorp. Si vous dépendez fortement de ces intégrations spécifiques, vérifiez bien la compatibilité avant de migrer en masse.
Le mot de la fin : une saine compétition pour l'écosystème
Cette histoire d'OpenTofu, au-delà du drama initial, est plutôt une bonne nouvelle pour tout le monde. La compétition pousse les deux projets à innover plus vite, les prix restent contenus (Terraform Cloud a dû revoir sa stratégie face à la concurrence), et surtout, les développeurs et les équipes infra ont enfin le choix.
Chez YouOnline, on suit ça de près parce que l'IaC fait partie intégrante de notre approche pour déployer et maintenir les infrastructures de nos clients de manière fiable et reproductible. Que vous restiez fidèle à Terraform ou que vous sautiez le pas vers OpenTofu, l'essentiel reste le même : versionner votre infrastructure, automatiser vos déploiements, et dormir tranquille la nuit en sachant que tout est documenté quelque part dans un fichier .tf plutôt que dans la mémoire fragile d'un développeur parti en vacances.
Si vous vous posez des questions sur la meilleure stratégie IaC pour votre projet, n'hésitez pas à nous contacter : on adore ce genre de débat technique autour d'un café (ou d'un pastis, on est à Aix-en-Provence quand même).
