Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Sandbox] OpenTofu #81

Open
2 tasks done
pawelpiwosz opened this issue Jan 19, 2024 · 21 comments
Open
2 tasks done

[Sandbox] OpenTofu #81

pawelpiwosz opened this issue Jan 19, 2024 · 21 comments
Labels
App Delivery Need-info The TOC has requested more information from the project. New New Application Runtime

Comments

@pawelpiwosz
Copy link

Application contact emails

core@opentofu.org

Project Summary

The open source, cloud agnostic, Infrastructure as Code tool

Project Description

OpenTofu is a Terraform fork created in response to HashiCorp licenses change. The goal of the founders was to keep this tool open source. We believe that IaC and Terraform (now OpenTofu) is a skeleton of Cloud Native applications, and by ensuring the competition and free use of the main IaC tool, we ensure the further development of the whole IaC space.

By giving the possibility to the community to not only participate in the project as developers but also participate in ideas and decisions about the further development, we want to ensure a truly open source and community driven approach, and OpenTofu can respond to changes, needs and expectations of the users.

OpenTofu itself provides the "interpreter" for HCL code and allows to communicate and interact with different cloud providers (but not only) by library of providers. OpenTofu group is not an owner of providers, these are created and maintained by community and / or companies. The collection of providers which can be used with Opentofu is provided by Providers Registry, available under this link: https://registry.opentofu.org/. OpenTofu is also responsible for developing, maintaining and growing this registry.
Providers themselves are not owned by the OpenTofu group. Everyone can write the provider and if the provider is available on GitHub, most likely will be automatically available for OpenTofu and in the Registry. With this approach we decrease the time needed to enable new providers in the landscape virtually to zero.

Additional layer is the modules layer. Modules are sets of templates created and maintained by the community (mostly) and they provide the possibility to use proven templates for specific use cases, like network creation, hardening database setup, etc.

As described, OpenTofu plays a vital and central part in the IaC landscape, where there are HCL templates on one side, providers on the second and executable modules on the other.

Org repo URL (provide if all repos under the org are in scope of the application)

https://github.com/opentofu

Project repo URL in scope of application

https://github.com/opentofu/opentofu

Additional repos in scope of the application

https://github.com/opentofu/manifesto
https://github.com/opentofu/opentofu.org
https://github.com/opentofu/brand-artifacts
https://github.com/opentofu/registry
https://github.com/opentofu/scripts

Website URL

https://opentofu.org/

Roadmap

https://github.com/opentofu/opentofu/milestones

Roadmap context

The project’s team decided to keep the roadmap as GitHub milestones, which gives full transparency to the process and the current state of the process.
Additionally, team provides weekly updates to public knowledge: https://github.com/opentofu/opentofu/blob/main/WEEKLY_UPDATES.md
Roadmap is agreed and confirmed by Steering Committee, and information about decisions is also publicly available: https://github.com/opentofu/opentofu/blob/main/TSC_SUMMARY.md

Contributing Guide

https://github.com/opentofu/opentofu/blob/main/CONTRIBUTING.md

Code of Conduct (CoC)

https://github.com/opentofu/opentofu/blob/main/CODE_OF_CONDUCT.md

Adopters

No response

Contributing or Sponsoring Org

https://opentofu.org/supporters

Maintainers file

https://github.com/opentofu/opentofu/blob/main/MAINTAINERS

IP Policy

  • If the project is accepted, I agree the project will follow the CNCF IP Policy

Trademark and accounts

  • If the project is accepted, I agree to donate all project trademarks and accounts to the CNCF

Why CNCF?

We believe that CNCF is a natural place for IaC tools like Opentofu. IaC is Cloud Native by nature, it allows users to explore and enforce all best practices related to infrastructure in cloud native world (like scalability, sustainability, resiliency, immutability, idempotency, security, accessibility, and so on).
Our goal is to ensure that OpenTofu is and will be a truly open source project.

OpenTofu can contribute to CNCF in number of ways, including

  • Maintain and develop core element of OpenTofu toolset - the tofu binary. This is the central part of the project, as tofu interprets the HCL language and uses providers to deliver templates to the cloud.
  • Maintain and develop OpenTofu Registry, to achieve easy and seamless options to provide and use different providers to the community.
  • Build an open source community around the Infrastructure as Code principles.
  • Growing the Cloud Native ecosystem by providing first-class toolset to deploy infrastructure.

We are looking forward to being part of CNCF, to be part of the big family of initiatives which makes cloud adoption faster, more reliable and more secure.
For the project it is a chance to:

  • Access to a big community of contributors. This might help the project to grow and maintain the functionalities. Infrastructure as code is vital and integral part of cloud native landscape. Possibility to work with an active and innovative community is a confirmation of opportunities to develop the product in expected direction.
  • The main contributors are well established on the market, but with help from CNCF in marketing, funding and training, we together can ensure the progress and quick response to change in the landscape.
  • As a CNCF project, the visibility and adoption of OpenTofu will grow, as well as trust in the project and its goals.

