Terraform and OpenTofu History and Timeline - A License Clause, a Fork, a Foundation, and an Acquisition

First Published:
Last Updated:

When choosing infrastructure-as-code tools, two options currently exist: Terraform and OpenTofu. They are written in a largely similar way, and share overlapping capabilities. Yet, they are distinct. What separated them was not a difference in features and not a difference in design philosophy. It was a few lines of parameters in one file in the repository.

This article explores the history and timeline of Terraform and OpenTofu. It doesn't focus on a history of features. Instead, it traces the path a change in a license clause opened: a fork, a foundation taking one side into its custody, and an acquisition changing who holds the other.

How One License Clause Split One Tool Into Two
How One License Clause Split One Tool Into Two
What sets this lineage apart from the histories of other tools is the fact that the point of divergence lies neither in the code nor in an organization, but in a text file. The record remains in the repository's history, detailing which words were added and which were removed on specific dates. This article follows that history in date order.

This article does not evaluate the merits of either tool. It does not discuss which one to use or which one to migrate to, and it does not evaluate the decisions companies and communities made. It also gives no legal advice. It does not judge whether a particular use is permitted. It records what the clause said and the day each wording changed. Where the primary sources give no reason, this article does not supply one.

All information presented in this article was verified as of 2026-09-06.

Related articles on hidekazu-konishi.com:

Background and Method of Creating the Terraform and OpenTofu Timeline

What Counts as a Turning Point Here

This timeline is not exhaustive. Both Terraform and OpenTofu have many versions, and listing them all would not show why the two came apart. Only four kinds of rows are included:

  1. Rows where the license changed — rows marking a change in the license the software is distributed under.
  2. Rows where the license text itself was rewritten — rows where the wording of a parameter changed while the license stayed the same. This kind of row is the center of this article.
  3. Rows where the scope that a release carries changed — the version from which the applicable license changes, and the latest version at the time of verification.
  4. Rows where custody of the project changed — acceptance by a foundation, a change of maturity level, or an acquisition.

Rows for feature additions are excluded as a rule. The complete history of features for each product can be found in their respective official release notes and changelogs. The only exception is a version at which the scope of the license changes. For example, Terraform versions 1.5.7 and 1.6.0 are recorded not for their feature changes, but because they represent two different versions with different applicable licenses.

The Primary Sources This Article Used

Each row carries the URL of the matching primary source. The following categories were utilized:

  • Company Websites: The hashicorp.com blog, Licensing FAQ, and the page detailing the license terms.
  • Project Websites: The opentofu.org manifesto and blog.
  • Artifacts Included in the Repositories: The LICENSE files and release tags from github.com/hashicorp/terraform and github.com/opentofu/opentofu. ⛔ This article treats these as the most important primary sources. The reason is given in the next section.
  • Foundation Records: Press releases from linuxfoundation.org and project pages from cncf.io.
  • Official Announcements from the Acquiring Party: newsroom.ibm.com.

⛔ Secondary media and summary articles were not treated as primary sources. This topic is subject to a large number of secondary articles, and some of them round off the dates and the scope. The places where that rounding happens are named in the text.

Why This Timeline Reads the Repository, Not Only the Announcement

The date of the announcement and the date the product's licensing terms changed are not necessarily the same.

License changes are announced on the blog. However, users actually use the binaries and source code distributed from the repository, and the LICENSE file included within those files specifies the licensing terms for that version. The announcement and that file do not always move on the same day. This timeline carries both the announcement rows and the rows where the repository file actually changed.

⚠ This article retrieved and read the LICENSE file at each tag. As a result, the findings differ from common summaries often seen in secondary articles. Details are provided in the section following the timeline.

⚠ There are instances where the licensing page and the included files contain conflicting information. These discrepancies, as observed at the time of verification, are documented in the text. This article does not make legal judgments regarding which version takes precedence. Instead, both versions are presented with their respective dates.

Why Every Row Here Carries a Day

Every row in this timeline carries a day. No row stops at a month or at a year. The reason lies in the nature of the sources.

  • Rows where the license text changed carry the date of the repository commit.
  • Rows for announcements and interpretive guidance carry the publication date printed on the page itself.
  • Rows for distributed artifacts carry the publication time of the release.
  • Rows for a foundation and for an acquisition carry the date of the announcement itself.

⚠ Anything without a day has been left out of the timeline. The change to the registry's terms of use is one such case: the fork side gives it as a reason, but no change history is published, so the date cannot be fixed. That case sits in the prose instead, recorded as something the fork side stated.

⚠ Having a day and something moving on that day are two different things. The sharpest case in this article is the announcement and the day the applicable license of an artifact changed, which are eight weeks apart. Each row is therefore written to say only what happened on that one day.

How This Article Writes the Two Abbreviations

This article addresses the use of two different abbreviations for the same license.

  • An announcement from 2023-08-10 refers to it as the Business Source License (BSL, also known as BUSL) v1.1.
  • The Licensing FAQ poses the question: What is the Business Source License (BSL, or BUSL)?
  • The OpenTofu manifesto refers to it as the Business Source License (v1.1) and uses BUSL as an abbreviation in parentheses.

⇒ Neither one is the correct form. Both are in use. This article shows both at first mention and then keeps to BUSL. Direct quotations are not altered. That is why BSL appears inside the quotation blocks.

⚠ The names of the fields keep their original spelling. Terms such as Licensed Work, Additional Use Grant, Change Date, and Change License will be rendered exactly as they appear in the license text, without translation or paraphrasing.

The Trigger Column

Each row in the timeline is marked with the type of trigger. The values used are as follows:

  • Launch — Rows indicating the public start of a project or document.
  • Release — Rows indicating the release of a version. Only versions where the scope of the license changes and the most recent version at the time of review are included.
  • License — Rows indicating a change in the license under which the work is distributed.
  • Clause — Rows where a parameter or a clause of the license text changed.
  • Guidance — Rows indicating the publication or update of guidance for interpretation.
  • Fork — Rows where a fork was created from existing code.
  • Foundation — Rows indicating when a foundation accepted the work, or when its maturity status changed.
  • Acquisition — Rows where custody of the project changed hands.
  • Dispute — Rows indicating when a party's claims were publicly documented.

