HashiCorp、TerraformをフォークしたOpenTofuに対しコードの不正コピーを警告。OpenTofuは完全否定
今回は「HashiCorp、TerraformをフォークしたOpenTofuに対しコードの不正コピーを警告。OpenTofuは完全否定」についてご紹介します。
関連ワード (下記、方法、自社等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
HashiCoprは昨年(2023年)8月、Terraformを含む同社製品のライセンスを、商用利用に制限があるBusiness Source License v1.1(BSL1.1)に変更すると発表。反発し、ライセンス変更前のTerraformをフォークしたプロジェクトとしてLinux Foundation参加で「OpenTofu」です。
参考:Terraformのフォークが「OpenTofu」としてLinux Foundation傘下で正式ローンチ。OpenTFから改名
しかしHashiCorpはこのOpenTofuの登場を歓迎するつもりはまったくなかったようです。
HashiCorpがOpenTofuにコードの不正使用を警告
HashiCorpは今月(2024年4月)3日、OpenTofuとそのスポンサーらに対して、OpenTofuがTerraformのコードを不正にコピーしているとの警告文を弁護士事務所を通じて送付しました。下記はその一部の引用です。
Specifically, OpenTofu has repeatedly taken code HashiCorp provided only under the Business Software License (BSL) and used it in a manner that violates those license terms and HashiCorp’s intellectual property rights.
具体的には、OpenTofuは、Business Software License(BSL)にのみ基づいて提供されているHashiCorpのコードを繰り返し取得し、ライセンス条項および HashiCorp の知的財産権を侵害する方法で利用しました。
この警告文には、実際にOpenTofuのどのコードがTerraformのどのコードと類似しているのか、5カ所の類似性を示す説明も含まれていました。
その上で、4月10日までに書面による回答を次のように要求していました。
Therefore, we demand that OpenTofu provide a written response to our demands no later than Wednesday, April 10, 2024, and cease and desist from further violations of HashiCorp’s BSL license and infringement of HashiCorp’s copyrights. If OpenTofu does not comply, we reserve all rights, including the right to send DMCA takedown notices to Github or any other third party hosting or source code repository provider, and the right to initiate litigation to stop further violations.
我々はOpenTofuに対し、2024年4月10日水曜日までに我々の要求に対する書面での回答を提出し、HashiCorpのBSLライセンスに対する更なる違反とHashiCorpの著作権の侵害を停止することを要求します。OpenTofuがこれに応じない場合、当社は、Githubまたは他の第三者のホスティングまたはソースコードリポジトリのプロバイダに、DMCAテイクダウン通知を送る権利、およびさらなる違反を阻止するために訴訟を開始する権利を含むすべての権利を留保します。
OpenTofuはHashiCorpの主張を完全否定
4月9日、OpenTofuはHashiCorpへの返答として、HashiCorpの主張を完全に否定する内容の文書を弁護士事務所を通じて公開します。下記はその一部の引用です。
To my client’s knowledge, none of the Terraform code subject to the BUSL has been improperly copied, incorrectly sourced, or used for any purpose.
私のクライアントの知る限り、BUSLの対象となるTerraformのコードは、いかなる目的においても、不正にコピーされたり、不正に出典されたり、使用されたりしていません。
さらにHashiCopによるコードの類似性を示した例についても次のように否定しています。
It is also necessary to note that, while you complain that a comparison of HashiCorp’s Terraform code to OpenTofu files show “substantial similarity” between the two, the diff files you attach to your Letter actually show the compared files to be quite dissimilar.
御社はまた、HashiCorpのTerraformのコードとOpenTofuのファイルを比較したところ、両者は「かなりの類似性」を示していると訴えていますが、書面に添付された差分ファイルを見ると、比較されたファイルは実際にはかなり異なっていると指摘せざるを得ません。
またOpenTofu側は、プロジェクトへのBUSLソースコードの組み込みを防ぐために、開発者へのライセンス条項を尊重する教育、適切な注意と検証を保証するための徹底したレビューと受け入れのプロセスを構築している、とも主張しました。
OpenTofuは詳しいソースコードオリジン分析も公開
OpenTofuはさらに、ブログ「Our Response to Hashicorp’s Cease and Desist Letter」も公開。ここでは具体的にコードの一部を示しつつ、次のように説明しています。
The code in question can be clearly shown to have been copied from older code under the MPL-2.0 license. HashiCorp seems to have copied the same code itself when they implemented their version of this feature. All of this is easily visible in our detailed SCO analysis, as well as their own comments which indicate this.
問題のコードは、MPL-2.0ライセンスの下にある古いコードからコピーされたものであることが明確に示されています。HashiCorpはこの機能の彼らのバージョンを実装したとき、同じコードそのものをコピーしたようです。これらすべては、わたしたちの詳細なSCO(Source Code Origin)分析で簡単に見ることができますし、彼ら自身のコメントもそれを示しています。
つまりHashiCorpが主張する、BSLライセンス下のコードをOpenTofuがコピーしたと主張するコードは、実際にはオープンソースライセンス下にある過去のコードをHashiCorpがBSLライセンス下のコードとして使い回したため、OpenTofuのコードと一致しているように見えるだけだ、ということのようです。
OpenTofuはさらに詳細なコード分析を示した文書(上記の「SCO分析」と呼ばれている文書)「Source Code Origination – OpenTofu’s Implementation of the Removed Block」も公開しています。
OpenTofuが示す内容の妥当性についてはここでは保留しますが、HashiCorp側の疑念に対してOpenTofuは(ごまかしや抽象的な反論ではなく)正面から詳細かつ具体的に反論したように見えます。これはプロジェクトがきちんとしたガバナンスによって運営管理されていることをうかがわせます。
HashiCorpがオープンソースプロジェクトに警告する意味
1年前まではオープンソースをベースに成功してきた企業として見られてきたHashiCorpが、オープンソースのプロジェクトに対してこのような警告を発したというのは、多くのオープンソース擁護者にとっては残念なことなのだと思います。
一方でHashiCorpはNASDAQに上場する公開企業として、自社の価値の中核をなすソースコードに対する権利侵害に対しては毅然とした態度を取らざるを得ないという事情もあるのかもしれません(最近は、HashiCorpがいずれかの企業に売却される可能性があるとの報道も一部流れており、必ずしも経営が順調とはいえないのかもしれません)。
HashiCorpの主力製品をフォークしたプロジェクトはOpenTofuだけでなく、Vaultをフォークした「OpenBao」もLinux Foundation傘下で開発が進んでいます。
参考:HashiCorp Vaultもフォークへ、「OpenBao」がLinux Foundation傘下で進行中
OpenBaoに対してもHashiCorpは目を光らせているのかどうか、今後の動向に注目したいと思います。