よくある質問
OpenTofuとは何ですか?
OpenTofuは、クラウドとオンプレミスの両方のリソースを、バージョン管理、再利用、共有可能な人間が読める設定ファイルで定義できるInfrastructure as Codeツールです。これにより、一貫性のあるワークフローを使用して、インフラストラクチャのライフサイクル全体を通じて、すべてのインフラストラクチャのプロビジョニングと管理を行うことができます。OpenTofuは、コンピューティング、ストレージ、ネットワークリソースなどの低レベルコンポーネントと、DNSエントリやSaaS機能などの高レベルコンポーネントの両方を管理できます。
OpenTofuはなぜ作られたのですか?
OpenTofuは、HashiCorpがオープンソースライセンスからBUSLへの変更に対応して、Gruntwork、Spacelift、Harness、Env0、Scalrなどの企業が開始したTerraformのフォークです。この取り組みには、こちらにリストされている多くの支持者がいます。
HashiCorpチームが概説したBUSLと追加の使用許諾は曖昧であり、Terraformを使用する企業、ベンダー、開発者が、自分の行動が許可された使用範囲外と解釈される可能性があるかどうかを判断することが困難になっています。
HashiCorpのFAQは、現時点ではエンドユーザーとシステムインテグレーターに安心感を与えていますが、ライセンス条項が将来の使用に与える影響は不明です。「競合的」または「埋め込み」という企業の定義が変更される可能性、またはライセンスがさらに変更されてクローズドソースになる可能性があるため、Terraformユーザーは不確実性を感じています。
Terraformは多くの企業で使用されており、多くの貢献者がTerraformを現在のものにしたため、Terraformはオープンソースのままであるべきだと強く信じています。Terraformの成功は、それを中心とした多くのサポートプロジェクトを構築してきたコミュニティの尽力なしには不可能でした。
OpenTofuとTerraformの違いは何ですか?
技術レベルでは、OpenTofu 1.6.xは機能的にTerraform 1.6.xと非常に似ています。将来的には、プロジェクトの機能セットは異なる方向に進んでいきます。
もう一つの主な違いは、OpenTofuがオープンソースであり、単一の企業がロードマップを決定できないように、共同的な方法で推進することを目標としていることです。
TerraformではなくOpenTofuを使用する必要があるのはなぜですか?
個人利用
BUSLライセンスには非営利的な利用例に関する制限がないため、最初の印象としては、個人利用にはOpenTofuとTerraformのどちらを使用しても問題ないでしょう。ただし、Terraformエコシステムがますます不安定になり、他のライセンスへの切り替えが行われる可能性があるため、状況は変わる可能性があります。Terraformに精通しているユーザーは、個人利用のためにOpenTofuを採用する際に問題なく、少なくとも最初は知識のギャップはありません。
コンサルタント
コンサルタントは、予算に合わせた最適なソリューションをクライアントに提供する必要があります。OpenTofuはTerraformと同等になり、プロジェクトの中心的な目標の1つはコミュニティの問題に耳を傾けることであるため、常にオープンソースのままであるプロジェクトを推奨することが理にかなっています。過去8年間Terraformを使用してきた人は、解決に時間がかかった問題に出くわしたことがあるでしょう。OpenTofuの開発に関わっている大規模なコミュニティにより、これは今後なくなるでしょう。
企業
企業は、この状況でより多くの困難に遭遇します。新しいプロジェクトへの切り替えにはリスクがありますが、警告なしにライセンスを変更するプロジェクトにとどまることは、はるかに危険です。このリスクは、OpenTofuをLinux Foundationに提供することで最小限に抑えられ、将来のリリースでTerraformとの機能互換性を維持するというOpenTofuの目標により、技術的なリスクが軽減されます。
OpenTofuは将来のTerraformリリースと互換性がありますか?
コミュニティがOpenTofuの機能を決定します。待望のTerraform機能の一部は、まもなく一般公開されます。
OpenTofuにTerraformで使用可能な機能がない場合は、お気軽に課題を作成してください。
OpenTofuをTerraformのドロップイン交換として使用できますか?OpenTofuは本番環境で使用できますか?
現在、OpenTofuはTerraformバージョン1.5.xおよび1.6.xの大部分と互換性があるため、Terraformのドロップイン交換として機能します。互換性を確保するために、コードを変更する必要はありません。
OpenTofuは、例外なく本番環境のユースケースに適しています。
詳細については、移行ガイドをご覧ください。
OpenTofuは既存の状態ファイルで動作しますか?
OpenTofuは、Terraformバージョン1.5.xで作成された状態ファイルまで動作します。
OpenTofuは、Terraformが動作するすべてのプロバイダーで動作しますか?
OpenTofuには独自のProviderはありません。Terraformプロバイダーはライセンスを変更しておらず、そのような変更の可能性は事実上ゼロです。OpenTofuは現在のTerraformプロバイダーと連携しますが、別のレジストリを使用します。
OpenTofuでは、新機能、バグ修正、その他の開発上の意思決定はどのように行われますか?
コアチームとそのテクニカルリードが、取り組む最も重要な機能とバグ修正を決定し、ステアリングコミッティが大きな変更に関する決定を行います。
これらの決定はすべて、コミュニティからのフィードバックと公開ディスカッションによって導かれています。
OpenTofuにどのように貢献できますか?
OpenTofuイニシアチブを実際にサポートする最善の方法は、貢献することです。バグレポート、互換性の問題に関するレポート、機能要求、古い問題の再投稿、および高品質のRFCについては、課題を作成することから始めることをお勧めします。
OpenTofu Coreへのすべての主要な変更は公開RFCプロセスを経ており、既存のRFCに関するフィードバックも歓迎しています。現在クリーンアップフェーズであり、競合を避けたいと考えているため、最初のアルファリリースまでコードへの貢献はお待ちください。
この貢献ガイドでは、課題の提出方法、議論への参加方法、コードの作業方法、コード変更の貢献方法など、OpenTofuへの貢献で推奨される実践について説明しています。