What This Article Leaves to Other Articles

This article does not cover the usage of tools. Comparisons of writing styles, state management, and migration procedures are held by earlier articles.

Terraform and OpenTofu Historical Timeline (Updates from July 2014)

The following is a timeline of Terraform and OpenTofu. The rows run in chronological order, and each carries a link to its primary source.

Use the following index to navigate by year:

  • 2014 - The repository appears, carrying MPL 2.0.
  • 2021 - The tool reaches version 1.0.
  • 2023 - The license changes, a fork appears, and the license text is rewritten five times.
  • 2024 - The fork reaches a stable release, both sides publish their positions as documents, and an acquisition is agreed.
  • 2025 - The acquisition closes, and the fork takes a further position inside a foundation.
  • 2026 - The party named in the license changes.

2014-2021 - One Repository, One License

During this period, Terraform was distributed as a single repository with a single license. The question of who would determine the license had not yet been addressed.

DateProjectTriggerSummary
2014-07-28TerraformLaunchTerraform shipped its first version. The commit associated with the repository tag v0.1.0 is dated 2014-07-28T17:43:27Z. On the same day, a LICENSE file was added. The commit message was Adding license, and it contained the Mozilla Public License, version 2.0. This single file remained in the same location for the next nine years. What this article follows is how the contents of that file changed, and on which day. ⚠ The repository itself was created earlier, on 2014-03-13. The original announcement post could not be located, so this article relies on the tag and the commit as primary sources. References: hashicorp/terraform tag v0.1.0 / hashicorp/terraform LICENSE history
2021-06-08TerraformReleaseTerraform 1.0 reached general availability. The announcement stated that this version marked a milestone for interoperability and ease of updates, and included the statement, All Terraform 1.x releases will have a maintenance period of at least 18 months. Across the 1.x line, users could now write on the assumption that upgrades would not break them. That assumption later becomes the basis for the backward compatibility the fork promises. ⚠ This row records not a feature addition but the placing of a compatibility promise. References: Announcing HashiCorp Terraform 1.0 General Availability / hashicorp/terraform release v1.0.0

2023 (August) - The License Changes, and a Manifesto Answers It

A little over two weeks in August 2023 contains nearly every turning point in this lineage. An announcement was made, the repository files were updated, interpretive guidelines were released, a document responding to those guidelines was published, and a fork was declared.

DateProjectTriggerSummary
2023-08-10TerraformLicenseHashiCorp announced a change in licensing, moving from MPL 2.0 to the Business Source License (BSL, also known as BUSL) 1.1 for future releases. The announcement limited the scope of the change with the words on all future releases of HashiCorp products, and also stated that HashiCorp APIs, SDKs, and almost all other libraries will remain MPL 2.0. ⛔ This change applies only to future releases, not existing ones, a limitation that enables future divergence. The full text of the announcement is included in a later section of this timeline. The announcement also stated what would stop, saying that vendors providing competitive services will no longer be able to incorporate future releases, bug fixes, or security patches. The announcement names earlier cases. It says Companies including Confluent, MongoDB, Elastic, Redis Labs, and others have also adopted alternative licenses that include restrictions on commercial usage., listing Elastic and Redis Labs as precedents for this move. The histories of those two are held by earlier articles, so this article hands them off here. References: HashiCorp adopts Business Source License
2023-08-10TerraformClauseThe same day, the repository replaced its LICENSE file. The commit message read, Updating the license from MPL to Business Source License. ⚠ The content of this updated file was significantly different from the current version. The Licensed Work section contained no product name or version number, stating only The Licensed Work is (c) 2023 HashiCorp, Inc.. The Additional Use Grant ran to four lines. This clause was not initially complete. It would undergo three revisions over the following three and a half months. References: hashicorp/terraform LICENSE history
2023-08-10HashiCorp FAQGuidanceThe same day, a Licensing FAQ appeared. The revision history at the bottom of the page listed Aug. 10, 2023 with the note Posted original FAQ. ⛔ One of the questions addressed in this initial FAQ would later lead to a significant divergence. The question concerned whether the change was retroactive, with the answer stating, Yes. The license change is not retroactive. This means all source code and releases prior to the change remain under the MPL 2.0 license. You may continue to use those versions indefinitely under the original license. Another question, also from the same day, included a time limit. It stated, HashiCorp will continue to backport critical security patches, as available, to existing versions under the MPL 2.0 license until December 31, 2023. That set an end date for security fixes to the MPL 2.0 versions. Another question addressed the standing of the FAQ itself. It stated, We view the guidance in these FAQs as binding. References: HashiCorp Licensing FAQ
2023-08-13OpenTFLaunchA document answering the license change appeared. At the time, the project was known as OpenTF. The first commit to the repository, which was also its creation date, was 2023-08-13T16:17:24Z. The document described the change as HashiCorp switched the license for Terraform from the MPL to the Business Source License (v1.1), referring to the new license as a non-open source license. The full text of the document is included in a later section of this timeline. ⛔ The document's central argument is that the terms are vague. It states, The BUSL and the additional use grant written by the HashiCorp team are vague. This article does not judge whether that claim is right. However, the subsequent history shows the evolution of the Additional Use Grant section. The document is presented in two parts. The first part calls for a reversal of the change, while the second outlines a path for divergence if the change is not reversed. References: The OpenTofu Manifesto
2023-08-16TerraformClauseThe Licensed Work field gained a product name and a version. The commit message read, Update BUSL LICENSE to include licensed product and version. The field changed from The Licensed Work is (c) 2023 HashiCorp, Inc. to Terraform 1.6.0. The Licensed Work is (c) 2023 HashiCorp, Inc. ⇒ This marks the first time that the license explicitly referenced a specific product version. This occurred six days after the initial announcement. This field is updated to reflect the current build version. A subsequent commit on the same day, version: prepare for 1.6.0-alpha20230816 release, updated the field to Terraform 1.6.0-alpha20230816. References: hashicorp/terraform LICENSE history
2023-08-16TerraformRelease⛔ The first artifact carrying BUSL 1.1 appeared, and it is a prerelease. The tag was v1.6.0-alpha20230816, the release date was 2023-08-16T20:39:31Z, and it is registered as a prerelease on GitHub. This article retrieved and read the LICENSE file at this tag. It begins with License text copyright (c) 2020 MariaDB Corporation Ab, All Rights Reserved., and its Licensed Work field reads Terraform 1.6.0-alpha20230816. The Licensed Work is (c) 2023 HashiCorp, Inc. It is necessary to distinguish between pre-release and official releases. The first BUSL version as an official release is 1.6.0 on 2023-10-04, but the day a file under BUSL was first distributed is 2023-08-16. Six days after the announcement, a BUSL artifact already existed. References: hashicorp/terraform release v1.6.0-alpha20230816
2023-08-21HashiCorp FAQGuidanceA blog post announced an update to the FAQ. The post stated that the FAQ was being continuously updated based on community feedback and explained that new questions had been added regarding internal use and competition. Regarding internal use, it stated, The BSL license imposes no restrictions on internal use of our tooling. ⇒ Rather than changing the core license text, this update focused on providing interpretations. This approach would shift in two months. References: HashiCorp updates licensing FAQ based on community questions
2023-08-25OpenTFForkThe fork side announced that it had created the fork. The post stated, we have created a fork of Terraform called OpenTofu. ⚠ While the project is now officially known as OpenTofu, it was initially referred to as OpenTF. The name change came one month later, in the row for 2023-09-20. The post listed five principles of the fork, with the first being, Truly open source - under a well-known and widely-accepted license that companies can trust, that won't suddenly change in the future. The post also announced that the project had completed the necessary paperwork to become part of the Linux Foundation. We completed all documents required for OpenTofu to become part of the Linux Foundation. The announcement of the fork and the completion of the process to join the Linux Foundation were made in the same post. While the fork was announced on this date, the repository itself was created earlier. The creation date on GitHub is 2023-08-16T20:01:36Z, and the public announcement came later. References: OpenTofu Announces Fork of Terraform

