Terraform is an infrastructure as code (IaC) tool for defining and managing infrastructure with declarative configuration files. Teams use it to standardize provisioning workflows, review infrastructure changes in version control, and automate multi-environment deployments across cloud providers and on-premises systems.
Note: In August 2023, HashiCorp changed Terraform’s license from MPL-2.0 to BUSL-1.1. For a fully open-source alternative, see OpenTofu (MPL-2.0 licensed fork).
- Multi-cloud infrastructure provisioning from code
- Standardizing repeatable environment creation (dev/staging/prod)
- Managing infrastructure lifecycle with plan/apply workflows
- State-driven infrastructure change management
- Compliance and audit trails for infrastructure changes
- Declarative HCL configuration - Human-readable infrastructure definitions
- Provider ecosystem - 1,000+ providers for cloud, SaaS, and platform resources
- Plan/Apply workflow - Preview changes before applying with state tracking
- Reusable modules - Share and version infrastructure patterns
- State management - Remote backends with locking and encryption
- Workspaces - Manage multiple environments from same configuration
- Policy as Code - Sentinel (Enterprise) or OPA for governance
- Dependency graph - Automatic resource ordering and parallel execution
- Core: Go
- Language: HCL (HashiCorp Configuration Language)
- Plugins: Provider and provisioner plugins (Go-based)
- State: JSON state files (local or remote backends)
- CLI: Single binary with plugin discovery
- BUSL-1.1 (since August 2023, versions 1.6+)
- MPL-2.0 (versions 1.5.x and earlier)
- ✅ Active development by HashiCorp
- Latest stable version: 1.14.6 (released February 25, 2026)
- Supported versions: 1.14.x, 1.13.x
- Release cadence: Regular minor releases with bug fixes
- Next major: 1.15.0 in alpha testing (experimental features)
- License change: BUSL-1.1 for v1.6+ (August 2023)
- OpenTofu fork: MPL-2.0 licensed community alternative
| Aspect |
Terraform |
OpenTofu |
| License |
BUSL-1.1 (v1.6+) |
MPL-2.0 |
| Steward |
HashiCorp |
Linux Foundation |
| Latest |
1.14.6 |
1.8.x |
| Compatibility |
HCL native |
HCL compatible |
| Use Case |
Commercial/Enterprise |
Fully open-source |
¶ History and References