cncf / sandbox

Applications for Sandbox go here! ⏳📦🧪
Apache License 2.0
129 stars 19 forks source link

[Sandbox] OpenTofu #81

Open pawelpiwosz opened 7 months ago

pawelpiwosz commented 7 months ago

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

Trademark and accounts

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

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:

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:

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 commented 7 months ago

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.

caniszczyk commented 7 months ago

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 commented 4 months ago

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

caniszczyk commented 4 months ago

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 commented 2 months ago

@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 commented 2 months ago

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 commented 2 months ago

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 commented 1 week ago

OpenTofu can't be a part of CNCF, due to rules violation: https://github.com/opentofu/registry/pull/824

he0s commented 1 week ago

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 commented 1 week ago

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 commented 1 week ago

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 commented 5 days ago

@mkdolan Do you have any news about exclusion?

cam72cam commented 2 days ago

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 commented 2 days ago

@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 commented 2 days ago

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

kvendingoldo commented 2 days ago

@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 commented 2 days ago

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 commented 1 day ago

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 commented 1 day ago

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

TheFoxAtWork commented 1 day ago

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.