Aller au contenu
Infrastructure as Code medium
🔐 Alerte sécurité — Incident supply chain Trivy : lire mon analyse de l'attaque

Terraform vs OpenTofu : quelles différences en pratique ?

6 min de lecture

logo terraform

Terraform ou OpenTofu : lequel choisir pour votre projet ? Pour la plupart des usages DevOps, les deux sont compatibles et produisent la même infrastructure. La vraie différence est la licence. Ce guide présente le contexte du fork, les différences concrètes, et une recommandation selon votre situation — entreprise, formation ou lab personnel.

Lignes directrices rapides :

  • Lab personnel, formation : Terraform (plus répandu) ou OpenTofu (licence open source)
  • Entreprise dépendante de l’écosystème HashiCorp (HCP, Vault, Consul) : Terraform
  • Produit SaaS basé sur IaC : OpenTofu (licence MPL-2.0, pas de restriction commerciale)
  • Le contexte du fork : pourquoi OpenTofu existe
  • Quelle recommandation : Terraform ou OpenTofu selon votre contexte
  • Migrer sans réécrire : remplacer terraform par tofu en une commande

HashiCorp a justifié ce changement par la protection de ses investissements commerciaux face aux providers cloud qui proposaient Terraform as a Service sans contribuer en retour.

La BSL restreint les usages considérés comme des “competitive offerings” :

  • Proposer un produit ou service qui concurrence les offres commerciales HashiCorp (HCP Terraform, Terraform Cloud).
  • Utiliser Terraform pour construire un service managé sans accord commercial.

HashiCorp précise qu’un usage interne au sein d’une organisation n’est pas considéré comme une offre concurrente.

Pour la majorité des usages DevOps (CI/CD, automation, labs), la BSL ne change rien en pratique. Mais pour les entreprises qui redistribuent des outils basés sur Terraform, c’est une contrainte réelle.

OpenTofu a été créé pour garantir une alternative sous licence MPL-2.0 (Mozilla Public License 2.0), reconnue open source par l’OSI.

CritèreTerraformOpenTofu
LicenceBSL 1.1 (non reconnue open source par l’OSI)MPL-2.0 (open source)
MainteneurHashiCorp, filiale d’IBM depuis février 2025Linux Foundation
OrigineProduit originelFork de la lignée open source 1.5.x, branche propre depuis 1.6
Compatibilité HCLRéférenceTrès élevée (drop-in replacement visé)
State formatRéférenceCompatible
ProvidersRegistry HashiCorpCompatibles ; registre miroir registry.opentofu.org
CLIterraformtofu
Fonctions de providerDepuis 1.8Depuis 1.7
Tests natifsterraform testtofu test
PrixGratuit (CLI)Gratuit

Pour la plupart des projets, passer de Terraform à OpenTofu se résume à :

Fenêtre de terminal
# Remplacer terraform par tofu dans tous les appels
tofu init
tofu plan
tofu apply

Les fichiers .tf ne changent généralement pas. Le format de state est compatible. Les providers usuels du Terraform Registry fonctionnent avec OpenTofu. Consultez le guide de migration pour les cas particuliers.

Les deux projets commencent à diverger sur les fonctionnalités avancées :

OpenTofu a ajouté une fonctionnalité native de chiffrement du state et des plans. Terraform ne dispose pas de cette fonctionnalité intégrée.

# opentofu uniquement
terraform {
encryption {
key_provider "pbkdf2" "my_passphrase" {
passphrase = var.state_passphrase
}
method "aes_gcm" "my_method" {
keys = key_provider.pbkdf2.my_passphrase
}
state {
method = method.aes_gcm.my_method
}
}
}

Fonctions définies dans les providers (OpenTofu 1.7, Terraform 1.8)

Section intitulée « Fonctions définies dans les providers (OpenTofu 1.7, Terraform 1.8) »

OpenTofu a introduit cette fonctionnalité avant Terraform. Les deux l’ont désormais, avec une syntaxe similaire.

terraform test et tofu test sont fonctionnellement équivalents pour les cas courants, mais les versions évoluent indépendamment.

Choisir Terraform si :

  • Votre organisation dépend de l’écosystème commercial HashiCorp (HCP Terraform, Vault, Consul, Nomad).
  • Vous avez besoin du support officiel HashiCorp / IBM.
  • Votre équipe travaille déjà avec les produits HashiCorp.

Choisir OpenTofu si :

  • La licence open source (MPL-2.0, reconnue par l’OSI) est un critère important.
  • Vous ne dépendez pas des produits commerciaux HashiCorp.
  • Vous voulez le chiffrement natif du state.
  • Votre organisation préfère une gouvernance communautaire (Linux Foundation).

Les deux fonctionnent si :

  • Vous utilisez libvirt, Kubernetes, AWS, GCP, Azure en mode communautaire.
  • Vous ne proposez pas Terraform as a Service.
  • Vous voulez juste automatiser votre infrastructure.
  • Vérifiez la compatibilité sur votre version réelle avant de basculer.
  • La BSL 1.1 de Terraform restreint les “competitive offerings” — pour l’usage interne et la plupart des entreprises, rien ne change.
  • OpenTofu est un fork compatible, maintenu par la Linux Foundation sous licence MPL-2.0 (open source, reconnue par l’OSI).
  • Les fichiers .tf, le format de state et les providers usuels sont compatibles entre les deux outils.
  • OpenTofu a quelques fonctionnalités avancées (chiffrement natif du state) que Terraform n’a pas encore.
  • Le choix dépend surtout de la licence et de la gouvernance souhaitées, pas des fonctionnalités quotidiennes.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn