## 2024-02-27

1. Ecosystem
   - The core team feels strongly that we need to give users guidance on what safe migration paths from Terraform are and what the potential pitfalls exist. The lack of safe migration paths hinders adoption because users are left to their own devices to work around issues.
   Specifically, we would like to split the current migration guide into a few migration guides from a specific Terraform version x.y.z to a specific OpenTofu version a.b.c, outlining these few supported and tested migration paths that we are willing to fix bugs for if found. This would enable us to describe exactly what parts of the code users need to modify and what features may not be supported between those two specific versions.
   - **Decision:**
      - accept: Unanimous
      - reject:

2. Handling new language constructs
   - With state encryption, and the issue below, we’re introducing new constructs to the OpenTofu language. That also goes for functions we’ve added. In practice, for module authors this might lead to complexity or artificial limitations in order to support both Terraform and OpenTofu. Janos suggests that we introduce support for the .otf extension, and if there’s both [xyz.tf](http://xyz.tf) and xyz.otf in a directory (same name), we ignore xyz.tf. Thus introducing a simple way for people to support both in a single configuration.
   - Issue: https://github.com/opentofu/opentofu/issues/1275
   - *Decision:* TSC would like to see a **holistic RFC(s) it can vote on**, gather community feedback, consider capturing use cases of divergence from HTF and OTF side, and how these will be handled by IDE etc.


3. Deprecating module variables
   - We’ve accepted an issue to introduce the mechanism of deprecating module variables. After extensive discussions we’d like the steering committees decision on which approach to go with.
      - Issue: https://github.com/opentofu/opentofu/issues/1005
      - Approach 1
         - We add the deprecation as part of the variable description. Thus, one could embed `@deprecated: message` or `@deprecated{message}` (TBD) as part of their variable description, and tofu would raise a warning with the message.
         - Disadvantages: Magical and implicit. Introduces a new, slightly hacky, mechanism.
         - Advantages: Modules can use it while still supporting Terraform.
      - Approach 2
         - We add the deprecation as an explicit `deprecated` string field in the variable block.
         - Disadvantages: Modules using it will not work with Terraform, it will break on parsing the variable block.
         - Advantages: First-class, looks nicer and cleaner. Module authors can signal their support for OpenTofu by using this feature, and making their module not work with Terraform. Alternatively, module authors can use the .otf extension (if decided for, see above) to provide alternative code for OpenTofu.
      - Note: TSC doesn’t remember voting on accepting this issue;
      - **Decisions:**
         - Reject approach 1
         - Consider how approach 2 fits in with the OTF/HTF discrepancies RFCs

4. Functions in providers
   - This point is mostly a formality I believe, but: **Do we agree that functions in providers is something that we want to do** (regardless of when).
   - Note: Terraform is adding this in 1.8, **and the provider sdk including it is already stabilized and released.**
   - Note #2: If this is not too much work, we might actually get this into 1.7, and release support for this at the same time as Terraform. But that’s to be seen. To be clear, we’d only do this if Terraform 1.8 comes out first and we’re sure that the user-facing API is stabilized.
   - Note #3: proper issues / rfc’s for this will of course be created prior to implementation; this vote is just to get everybody on the same page around whether we’re doing this feature at all
   - **Decision:**
      - We do agree that functions in providers is something that we want to do (regardless of when).
      - Keep it out of OTF 1.7 - add to 1.8 roadmap

5. Registry UI
   - Registry UI, we haven’t seen anything appear, and people are asking for it. Please reevaluate.
   - **Decision:**
      - Please prioritize RFC of our own formal registry

