The BSL license change was the crack. The IBM acquisition was the earthquake. Now the IaC landscape is fracturing.
In February 2025, IBM completed its $6.4 billion acquisition of HashiCorp. Terraform, the tool that defined infrastructure-as-code for a generation of DevOps engineers, is now an IBM product. And it's been operating under the Business Source License since August 2023.
Those two facts — a restrictive license and a new corporate owner — have pushed a significant chunk of the Terraform community to start looking elsewhere. Surveys show 38% of Terraform users are actively evaluating or migrating to alternatives. OpenTofu, the open-source fork, has seen 300% annual growth and nearly 10 million downloads. The IaC landscape hasn't been this fractured since before Terraform won.
If you're an AWS-focused team still running Terraform, it's worth asking: is this still the right tool, or are you staying out of inertia?
The timeline matters because the license change and the acquisition are two separate events, and each one removed a different reason to stay.
August 2023: HashiCorp switched Terraform from the Mozilla Public License (MPL 2.0) to the Business Source License (BSL 1.1). The BSL prohibits using Terraform to build competing products or services. For most end users, this changes nothing day-to-day. But it killed the "Terraform is open source" argument that made it feel safe to bet on. You're now building critical infrastructure on a tool whose license terms are controlled by a corporation that can change them again.
September 2023: The Linux Foundation announced OpenTofu, a fork of Terraform at the last MPL-licensed commit. IBM, Alibaba, Gruntwork, Spacelift, and others backed it. The fork was credible from day one.
February 2025: IBM closed the HashiCorp acquisition for $6.4 billion. Terraform, Vault, Consul, Nomad, Packer, Vagrant — all IBM products now. IBM's track record with acquisitions (Red Hat notwithstanding) gives the community pause. The concern isn't that IBM will break Terraform tomorrow. It's that the incentive structure changed. IBM paid $6.4 billion and needs to justify that spend. Enterprise licensing, feature gating, and ecosystem lock-in are the obvious levers.
The BSL alone wouldn't have caused this. Plenty of developers use BSL-licensed software without issue. But the license change signaled a philosophical shift, and the acquisition amplified it.
If you build a platform, managed service, or internal developer portal that wraps Terraform, you need to evaluate whether you're creating a "competitive offering" under the BSL. The language is deliberately vague. Most internal tools probably don't qualify, but "probably" isn't a word you want in your legal risk assessment for a core infrastructure tool. CloudFormation, CDK, Pulumi, and OpenTofu all have licenses that don't require this analysis.
HashiCorp as an independent company had one revenue model: sell HashiCorp Cloud Platform and enterprise support. IBM has a different playbook. IBM's history includes acquiring companies, integrating their products into IBM's enterprise sales motion, and gradually deprecating anything that doesn't fit. Maybe Terraform is too big for that treatment. But Terraform's community isn't waiting around to find out.
OpenTofu has 95%+ feature parity with Terraform, 300% annual download growth, and backing from the Linux Foundation. It's not a toy fork that will die in six months. It hit 9.8 million downloads. If you're going to keep writing HCL, OpenTofu removes the license and corporate risk while keeping your existing code working.
The 38% who are evaluating alternatives aren't all going to the same place. The migration paths depend on your stack, your team, and what you actually need from IaC.
This is the option that gets dismissed too quickly. CloudFormation is verbose, yes. The feedback loop is slower than terraform plan, yes. But it has properties that matter more in 2026 than they did in 2019:
terraform plan, but it requires running it — CloudFormation drift detection can run on a schedule.Here's what a production VPC looks like in CloudFormation. It's more verbose than HCL, but it's explicit, self-contained, and has no external dependencies:
AWSTemplateFormatVersion: '2010-09-09'
Description: Production VPC with public and private subnets
Parameters:
Environment:
Type: String
Default: production
AllowedValues: [production, staging]
Resources:
VPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: 10.0.0.0/16
EnableDnsSupport: true
EnableDnsHostnames: true
Tags:
- Key: Name
Value: !Sub ${Environment}-vpc
PublicSubnetA:
Type: AWS::EC2::Subnet
Properties:
VpcId: !Ref VPC
CidrBlock: 10.0.1.0/24
AvailabilityZone: !Select [0, !GetAZs '']
MapPublicIpOnLaunch: true
PrivateSubnetA:
Type: AWS::EC2::Subnet
Properties:
VpcId: !Ref VPC
CidrBlock: 10.0.10.0/24
AvailabilityZone: !Select [0, !GetAZs '']
Outputs:
VpcId:
Value: !Ref VPC
Export:
Name: !Sub ${Environment}-vpc-id
No providers to configure. No backend to set up. No state file to protect. Deploy it with aws cloudformation deploy and move on.
If your objection to CloudFormation is the YAML verbosity, CDK is the answer. It generates CloudFormation templates from TypeScript, Python, Java, Go, or C#. You get the reliability of CloudFormation with the expressiveness of a real programming language:
const vpc = new ec2.Vpc(this, 'ProductionVpc', {
maxAzs: 3,
natGateways: 1,
subnetConfiguration: [
{ name: 'Public', subnetType: ec2.SubnetType.PUBLIC, cidrMask: 24 },
{ name: 'Private', subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS, cidrMask: 24 },
],
});
Five lines. Three AZs. Public and private subnets. NAT gateway. Route tables. Internet gateway. All generated as CloudFormation and deployed through the same engine. CDK gives you loops, conditionals, inheritance, and composition — the things people miss in raw CloudFormation YAML.
If your team has years of Terraform modules and you don't want to rewrite them, OpenTofu is the path of least resistance. It's a drop-in replacement for Terraform with the original open-source license. Swap the binary, keep your code.
The risk with OpenTofu is long-term divergence. As Terraform and OpenTofu evolve independently, feature parity will erode. You're betting that the Linux Foundation and the contributor community can keep pace with an IBM-funded Terraform team. Right now, that bet looks good. In three years, it might not.
Pulumi lets you write infrastructure in TypeScript, Python, Go, C#, or Java — like CDK, but not locked to AWS. If your infrastructure spans multiple clouds, Pulumi is the strongest alternative. The downside: smaller ecosystem than Terraform, and you're adopting another vendor (Pulumi the company). But the license is Apache 2.0 and the engine is open source.
| CloudFormation | CDK | OpenTofu | Terraform | Pulumi | |
|---|---|---|---|---|---|
| License | AWS service | Apache 2.0 | MPL 2.0 | BSL 1.1 | Apache 2.0 |
| Multi-cloud | No | No | Yes | Yes | Yes |
| State management | AWS-managed | AWS-managed | Self-managed | Self-managed | Managed or self |
| Language | YAML/JSON | TS/Python/Go/Java/C# | HCL | HCL | TS/Python/Go/Java/C# |
| Day-one AWS support | Yes | Yes | Varies | Varies | Varies |
| Corporate risk | AWS (your cloud provider) | AWS | Linux Foundation | IBM | Pulumi Inc. |
If your infrastructure is 100% AWS — and for most startups and mid-size companies, it is — CloudFormation or CDK is the safest long-term bet. You're already paying AWS. CloudFormation is included. The state is managed. The license is not a concern. New services work on day one.
If you have existing Terraform code and can't justify a rewrite, move to OpenTofu. It's the same code, the same workflow, and an open-source license. Do it now, before the two forks diverge further.
If you're multi-cloud, Pulumi gives you real programming languages without the BSL baggage.
What I wouldn't do is start a new project on Terraform in 2026. The BSL makes the license story worse than every alternative. The IBM acquisition adds corporate uncertainty. And the alternatives have matured to the point where the ecosystem advantage — Terraform's real moat — is eroding.
The IaC landscape is fracturing, and that's not necessarily a bad thing. Competition is healthy. But if you're sitting on a Terraform codebase and waiting for things to settle, you might be waiting a long time. The ground has already shifted.
Published by Yaw Labs.
Interested in AI tools and developer workflows? Token Limit News is our weekly newsletter.