2023 (September-December) - The First Released Artifact Changes, and the Grant Is Rewritten

The only thing distributed under BUSL in August was a prerelease. Over the next four months the official releases move, and over the same period the license text is rewritten three times.

DateProjectTriggerSummary
2023-09-05OpenTFLaunchThe fork side opened the repository to the public. The post states the OpenTofu repository is now publicly available at github.com/opentofu/opentofu. ⚠ At this point there is still no official release. The post itself states that official OpenTofu releases are not yet available, and that only building and testing are currently possible. The announcement of the fork, the opening of the repository, and the first distributed artifact each fall on a different day. References: The OpenTofu fork is now available!
2023-09-07TerraformReleaseTerraform 1.5.7 was released. The LICENSE file for this version still uses MPL 2.0. This article retrieved and read the file at this tag. It contains the Mozilla Public License, version 2.0, and begins with Copyright (c) 2014 HashiCorp, Inc.. ⛔ Despite the announcement being four weeks prior, this release still carries the MPL 2.0 license. Later, an FAQ will explicitly refer to this version as the final version under MPLv2. That addition was made on 2024-04-12, as noted in the timeline. References: hashicorp/terraform release v1.5.7 / LICENSE at v1.5.7
2023-09-20OpenTofuFoundationThe Linux Foundation announced the launch of OpenTofu, and this also served as confirmation of the name change. The announcement states, Previously named OpenTF, OpenTofu is an open and community-driven response to Terraform's recently announced license change from a Mozilla Public License v2.0 (MPLv2) to a Business Source License v1.1, providing everyone with a reliable, open source alternative under a neutral governance model. ⇒ This article uses this announcement as the primary source for the name change, and uses the old name OpenTF in the rows before this date. The 2023 articles on the opentofu.org website have been retroactively updated to use the new name. However, the post from 2023-12-19 on the same site still uses the old name, the OpenTF fork was announced, indicating inconsistencies in the site's usage. The announcement also points to a later position inside the foundation. It includes a quote from the CNCF's CTO: We also look forward to their collaboration with the CNCF community. However, at this point, OpenTofu is not yet a CNCF project. Acceptance comes a year and seven months later. References: Linux Foundation Launches OpenTofu: A New Open Source Alternative to Terraform
2023-10-04TerraformReleaseTerraform 1.6.0 was released, marking the first official release distributed under the BUSL 1.1 license. This article retrieved and read the file at this tag. The Licensor is HashiCorp, Inc., the Licensed Work is Terraform 1.6.0. The Licensed Work is (c) 2023 HashiCorp, Inc., the Change Date is Four years from the date the Licensed Work is published., and the Change License is MPL 2.0. ⛔ This is not the date of the announcement; it is the date the official release's license changed. This occurred eight weeks after the announcement on 2023-08-10. If pre-release versions are included, the first distribution under BUSL was on 2023-08-16. References: hashicorp/terraform release v1.6.0 / LICENSE at v1.6.0
2023-10-04OpenTofuReleaseOn the same day, the first distribution from the fork was released. The tag is v1.6.0-alpha1, and the timestamp is 2023-10-04T13:14:15Z. ⚠ There is a reason the version numbers line up at 1.6.0. The fork side wrote of its first release that The first release will be 1.6.0-alpha, forked from the most recent commit that was still MPL-licensed. Because the fork occurred just before the license transition, the version number continues from that point. On the same day, two distributions with different licenses were released under the same version number. References: opentofu/opentofu release v1.6.0-alpha1
2023-10-17TerraformClauseThe page holding the license text changed. The page displays Updated Oct. 17, 2023. The page itself explains the reason for the update, stating, we made an adjustment to the license on Oct. 17, 2023, and its purpose: to clarify the role of the FAQs. ⛔ The page does not state that any new terms were added. It clarifies, All of these license clarifications were already covered in our FAQs—we did not add any new terms. Instead, we have moved some of our FAQ guidance into the license itself. While the policy announced in August was to add clarifications to the FAQ, this update shifted the approach to incorporating that guidance directly into the license text. References: Business Source License 1.1
2023-11-08TerraformClauseThe Additional Use Grant in the repository's LICENSE grew from four lines into a much longer version carrying definitions. The commit message reads, Update LICENSE text. Previously, this section contained only one sentence: on a hosted or embedded basis which is competitive with HashiCorp's products. The updated version includes definitions for competitive offering, Product, and Embedded, and states that internal use is not a competitive offering and that the FAQ is binding interpretive guidance. ⛔ The page was updated on 2023-10-17, while this replacement occurred on 2023-11-08. The same content reached the page and the shipped file three weeks apart. Viewing only one source can lead to different conclusions about that three-week period. References: hashicorp/terraform LICENSE history
2023-11-28TerraformClauseThe Licensed Work field moved from naming a single version to naming a range. The value changed from Terraform 1.7.0-dev. The Licensed Work is (c) 2023 HashiCorp, Inc. to Terraform Version 1.6.0 or later. The Licensed Work is (c) 2023 HashiCorp, Inc. ⇒ Rather than rewriting the field for every development version, the field now names a lower bound. In the same commit, the quotation marks were standardized from curved to straight. This subtle difference can be significant when performing a literal comparison of the license text. References: hashicorp/terraform LICENSE history
2023-12-19OpenTofuReleaseThe fork published a release candidate and named a date for general availability. The post states that OpenTofu v1.6.0-rc1 is the final stage before the first stable release and gives an expected General Availability release on January 10, 2024. ⚠ The post also gives the reason a registry of its own was needed. It states, the Terraform one, which is no longer accessible for non-Terraform projects following the TOS changes. Because the history of those TOS changes is not publicly available, this article does not include a specific date. It only records the fact that the fork stated this. References: OpenTofu Release Candidate Is Out, GA Set for Jan 10th

