OpenTofu Project Overview

This post was originally published on my LinkedIn

This is a meeting report from a talk happened at Open Source Summit EU 2023 on Thursday 21nd of September 2023.

Timeline

It started with a quick summary of the events.

The Road so Far (August)

The Road so Far (September)

And on 20th of September Linux Foundation publicly announced the launch of OpenTofu.

Name

Thinking behind the name:

Tofu = Sustainable alternative for more healthy ecosystem while keeping the project initial

Yevgeniy Brikman shared more details behind the name change.

A few htoughts on the name change from above LinkedIn post

And you can see that "Tofu" was first mentioned two weeks before the official announcement in the relevant GitHub issue.

You might also notice a disagreement on the name.

A screenshot of above link

But I guess the name is not that important, so what are the planned next steps.

Next steps

Timeline

We can expect early release next week.

Update: Alpha1 was released on October 4th 2023, so a week later than expected.

Registry

As it was already mentioned HashiCorp also changed the Terms of Service for Terraform registry so it blocks the registry from using by anything else except Terraform itself and as a result it blocks any fork (like OpenTofu) from using it.

So, here is how official Registry works: Official Registry - Context

And here is how OpenTofu plans to approach it: Plans for OpenTofu registry

So, the implementation should be the similar and all existing providers should be automatically supported. Terraform providers remain under OpenSource licenses (incl. HashiCorp providers).

Testing Feature

Early Release should contain the new testing feature. Testing Feature

It was not discussed in detail but you can find more information in the relevant GitHub issue

OpenTofu Vision

Vision

Backwards compatibility with Terraform 1.5.7 and 1.6. Future Development Process

All ideas (incl. maintainers) will also go through Public RFC Process.

For example:

  • State Encryption - work is being already done on RFC and POC.
  • Using existing OCI registries as OpenTofu registry as it’s very general.

Q&A report

  • A lot of issues and PRs in Terraform GitHub repository were already opened in OpenTofu GitHub repository but they won’t be migrated automatically.
  • OpenTofu will try to stay compatible with future Terraform releases. (Depends on community needs.)
  • Future plans to extend registry metadata API - see open RFC in GitHub repository but Alpha version will be the same.
  • All will be the same with OpenTofu like log messages, file extensions (*.tf), only the command will change. As Yevgeniy Brikman is mentioning the command will be tofu.
  • Hashicorp is still encouraged to participate in OpenTofu through participating in OpenTofu steering committee.

Summary

I would guess Hashicorp changing the terraform license is actually smaller problem compared to the change of registry ToS. Forking Terraform is fairly easy and it is something which successfully happened in the Open Source world so many times. But recreating registry while keeping support of all existing providers is probably bigger and more difficult task. OpenTofu seems to have a good vision how to deal with that, so I guess we have to wait and see the early release.

Comments

Comments powered by Disqus