7年前にCNCFへ譲渡されOSS化されたソフトウェア、今さら開発元が譲渡とOSS化の撤回を要求。(その後、これを撤回し決着)
Linux Foundation傘下でKubernetesを始めとする多数のクラウドネイティブ関連のプロジェクトをホストするCloud Native Computing Foundation(以下、CNCF)は、2018年に同団体に譲渡されオープンソースとして開発が続けられてきたメッセージングミドルウェアのNATSの開発元であるSynadiaが、NATSプロジェクトをCNCFから撤退させ、非オープンソースライセンスであるBusiness Source License(BUSL)を適用する意向であると通知してきたことを明らかにしました。
さらにSynadiaの法律顧問はCNCFに対して書面にて、NATSプロジェクトのドメイン名である「nats.io」とGitHubのリポジトリの完全な管理権を2週間以内に引き渡すことも要求してきたとのことです。
NATSの繁栄のためにSynadiaも繁栄しなければ
Synadiaがなぜこのような要求を行ったのかは同社のブログ「Looking Ahead with Clarity and Purpose for NATS.io」で説明されています。
その理由は同ブログ内から引用する次の文章に要約されているでしょう。
For the NATS ecosystem to flourish, Synadia must also thrive. This clarity has guided our decision-making and planning.
NATSのエコシステムが繁栄するためには、Synadiaも繁栄しなければなりません。この明白なことが、私たちの意思決定および計画の指針となっているのです。
つまり、同社にとってビジネス面でNATSをより有効なものとするために、7年前に譲渡したことを撤回するという無茶な要求を行ったとしています。
CNCFはSynadiaからの要求に対してこれを拒否し、GitHubには関連のIssueを提起、メンテナに連絡を取るなどの措置を講じていると説明しました。
後述するようにSynadiaは後日この要求を撤回し、CNCFとともにNATSのプロジェクトの発展に貢献することを表明。本件は落着しています。
NATSはメッセージングミドルウェア
NATSとは、クラウドネイティブなアーキテクチャの代表的な例であるイベント駆動アーキテクチャの基盤となるメッセージングミドルウェアです。パブリッシュ/サブスクライブ、リクエスト/リプライ、分散型のキューなどのパターンが実装可能で、シンプルかつ高性能で高いスケーラビリティを実現するとされています。
2018年に開発元のSynadiaからCNCFに寄贈されました。
ただしこのときSynadiaはNATSの名称とロゴは同社が商標登録を申請中であり、これらはCNCFに譲渡されることが約束されていましたが今回の件の解決まで譲渡は行われず、名称とロゴはずっとSynadiaが所有したままでした。
寄贈したOSSを企業の都合で取り戻せるのか?
オープンソース化されたソフトウェアを企業が自社の都合で非オープンソース化することは過去にいくつか例があります。
代表例の1つがHashiCorpでしょう。2023年8月、同社はそれまで同社製品に採用していたオープンソースライセンスのMozilla Public License v2.0(MPL2.0)を、商用利用に制限があるBusiness Source License v1.1(BSL1.1)に変更すると発表しています。
また、Redis、MongoDB、Kafkaなどのソフトウェアもオープンソースから非オープンソースへとライセンスを変更しています。
参考:Redis、MongoDB、Kafkaらが相次いで商用サービスを制限するライセンス変更。AWSなどクラウドベンダによる「オープンソースのいいとこ取り」に反発
これらの例は、開発元である企業が自社製品のソフトウェアライセンスを変更するというものであり、開発元が自社製品のライセンスをそう決めたのであれば仕方がないとして、残念ではあるものの受け入れざるを得ないものといえます。
一方で今回のNATSの例は、開発元からCNCFへとソフトウェアが譲渡され、コミュニティによってそのソフトウェアが育成された後に、開発元が自社都合でそれを撤回したいという主張です。契約面でも信義の面でも受け入れられるものではないでしょう。
もしこれがまかり通るようなことがあれば、Linux FoundationやCNCFのようなオープンソースの団体が築いてきた信用や、オープンソースソフトウェアに対する信頼に傷が付くことになりかねません。
今回の件についてのCNCFのブログ「Protecting NATS and the integrity of open source: CNCF’s commitment to the community」は、そうした危機感がにじみ出ているタイトルと内容になっています。
Synadiaが要求を撤回して無事決着
CNCFがこの問題を明らかにしてから約1週間後の5月1日、CNCFはSynadiaとの話し合いの結果、NATSプロジェクトを引き続きCNCFがホストし、SynadiaはNATSの名称とロゴをCNCFに譲渡すること、同社が今後もNATSへの主要なコントリビュータとして活動を継続すること、などにより本件が無事に決着したことを明らかにしました。
Synadiaがなぜ要求を撤回したのか、などについての説明は行われていませんが、GitHubでの議論を見る限りNATSへの失望とプロジェクトのフォークを要望する声が多く見られました。
つまり、もしもSynadiaがCNCFからNATSを取り戻せたとしても、CNCFのプロジェクトとしてNATSのフォークが採用され、現在のNATSのコミュニティとエコシステムはそのフォークされたプロジェクトのものになる可能性が高いと考えられます。
そうなった場合、SynadiaがNATSを取り戻す価値は薄れてしまいます。あくまでも想像ではありますが、こうした状況がSynadiaの当初の要求を撤回させたことにつながったのではないでしょうか。
今回は最終的に、それまでSynadiaが保有し続けていた名称やロゴの譲渡まで行われたことで、禍転じて福となすような決着となりました。
その一方で今回もまた、オープンソースソフトウェアを基盤にしてどのようにビジネスを発展させていくべきなのか、という課題があらためて浮き彫りとなりました。この課題に簡単な解はなく、それゆえに今後も似たような問題は続くのかもしれません。