2024 - A Stable Fork, a Published Dispute, and an Acquisition

In 2024, the fork reached a stable release, a dispute regarding the interpretation of certain terms was publicly documented, and an acquisition was agreed on the side that held the rights.

DateProjectTriggerSummary
2024-01-10OpenTofuReleaseOpenTofu 1.6.0 reached general availability. The post states OpenTofu, a Linux Foundation project, is now production-ready. The publication date on GitHub is 2024-01-10T14:13:28Z. ⇒ About five months after the document of 2023-08-13, the fork reached a stable release as a Linux Foundation project. This version's LICENSE is MPL 2.0. This article also retrieved the file on the main branch at the time of verification, and it is MPL 2.0 there as well. References: OpenTofu is going GA / opentofu/opentofu release v1.6.0
2024-04-03TerraformDisputeHashiCorp sent OpenTofu a cease and desist letter. The date used here comes from a later post by the OpenTofu team, which states On April 3rd, we received a Cease and Desist letter from HashiCorp. ⛔ This article does not assess the validity of either claim. Be mindful of the asymmetry in the source. The recipient published the letter. No public statement from the sender could be found at the time of verification. This article does not write that none exists. It writes that none could be found. References: Our Response to Hashicorp's Cease and Desist Letter
2024-04-11OpenTofuDisputeOpenTofu published documentation detailing the letter it received from HashiCorp, as well as the results of its own investigation. The post states its position as The OpenTofu team vehemently disagrees with any suggestion that it misappropriated, mis-sourced, or otherwise misused, and regarding the code in question, The code in question can be clearly shown to have been copied from older code under the MPL-2.0 license. ⛔ This article does not determine which claim is correct. However, the nature of the dispute is worth documenting. The dispute concerned not a feature or design, but rather the licensing status of a particular piece of code at a specific point in time. The post states that it redacted personal information from the documents to avoid singling out individuals. This article likewise names no individuals. References: Our Response to Hashicorp's Cease and Desist Letter
2024-04-12HashiCorp FAQGuidanceThe FAQ now includes final release versions under MPLv2 for specific products. The revision history records Apr. 12, 2024 with the note Added final MPLv2 release versions for specific products to question 7. The answer to that question lists: The final product releases under MPLv2 are Terraform 1.5.7, Packer 1.9.5, Vault 1.14.8, Boundary 0.13.1, Consul 1.16.4, Nomad 1.6.5, Waypoint 0.11.4, and Vagrant 2.3.7. ⇒ Seven months after it shipped on 2023-09-07, the clause side also fixed 1.5.7 as the final MPLv2 version. This applies to more than just Terraform. Eight products are listed. References: HashiCorp Licensing FAQ
2024-04-24HashiCorpAcquisitionIBM announced a definitive agreement to acquire HashiCorp. The announcement states, IBM (NYSE: IBM) and HashiCorp Inc. (NASDAQ: HCP), a leading multi-cloud infrastructure automation company, today announced they have entered into a definitive agreement under which IBM will acquire HashiCorp. The expected completion date is stated as, The transaction is expected to close by the end of 2024. ⚠ The actual completion date was February 27, 2025. This is two months later than initially projected. At the date of this row, the party named in the license has not yet changed. The change will occur on March 11, 2026. This article does not address the financial terms of the acquisition. References: IBM to Acquire HashiCorp, Inc. Creating a Comprehensive End-to-End Hybrid Cloud Platform
2024-09-12OpenTofuLaunchOpenTofu published details about the creation of its own registry. The post gives the reason it could not use the existing registry as HashiCorp closed the Terraform Registry for software that isn't Terraform, so using it as a source of data for the OpenTofu Registry was out of the question. ⇒ What the fork could inherit was the code. The surrounding services had to be rebuilt. The principle of non-retroactive licensing applies to the code, but not to the terms of service for the registry itself. These are governed by separate mechanisms. References: Building the OpenTofu Registry

