Fork open source de Terraform mantenido por la Linux Foundation. Compatible con HCL y providers de Terraform, creado en respuesta al cambio de licencia de HashiCorp a BSL 1.1.
OpenTofu es un fork de Terraform creado en septiembre de 2023 cuando HashiCorp cambió la licencia de Terraform de MPL 2.0 (open source) a BSL 1.1 (source-available, con restricciones comerciales). La Linux Foundation adoptó el proyecto para garantizar que una alternativa verdaderamente open source existiera.
La licencia BSL 1.1 de Terraform permite usar, copiar y modificar el código, pero prohíbe ofrecer un producto competitivo basado en él. Esto afecta a:
Para usuarios finales que solo usan Terraform internamente, el impacto práctico es mínimo.
OpenTofu mantiene compatibilidad con el ecosistema Terraform:
# Migración básica
# 1. Instalar OpenTofu
brew install opentofu
# 2. Reemplazar comandos (drop-in replacement)
tofu init # en lugar de terraform init
tofu plan # en lugar de terraform plan
tofu apply # en lugar de terraform apply
# 3. El state file es compatible
# No se requiere migración de estado.tf en HCL — 100% compatibleOpenTofu ha comenzado a agregar features propias:
Elegir OpenTofu cuando:
Quedarse con Terraform cuando:
| Aspecto | Terraform | OpenTofu |
|---|---|---|
| Licencia | BSL 1.1 | MPL 2.0 (open source) |
| Gobernanza | HashiCorp | Linux Foundation |
| CLI | terraform | tofu |
| HCL compatible | Sí | Sí |
| Providers | Terraform Registry | Compatible + registry propio |
| State encryption | Solo en Enterprise | Incluido (gratis) |
| Soporte comercial | HashiCorp | Spacelift, env0, Scalr |
| Community | Establecida | Creciendo |
# main.tf — funciona igual en Terraform y OpenTofu
terraform {
required_version = ">= 1.6.0"
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
backend "s3" {
bucket = "my-state-bucket"
key = "prod/terraform.tfstate"
region = "us-east-1"
}
}
provider "aws" {
region = "us-east-1"
}
module "vpc" {
source = "terraform-aws-modules/vpc/aws"
version = "5.5.0"
name = "production"
cidr = "10.0.0.0/16"
}# Solo en OpenTofu
terraform {
encryption {
key_provider "pbkdf2" "main" {
passphrase = var.state_passphrase
}
method "aes_gcm" "main" {
keys = key_provider.pbkdf2.main
}
state {
method = method.aes_gcm.main
}
}
}Empresas que respaldan OpenTofu:
El cambio de licencia de Terraform a BSL fue un punto de inflexión para el ecosistema de IaC. OpenTofu garantiza que la inversión en conocimiento de HCL y módulos existentes no quede atrapada en una licencia restrictiva. Para organizaciones que valoran el open source como principio, no solo como conveniencia, OpenTofu es la alternativa viable.
Herramienta de Infrastructure as Code de HashiCorp que permite definir, provisionar y gestionar infraestructura multi-cloud mediante archivos declarativos en HCL.
Práctica de definir y gestionar infraestructura mediante archivos de configuración versionados en lugar de procesos manuales. Fundamento de la automatización moderna de operaciones.
Conjunto de prácticas técnicas y culturales que implementan los principios DevOps — desde Infrastructure as Code hasta blameless post-mortems. El «cómo» detrás de la filosofía.