Terraform vs OpenTofu: Qual Ferramenta de IaC para CI?
O OpenTofu é o fork open-source do Terraform criado após a mudança de licença - em grande parte compatível, com funcionalidades que divergem.
O Terraform é a ferramenta de IaC da HashiCorp, agora sob a licença BSL. O OpenTofu é um fork orientado pela comunidade, da Linux Foundation, sob uma licença open-source (MPL), construído para ser uma alternativa compatível drop-in que, desde então, passou a adicionar suas próprias funcionalidades.
| Terraform | OpenTofu | |
|---|---|---|
| Licença | BSL (source-available) | MPL 2.0 (open source) |
| Governança | HashiCorp/IBM | Linux Foundation / comunidade |
| Compatibilidade | n/a | Alta (fork do Terraform) |
| Linguagem de config | HCL | HCL |
| Divergência de funcionalidades | Roadmap do fornecedor | Roadmap independente |
Em CI
Para a maioria dos pipelines os dois são intercambiáveis: mesmo HCL, mesmo fluxo de plan/apply, ecossistema de providers semelhante. A decisão gira principalmente em torno de licenciamento e governança - a licença open-source do OpenTofu importa para algumas organizações e fornecedores. Com o tempo as funcionalidades divergem, então fixe uma versão e evite depender das funcionalidades exclusivas de uma das ferramentas se quiser manter a opção de trocar.
Esforço de migração
Migrar um projeto Terraform existente para o OpenTofu costuma ter pouco atrito em versões compatíveis, mas a compatibilidade de estado e de provider/versão deve ser testada primeiro em CI. De todo modo, trave a versão da ferramenta no seu pipeline.
O veredito
Quer uma licença totalmente open-source e governança de comunidade: OpenTofu. Prefere as ferramentas oficiais e o roadmap da HashiCorp: Terraform. Eles são, hoje, em grande parte intercambiáveis - fixe uma versão e teste antes de trocar.