2025-2026 - Custody Settles on Both Sides

Over 2025 and 2026, custody settled on both sides. On one side the name of the licensor changed after an acquisition closed. On the other side the project took a further position inside a foundation.

DateProjectTriggerSummary
2025-02-27HashiCorpAcquisitionIBM announced the completion of its acquisition. The announcement stated, IBM (NYSE: IBM) today announced it has completed its acquisition of HashiCorp, whose products automate and secure the infrastructure that underpins hybrid cloud applications and generative AI. ⚠ The text of the license did not change on this date. The Licensor listed in the repository's LICENSE file is still HashiCorp, Inc. at this point. More than a year separates the transfer of ownership from the update of the party named in the license. References: IBM Completes Acquisition of HashiCorp, Creates Comprehensive, End-to-End Hybrid Cloud Platform
2025-04-23OpenTofuFoundationThe Cloud Native Computing Foundation accepted OpenTofu. The foundation's project page states, OpenTofu was accepted to CNCF on April 23, 2025 at the Sandbox maturity level. ⛔ The maturity level is Sandbox. The foundation describes this level as Experimental projects not yet widely tested in production on the bleeding edge of technology. Some secondary articles may only mention that OpenTofu was accepted into the CNCF, without specifying the maturity level. Acceptance and maturity level are separate pieces of information. The relationship with CNCF, which was mentioned in the announcement of September 20, 2023, became formalized on this date. References: OpenTofu
2026-03-11TerraformClauseThe Licensor in the repository's LICENSE changed hands. The value changed from HashiCorp, Inc. to International Business Machines Corporation (IBM), and the copyright line of Licensed Work changed from Terraform Version 1.6.0 or later. The Licensed Work is (c) 2024 HashiCorp, Inc. to Terraform Version 1.6.0 or later. The Licensed Work is (c) 2024 IBM Corp.. The same commit replaced every company name inside Additional Use Grant. ⛔ This change came one year and twelve days after the acquisition closed. The Change Date and Change License have not changed. They remain Four years from the date the Licensed Work is published. and MPL 2.0. Six days later, on March 17, 2026, a correction inside Additional Use Grant standardized the company name from IBM Corp to IBM Corp.. References: hashicorp/terraform LICENSE history
2026-08-19OpenTofuReleaseThe latest version of OpenTofu, as of the verification date, is v1.12.6, with a release date and time of 2026-08-19T11:40:07Z. The LICENSE file in the repository's main branch remains under the Mozilla Public License, version 2.0, and begins with two lines: Copyright (c) The OpenTofu Authors and Copyright (c) 2014 HashiCorp, Inc.. ⇒ The fork is distributed with the copyright notice from 2014 still in place. This row is here for lifecycle verification. This article does not carry a list of features. References: opentofu/opentofu releases / LICENSE
2026-09-02TerraformReleaseThe latest version of Terraform, as of the verification date, is v1.16.1, with a release date and time of 2026-09-02T14:49:32Z. The LICENSE file in the repository's main branch remains under the BUSL 1.1 license. ⇒ There is no apparent change in the type of license since the transition in 2023. This row is here for lifecycle verification as well. References: hashicorp/terraform releases / LICENSE

Current Overview of How Terraform and OpenTofu Are Governed Today

What the Five Parameters Actually Say

BUSL 1.1 is a template. The Terms are the same for everyone, and the party issuing the license fills in the parameter fields at the top. ⇒ The clauses are not identical across products. How those fields are filled in decides what the license says.

The Five BUSL Parameters and What Each One Decides
The Five BUSL Parameters and What Each One Decides
Four of the five fields of the LICENSE shipped with Terraform read as follows at the time of verification.

Licensor:             International Business Machines Corporation (IBM)
Licensed Work:        Terraform Version 1.6.0 or later. The Licensed Work is (c) 2024
                      IBM Corp.
Change Date:          Four years from the date the Licensed Work is published.
Change License:       MPL 2.0

⛔ The fields most prone to misinterpretation are Change Date and Change License. Secondary articles sometimes summarize these as a move to Apache 2.0 after four years. The text does not say that. The main text reads as follows:

Effective on the Change Date, or the fourth anniversary of the first publicly available
distribution of a specific version of the Licensed Work under this License, whichever comes
first, the Licensor hereby grants you rights under the terms of the Change License, and the
rights granted in the paragraph above terminate.

⛔ The Change License field names the destination. Terraform's field holds MPL 2.0, not Apache 2.0. The field is filled in with the license that was in place before the change.

⛔ The starting point is different for each version. The main text also states:

This License applies separately for each version of the Licensed Work and the Change Date may
vary for each version of the Licensed Work released by Licensor.

⇒ There isn't a single date that applies to the entire product; instead, each version has a different date.

⚠ This article derives what follows. No primary source states it directly. The first version of Terraform distributed with BUSL was a pre-release on 2023-08-16, followed by the first official release on 2023-10-04 (version 1.6.0). Given that the Change Date field states Four years from the date the Licensed Work is published., at the time of verification (2026-09-06), no version has yet reached that four-year mark. This calculation is a simple subtraction from the publication date and is not a statement made by any party.

⚠ The five fields did not all become finalized on the same day. Each field was updated on a different date, with the last one changing in 2026.