Benefit to the Landscape

OpenTofu greatly fits the landscape by providing the tool which uses the most popular infrastructure as code language model - HCL. According to different reports the market share of Terraform based IaC is around 80%. It shows the potential for HCL based tools.

Our project is the one which can bind other CNCF projects together by providing create, configure, manage and update capabilities for the underlying infrastructure needed for.

OpenTofu might be an enabler for multiple projects, providing the tool to provision infrastructure. This is very important for CNCF projects, as CNCF mentioned that projects should search for alternatives to Terraform.

Cloud Native 'Fit'

OpenTofu is an infrastructure as code tool. Infrastructure as code approach embodied all cloud native pillars, especially immutable infrastructure and declarative approach. Infrastructure as code is an enabler for automation, resiliency, knowledge management and capacity management.
This project fits into the Automation / Configuration category in the CNCF landscape. We see the project under App delivery TAG. As automation for IaC tool, OpenTofu enables automation of infrastructure for many projects which already exist in the CNCF landscape.

Cloud Native 'Integration'

All projects under CNCF and all projects in the CNCF landscape can benefit from using OpenTofu as their tool for automation of the infrastructure. OpenTofu doesn’t depend on any other project under the CNCF umbrella.

OpenTofu might be an enabler for multiple projects, providing the tool to provision infrastructure. This is very important for CNCF projects, as CNCF mentioned that projects should search for alternatives to Terraform.

Cloud Native Overlap

No overlap. The closest is Crossplane, however, while Crossplane is a control plane to manage application and infrastructure, OpenTofu is an ecosystem to declaratively build infrastructure.

Similar projects

There are no similar projects under the CNCF umbrella. The closest might be Crossplane, as the project related to Infrastructure as Code.

There is no overlap, though. Crossplane is a control plane for application and infrastructure management, while OpenTofu is an ecosystem providing declarative ways of defining and managing infrastructure.

Landscape

OpenTofu is not listed in the landscape. Part of the initiative leaders is present on the landscape (Env0, Harness, Spacelift)

Business Product or Service to Project separation

All initiative leaders are owners of platforms and/or tools to manage infrastructure as code. This gives us a unique understanding of the area as well as industry. In the OpenTofu manifesto (https://opentofu.org/manifesto) we articulated our goals for this project, to ensure healthy market collaboration and competition.

Number of entities engaged with their support and people and huge support from the community ensures the diversity, separation and independence of the project. Being part of the Linux Foundation shows our dedication to open-source and community.

The initiative leaders pledged their resources and efforts to maintain the project. Two aspects here are most important:

  • Hire people solely for OpenTofu. A few open source engineers were already hired by the leaders
  • Ensure that OpenTofu is and will be an open source product. Currently OpenTofu is under Linux Foundation. As explained in "why CNCF" and "Cloud Native fit", we believe that CNCF is a natural place for tools like OpenTofu.

Project presentations

No response

Project champions

No response

Additional information

Important note: OpenTofu contributions and releases are made under the Mozilla Public License, version 2.0 (MPL-2.0). OpenTofu started as a fork of last open source release of Terraform, which was licensed as MPL-2.0. The OpenTofu license is specified in the repository, at: https://github.com/opentofu/opentofu/blob/main/LICENSE

As a fork of Terraform's MPL-2.0 codebase, we do not have an option to relicense the codebase. This license remains consistent for everyone who took a dependency on the Terraform project when it was open source.

Mozilla Public License 2.0 (MPL 2.0) is a simple copyleft license. The MPL's "file-level" copyleft is designed to encourage contributors to share modifications they make to the code, while still allowing them to combine the code with code under other licenses (open or closed/proprietary) with minimal restrictions. We believe the MPL 2.0 license is suitable for the intended purpose and will contribute to the project’s success.

@raravena80
Copy link

I think this project is a mix of app-delivery with runtime. OpenTofu can be used to provision applications in cloud native environment, but it's also used to provision infrastructure where cloud native applications run on. The project presented on Nov 16th, 2023 in the TAG-Runtime meeting.

@amye amye added the Runtime label Jan 22, 2024
@caniszczyk
Copy link
Contributor

Thanks for your submission! This will require either IP changes in CNCF to allow a MPL-2.0 project only
https://github.com/cncf/foundation/blob/main/charter.md#11-ip-policy

@amye can you ensure this is put on the IP Committee's agenda at an upcoming meeting.

@TheFoxAtWork
Copy link
Contributor

Moving this application to postponed due to outstanding issues requiring resolution before the TOC can discuss this project's application. CC @caniszczyk

@caniszczyk
Copy link
Contributor

FYI the TOC would like to wait until https://opentofu.org/blog/our-response-to-hashicorps-cease-and-desist/ fully resolves for more detail

@mrbobbytables
Copy link
Member

@pawelpiwosz I know there's been a lot that has happened since April; just wanting to check in and see if you had an update on the current state of things.^^;;

@mrbobbytables
Copy link
Member

pawelpiwosz I know there's been a lot that has happened since April; just wanting to check in and see if you had an update on the current state of things.^^;;

@cube2222 is this something you could potentially follow up on?

@cube2222
Copy link

Hey @mrbobbytables,
other than the C&D and OpenTofu’s response to it, HashiCorp also filed a DMCA takedown request, which OpenTofu responded to with a DMCA counter notice. Since then, we’ve been informed by GitHub that they haven’t received any notice about HashiCorp filing an action seeking a court order to restrain OpenTofu from posting its content.

In other words, we currently consider the matter closed.

@kvendingoldo
Copy link

OpenTofu can't be a part of CNCF, due to rules violation: opentofu/registry#824

@he0s
Copy link

he0s commented Aug 29, 2024

I'm supporting @kvendingoldo as soon as the OpenTofu manifesto includes the following statement, which is violated by its developers or some core team members in #817:

We urge HashiCorp to reconsider and switch Terraform back to an open source license, avoiding fragmentation of the community.

It obviously brings fragmentation of the community and assumes some new HashiCorp Terraform or OpenTofu forks will appear as response to the harmful actions from the OpenTofu team.

@cam72cam
Copy link

Hi, OpenTofu Tech Lead here speaking on behalf of the Technical Steering Committee.

We have taken proactive steps to ensure compliance with relevant sanctions. We have heard the community’s feedback on this issue and are working on a more detailed response and next steps. We will update the community soon.

@he0s
Copy link

he0s commented Aug 29, 2024

I assume it worth involving into discussion @mkdolan as a representative of the Linux Foundation. If I'm wrong with mentioning, please refer us to a person who could help us to clarify all the nuances.

@kvendingoldo
Copy link

@mkdolan Do you have any news about exclusion?

@cam72cam
Copy link

cam72cam commented Sep 4, 2024

In discussing with the Linux Foundation (including @mkdolan), we understand this is a complex issue with many countries imposing sanctions on Russia and we do not have the community resources to figure this all out right now. Anyone in any geography could provide a similar service locally.

@tsunamaru
Copy link

@cam72cam what the freak are you trying to "figure out" here? It is clearly stated by Linux Foundation that public OSS is not a subject for export controls, period.

Anyone in any geography could provide a similar service locally.

Remove that "avoiding fragmentation of the community" shit from your manifesto then, you're not better than HashiCorp itself.

@cam72cam
Copy link

cam72cam commented Sep 4, 2024

That publication was last "updated July 2021". We are working with the Linux Foundation directly to address this.

@kvendingoldo
Copy link

@cam72cam until it won't be updated by Linux Foundation (hope it won't) the project should follow these rules, isn't it true?