FieldStatus at Disclosure (2023-08-10)Key Revision DatesStatus at Verification (2026-09-06)
LicensorHashiCorp, Inc.2026-03-11International Business Machines Corporation (IBM)
Licensed WorkNo product name and no versionProduct name and version added on 2023-08-16; changed to a range on 2023-11-28; copyright line changed on 2026-03-11Terraform Version 1.6.0 or later
Additional Use GrantFour lines onlyDefinitions added on 2023-11-08; company name changed on 2026-03-11A longer version that defines three terms
Change DateFour years from the date the Licensed Work is published.No change.Same.
Change LicenseMPL 2.0No change.Same.

⇒ Two fields have not moved. How the date is determined, and which license it moves to, are unchanged since the transition. The other three were all rewritten in the commit of 2026-03-11, because the change of the party name reached across all three.

⚠ Before 2023-11-28, the Licensed Work field was rewritten with every release. It carried the version string of the build in progress at the time. The dates in the table mark only the days when the shape of the field changed.

⚠ For the Additional Use Grant field, this article writes no summary. The field states which production use is added on top, and reading it is a legal judgment. This article gives no legal advice. It records what the field says and the day it changed. For an actual decision, go to the FAQ that the party states is binding, and to the text of the LICENSE shipped with the version in use.

The Clause That Made the Fork Possible

For the code that became the starting point of the fork, the clause itself says what remains.

The FAQ from August 10, 2023, stated that the change would not be retroactive, as follows:

Yes. The license change is not retroactive. This means all source code and releases prior to the
change remain under the MPL 2.0 license. You may continue to use those versions indefinitely
under the original license.

⇒ The party writing the change states that the code from before it remains under the MPL 2.0 license. The forked project explains its starting point in accordance with this statement. An article from September 5, 2023, states, The first release will be 1.6.0-alpha, forked from the most recent commit that was still MPL-licensed. The fork carries the version number 1.6.0 because its starting point was a commit just before the change. Whether that choice of starting point holds under the clause is a legal judgment, and this article does not make it. The point to record is that both parties' statements refer to the same point in time: just before the change.

However, only the code itself was preserved. The fork rebuilt its own registry. A post from September 12, 2024, gives the reason as the existing registry being closed to software that is not Terraform. Separate mechanisms decide the terms on the code and the terms on the service. The non-retroactivity applies only to the code and does not extend to the service.

A deadline was also established. The same day's FAQ stated the following regarding modifications to the code under the MPL 2.0 license:

HashiCorp will continue to backport critical security patches, as available, to existing
versions under the MPL 2.0 license until December 31, 2023. Any patches after that date will be
provided under the new license.

⇒ Use of the code from before the change was not restricted. What carried an end date was the period in which fixes to those versions were provided under the original license. The same answer states that patches after that date come under the new license. The forked project's first stable release was on January 10, 2024, ten days after this deadline. This article does not claim any causal relationship between the two dates. The primary sources give no reason.

In 2024, the scope of this non-retroactivity itself became a point of contention between the parties. A letter was sent on April 3, 2024, and the recipient published both the letter and its response on April 11, 2024. The dispute centered on whether a particular piece of code originated from the pre-change MPL 2.0 version or the post-change BUSL version. This article does not determine which argument is correct. The point to record is that the core of the dispute was the question of which version and under which license a particular piece of code existed at a given point in time. The non-retroactivity clause itself became the focal point of the dispute. Only the recipient published the document; at the time of verification, no publication by the sender could be found.

What the Announcement Did Not Change on the Day It Was Announced

On the day of the announcement, not one artifact already in distribution changed.

The announcement text specifically limits the scope of the changes.

That is why today we are announcing that HashiCorp is changing its source code license from
Mozilla Public License v2.0 (MPL 2.0) to the Business Source License (BSL, also known as BUSL)
v1.1 on all future releases of HashiCorp products. HashiCorp APIs, SDKs, and almost all other
libraries will remain MPL 2.0.

⛔ There are two key limitations. One is that the changes apply to future versions, and the other is that most libraries, including the API, SDK, and others, will remain under the MPL 2.0 license. The former is a time-based limitation, while the latter is a limitation on the kind of artifact. These two points are often conflated in summaries.

This is the first distinction that is often lost in summaries. Secondary articles often state that Terraform transitioned to BUSL in August 2023. ⇒ The announcement is correct on that date. The artifacts are not.

DateWhat HappenedThat artifact's LICENSE
2023-08-10The change of license for future releases is announcedNothing was distributed on this day
2023-08-16v1.6.0-alpha20230816 published (prerelease)BUSL 1.1 (verified by retrieving the file)
2023-09-07Terraform 1.5.7 published (official release)MPL 2.0 (same)
2023-10-04Terraform 1.6.0 published (official release)BUSL 1.1 (same)

⛔ The order of the second and third rows matters. The BUSL artifact came first, and the official MPL 2.0 release followed three weeks later. This means that one license did not end before the other began. Between 2023-08-16 and 2023-10-04, both the BUSL pre-release and the MPL 2.0 official release were distributed from the same repository. These are separate series of versions. The pre-release was a pre-release version of the 1.6 series, while 1.5.7 was a version of the 1.5 series. The primary sources give no reason for this, and this article does not supply one. The applicable license of the official release changed on 2023-10-04, eight weeks after the announcement.

⚠ The party writing the license has fixed this distinction as well. A question added to the FAQ on 2024-04-12 specifically mentions Terraform 1.5.7 as the final version under the MPLv2 license. ⇒ A release that came out after the announcement carried the license that applied before it, and the party itself has written that down.

The terms were also incomplete as of August. The Licensed Work field placed on August 10, 2023, carried neither a product name nor a version. Terraform 1.6.0. entered it six days later, on August 16, 2023. ⇒ On the day of the announcement, the clause did not say which version the change applied from.

Where the License Page and the Shipped File Disagree

For the same license, the official page and the shipped file state different things in one place. The measurement at the time of verification is as follows.

SourceLicensorLicensed WorkPage Displayed Update Date
License text pageHashiCorp, Inc.The Licensed Work is (c) 2023 HashiCorp, Inc.Updated Oct. 17, 2023
LICENSE file included with TerraformInternational Business Machines Corporation (IBM)Terraform Version 1.6.0 or later. The Licensed Work is (c) 2024 IBM Corp.Last updated in a commit dated 2026-03-17

⇒ The name of the party does not match between the two. The page still displays information using the initial wording, without specifying the product name or version.

⚠ The page has been partially updated. The contact address for alternative licensing arrangements now points to an IBM domain. One page therefore holds both updated and unupdated fields.

⛔ Which of the two takes precedence is a legal judgment, and this article does not make it. What can be written is what each source says and which moment it reflects. The terms of the license require displaying the license with each copy.

You must conspicuously display this License on each original or modified copy of the Licensed
Work.

⇒ The version in use therefore carries the clause that applies to it. Starting verification there keeps the gap between the page and the artifact out of the way.

⚠ This gap is not the first one. When the page was revised on 2023-10-17, the same content reached the shipped file on 2023-11-08. The page and the artifact do not always move on the same day.

What Custody Looks Like on Each Side Now

The two lineages now sit in separate custody.

On the Terraform side, the party named in the license changed on March 11, 2026. ⚠ The acquisition closed on February 27, 2025, and the clause was updated just over a year after that. In between, where the rights sat and what the clause said were not aligned. The party named in a license does not follow corporate events on its own.

Regarding OpenTofu, the governance is evolving in two stages. ⚠ The first stage and the second stage are not the same thing.

  1. September 20, 2023 — It was launched as a project under the Linux Foundation. At this point it was not a CNCF project.
  2. April 23, 2025 — It was accepted into the Cloud Native Computing Foundation. Its maturity level is currently Sandbox.

⛔ Entering a foundation and holding a given maturity level inside it are two separate facts. Simply stating the fact of acceptance while omitting the maturity level can create the misleading impression that it is further along than it actually is. This article does not explain the foundation's mechanisms in detail. What constitutes neutral governance is discussed in Observability and OpenTelemetry History and Timeline.

What a License Change Does That a Trademark Change Does Not

There are different triggers that can lead to a fork in a project's lineage. This article addresses cases where a license change is the trigger, while earlier articles address the case where a trademark was the trigger and the case where a foundation folded two specifications into one. ⛔ This article does not re-explain trademarks or foundations. What is written here is only how the shape of a fork changes with the type of trigger.

What ChangesImpact on Existing UsersWhat the Fork Inherits
License Change (This Article)The terms that apply to future releasesReleases already obtained do not move. The clause states that the change is not retroactiveThe code itself. The starting point of the fork is a version from before the change
Trademark Change (covered by an earlier article)The right to use the nameThe terms on the code do not moveThe code does not split. What separates is the name

⇒ When a license change is the trigger, the fork begins by selecting a specific version. Terraform and OpenTofu both started from the same version number, 1.6.0, for this reason. The fork continues from the last lineage that used the MPL 2.0 license.

⚠ A fork triggered by a license change starts under a different name. In the case discussed in this article, the fork initially adopted a name that was not Terraform. The original documentation does not state the reason for this, and this article does not fill in that gap. Regarding whether to call that case a fork or a rename, the trademark side is covered in CI/CD Tools History and Timeline.

⚠ The foundation's involvement also differs. In the case discussed in this article, the foundation is accepting an existing fork. An article from 2023-08-25 states that the fork's team completed the necessary documentation to join the foundation. Acceptance and mediation are different processes. Mediation cases are described in Observability and OpenTelemetry History and Timeline.

Reading the Open Source Label Without Rounding It Off

The handling of the words open source is where this subject splits most sharply. This article sets out what each party stated and adds no judgment of its own.

One of the parties states on its own account that the license does not meet the definition set by OSI. The answer to one FAQ question reads:

The BSL license is open, free, and source-available. However, it does not meet the definition of
open source as defined by OSI

⇒ This article does not need to judge that point on its own. The party has written it down.

The other party gives that same point as its reason for forking. A document dated 2023-08-13 describes the transition as follows:

Then, on August 10th, 2023, with little or no advance notice or chance for much, if not all, of
the community to have any input, HashiCorp switched the license for Terraform from the MPL to
the Business Source License (v1.1)

⚠ The original text continues with a parenthetical abbreviation, followed by the phrase a non-open source license.

⚠ As statements of fact the two do not conflict. Both take as given that BUSL does not meet the definition set by OSI. The difference lies in their respective positions regarding what should be done as a result. This article does not weigh those positions.

⚠ Changes in terminology also warrant documentation. The same FAQ, writing about the freely available versions it used to call open source, now says Going forward, we will refer to the open, freely available versions as, choosing the term community. The change of license brought a change of name with it.

⚠ On the other hand, the same FAQ also includes statements asserting that the company continues to engage in open source activities. The scope of these activities is limited to their core product, while other libraries remain under the MPL 2.0 license. Both of these statements appear on the same page. Citing only one of them would present the party's position in an oversimplified manner.

Frequently Asked Questions about Terraform and OpenTofu History

Why do Terraform and OpenTofu both exist?

A change of license. On August 10, 2023, HashiCorp announced that future releases of Terraform would move from MPL 2.0 to BUSL 1.1. A licensing FAQ published the same day stated that the change was not retroactive, so the code from before it stayed under MPL 2.0. OpenTofu originated from that codebase. ⇒ The trigger for the fork was not a feature and not a design. It was a change in a clause.

When exactly did Terraform stop being licensed under MPL 2.0?

It depends on the version. The announcement came on August 10, 2023, but nothing was distributed that day. The first artifact carrying BUSL 1.1 was the prerelease v1.6.0-alpha20230816 on August 16, 2023, and the first official release under it was 1.6.0 on October 4, 2023. ⚠ Notably, version 1.5.7, released on September 7, 2023, remains licensed under MPL 2.0. The official FAQ also specifically mentions Terraform 1.5.7 as the final version under the MPLv2 license. Therefore, the date when the licensing changed for official releases and the date of the announcement are eight weeks apart.