@cam72cam
Copy link

cam72cam commented Sep 4, 2024

We are taking actions based on the current and direct advice we are receiving from the Linux Foundation. It is a complex situation and we will strive to provide clarity where we can.

@he0s
Copy link

he0s commented Sep 5, 2024

Anyone in any geography could provide a similar service locally.

That's true, but this statement leads to a non-inclusive community you're trying to build around the service that founded as response to the changes the initial project (Terraform) did when they changed their licensing model.

What is disappointing me in this case that the Linux Foundation doesn't provide any information publicly and all conversations and decision "happening" around the case and the project are private, like in enterprises that work only for money, not for community and their users.

This is a sign that a new Terraform fork needs to be created, that will follow its manifesto and put there openness, inclusiveness and similar rules as a ground to make the project for real community that doesn't include any peace of politics into the project.

@slonopotamus
Copy link

I thought the issue that triggered lots of people was not the service, but removal of code.

@TheFoxAtWork
Copy link
Contributor

Community -
This issue is for the application of OpenTofu into the CNCF. It was been placed on hold from review by the TOC (refer to previous comment).

The TOC is aware of the recent changes to the OpenTofu project and has ensured CNCF legal is aware, and we've been informed they are in discussion with head of LF legal regarding those changes (who is subsequently in communication with the OpenTofu maintainers).

We understand the community has many open questions regarding the current status, guidance, and direction regarding the changes to the OpenTofu project, however the project's sandbox application is not the mechanism to field them. We encourage concerned community members to engage with the OpenTofu project on their repo and we ask community members to seek understanding with patience while the individuals involved work through next steps.

Current CNCF projects with questions or seeking guidance on OFAC sanctions and other export control laws should file an issue with the CNCF Service Desk.

Until CNCF staff inform the TOC that previous cease and desist is resolved and that no other issues impeding review are present, the project's will not be reviewed for inclusion.

@TheFoxAtWork TheFoxAtWork added the Need-info The TOC has requested more information from the project. label Oct 8, 2024
@TheFoxAtWork
Copy link
Contributor

updating the label to "need-info" on this to reflect its true status and moving to the waiting column given the comment on Sept 5th. Please note that the information being requested is from the CNCF, not from the project itself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
App Delivery Need-info The TOC has requested more information from the project. New New Application Runtime
Projects
Status: Waiting
Development

No branches or pull requests