Does Terraform automatically become open source after four years?

Not in the shape that summary suggests. The Change Date field states Four years from the date the Licensed Work is published., and the Terms say that on that date, or on the fourth anniversary of the first public distribution of a specific version, whichever comes first, the rights move to the terms of the Change License. ⚠ The destination of this transition is defined in the Change License field, which for Terraform is MPL 2.0. Furthermore, the text states that the application of the license is separate for each version, and the deadline for the transition may also vary depending on the version. This article does not provide guidance on specific usage scenarios.

What does the vendor's own FAQ say about internal use?

⛔ A note before the answer: this article gives no legal advice. It only describes what is stated in publicly available documents. The FAQ itself states, We view the guidance in these FAQs as binding. Regarding internal use, the answer to the relevant question is as follows:

Yes. The terms of the BSL allow for all non-production and production usage, except for
providing competitive offerings of the Licensed Work to third parties that embed or host our
software. Hosting the products for your internal use of your organization is permitted.

⚠ This answer was last updated on 2023-10-17. The same content entered the shipped LICENSE on 2023-11-08. For an actual decision, go to both this FAQ and the LICENSE shipped with the version in use.

Which license does OpenTofu use?

OpenTofu uses the Mozilla Public License, version 2.0. At the time of verification, the LICENSE file in the main branch contained this license and included two lines at the beginning: Copyright (c) The OpenTofu Authors and Copyright (c) 2014 HashiCorp, Inc.. The fork is distributed with the copyright notice from 2014 still in place.

Was OpenTofu always called OpenTofu?

No. The initial name was OpenTF. A September 20, 2023 announcement from the Linux Foundation states Previously named OpenTF, and this article cites that announcement as a primary source for the name change. ⚠ Articles on opentofu.org from 2023 have been updated to reflect the new name. However, a post from December 19, 2023 on the same site still uses the old name, so the naming is not consistent across the site.

Where does OpenTofu sit inside the Linux Foundation and CNCF today?

At the time of verification, OpenTofu is a CNCF project at the Sandbox maturity level. The CNCF project page states OpenTofu was accepted to CNCF on April 23, 2025 at the Sandbox maturity level. ⚠ Previously, it was a project of the Linux Foundation, but not a CNCF project. It was launched on September 20, 2023. Acceptance and maturity level are two separate pieces of information, and the second one is the one summaries drop.

Did the IBM acquisition change Terraform's license?

The kind of license has not changed. At the time of verification it is still BUSL 1.1. ⚠ What changed is the party named in the clause. On March 11, 2026, the Licensor was updated from HashiCorp, Inc. to International Business Machines Corporation (IBM). The acquisition closed on February 27, 2025, so the clause was updated just over a year after that. The Change Date and Change License fields did not change at this time.

Why does this article quote the license file instead of summarizing it?

Because a summary comes out stronger than the clause. In this subject area, summaries stating that the project will become Apache 2.0 in four years, or that it became BUSL in August 2023, are widely circulated. Both take a different shape once you read the license text and the shipped artifact. This article quotes the license text and the shipped file, and puts the summary right next to them. This article also gives no legal advice. It does not address whether a particular usage is permitted, but simply records what is written in the license and when those terms were updated.

Why does this timeline not say which tool to use?

Because what this article follows is the path along which the clause and the custody moved. Which approach is faster, and which should be chosen, depends on the initial conditions and requirements. ⚠ Furthermore, it does not offer evaluations of the decisions made by companies or communities. The purpose is to document what happened and in what order, and that is distinct from assessing whether those actions were good or bad.

Summary

The break in this lineage sat neither in the code nor in an organization. It sat in a text file.

The LICENSE file, placed on 2014-07-28, remained unchanged under the Mozilla Public License, version 2.0, for nine years. On 2023-08-10, it was replaced, and an announcement was made stating that subsequent versions would use the BUSL 1.1 license. Notably, nothing was distributed on the day of the announcement. The first distribution of the BUSL came in a pre-release six days later, and the official release with the updated license was version 1.6.0, eight weeks later. ⚠ During that period, version 1.5.7 remained under the MPL 2.0.

The FAQ published on the same day stated that MPL 2.0 would keep covering the code from before the change. A new lineage then began, publicly announced on 2023-08-25, released on 2023-09-05, and rebranded as OpenTofu under the Linux Foundation on 2023-09-20, eventually reaching a stable release on 2024-01-10. ⇒ The fork side also puts its starting point at the commit immediately before the transition. Both statements point at the same moment.

The licensing terms themselves continued to evolve. The Licensed Work section, including product names and versions, was updated six days after the announcement. Definitions entered the Additional Use Grant three months later, and the version designation became a range three weeks after that. ⇒ Therefore, the transition was not a single event, but rather a process that took three and a half months for the full text of the license to take shape.

Custody changed hands as well. The acquisition was agreed upon on 2024-04-24, finalized on 2025-02-27, and the Licensor in the clause changed on 2026-03-11. ⚠ The transfer of rights and the update to the licensing terms did not occur on the same day. The fork side also moved in two stages, launching under the Linux Foundation on 2023-09-20 and being accepted into CNCF at the Sandbox maturity level on 2025-04-23.

⚠ This article does not address adoption rates. It does not have primary data regarding how widely either version is used. It also does not address whether a particular usage is permitted. That is a legal judgment, and it belongs to the FAQ that the party states is binding and to the LICENSE shipped with the version in use.

If readers take away one thing, it should be the order in which to verify. ⇒ Open the file shipped with the version in use, rather than the announcement. The full text of the terms states that the application varies by version, and that the deadlines also differ depending on the version. And at the time of verification, the official page and the shipped file state different things about the name of the party.

This area keeps moving. This article will be updated when it does.

There are other articles that address related topics.



References:
Tech Blog with curated related content

Written by Hidekazu Konishi