DUICUO

オープンソースにおける「タイガー効果」

今日は、非常に興味深い現象、「ファット・タイガー効果」についてお話します。

ジャイアンは名作アニメ『ドラえもん』に登場する悪役で、長年のび太をいじめてきたキャラクターです。猪の皮を被ったいじめっ子というイメージは人々の心に深く刻まれ、多くの子供たちの憎悪の対象となっています。しかし、劇場版『ドラえもん』の中には、ジャイアンが偶然に善行を見せる場面もあり、「この子、実はそんなに悪い子じゃないんだ」という印象を与え、観客の好感度を飛躍的に高める場面もあります。

逆に、常に善行を重ねてきた高潔な人が、突然悪行を働いたことが暴露されると、人々の心の中でその人の「悪」のイメージは飛躍的に高まります。その結果、その人のこれまでの善行がすべて否定され、「善行はすべて見せかけだった」という印象を与えてしまうことさえあります。つまり、「偽善者は真の悪人よりも危険」ということわざがあるように。

「ジャイアン効果」は、漫画『銀魂』の風刺的なセリフに由来しています。この法則には確固たる理論的根拠はありませんが、ジャイアンというシンプルな例を通して、よくある心理現象を鮮やかに反映しています。この現象は、特にオープンソース分野において、多くの実例に現れています。

オープンソースにおける「タイガー効果」

オープンソース分野における「タイガーマン効果」の最も典型的な例は、マイクロソフトの変革です。

周知の通り、Microsoftはかつてオープンソース界の最大の敵でした。20年前、このプロプライエタリソフトウェアの巨人は、Linuxに代表されるオープンソースソフトウェアは業界の癌であると公然と宣言し、メディア、世論、そして法的脅迫を通じて、10年以上にわたりオープンソースコミュニティを容赦なく弾圧しました。オープンソースはどのような弾圧を受けたのでしょうか?

長い間、オープンソース コミュニティにおける Microsoft の評判は次のとおりでした。

マイクロソフトの悪評は歴史的な理由に起因しています。これは、悪いことはいくらやっても多すぎることはないということを示しています。悪いことが多すぎると、良いことをするのが難しくなります。 — 2012年10月2日

「Microsoft」と「オープンソース」という言葉をどう組み合わせればよいのでしょうか? — 2014年6月11日

マイクロソフトがオープンソースを好んだことがあるだろうか? おそらく一度もないだろう。 — 2014年6月12日

2014年のCEO交代後、マイクロソフトは市場の動向を捉え、オープンソース支援に注力するようになりました。.NETテクノロジースタックの大部分をオープンソース化し、オープンソースコミュニティの構築にも積極的に参加することで、オープンソース業界から高い評価を得ています。その根底にあるのは、オープンソースを通じて開発者市場を拡大するという商業的な視点でしたが、現在ではオープンソースの世界におけるマイクロソフトのあらゆる動きがコミュニティから広く注目を集めており、オープンソースの.NETテクノロジーシステムは国内外で多くの支持者を獲得し、高い評価を得ています。

マイクロソフトは今回、.NETへの移行という正しい決断を下した — 2014-11-13


Linuxカーネルのソースコードに貢献している企業の昨年のリストをご覧になることをお勧めします。Microsoftはすでにトップ20に入っていましたし、「がん」という部分は…もう古いニュースです。 — 2014年11月15日


マイクロソフト、愛しています。 — 2014年11月16日


マイクロソフトはようやく少しオープンになり、やり方を変えた — 2015-02-04

「ファット タイガー効果」は、オープン ソース分野における否定的な例でよく見られます。

昨年、Qtがバージョン5.15からLTS(Lifetime Skills Testing)の商用運用モデルに移行したことをお伝えしました。これは、Qtが長年サポートしてきた安定したLTSバイナリをダウンロードして使用するには、ユーザーが料金を支払う必要があることを意味します。この動きはすぐにQtコミュニティから強い抗議を引き起こし、広く利用されているオープンソースのクロスプラットフォーム開発ツールであるQtの評判は一夜にして崩れ去ったかのようでした。

Qtは死んだ。二度と使わない。 — 2021-01-06

クローズドソース化と商用化が進む Qt に別れを告げ、コミュニティ版 Qt のリリースを楽しみに待ってください。—2021-01-06

同様に、Red Hat は CentOS のメンテナンスを停止し、代わりにローリング アップデートを提供する CentOS Stream を開始しました。

かつては市場規模が大きかったため、オープンソース戦略を通じて影響力を拡大することができました。しかし、ほとんどの競合企業が消滅した今、その恩恵を享受する時が来ました。営利企業、特に上場企業は必然的に利益を優先するため、この市場を支配するでしょう。誰もが諦めるべきです。ただ乗りの道はますます狭くなっています。 — 2020年12月10日

私が最も嫌いな言葉は「ストリーム」です — 2020-12-10

安定版はローリングアップデート版になった。この点で、CentOSはサーバー分野ではまさに破滅の道を辿っていると言えるだろう。 — 2020年12月10日

これらのオープンソースプロジェクトは、長きにわたり、無数のユーザーに高品質で無料のサービスを提供してきましたが、その背後にいる意思決定者がついに「真意を明らかにして」商業化への一歩を踏み出したことで、コミュニティの「正しい」世論に飲み込まれるのは避けられないように思われます。

最近の代表的な例としては、フロントエンドコミュニティに大きな騒動を引き起こした「オープンソースポイズニング事件」が挙げられます。

まず、vue-cliの依存関係であるnode-ipcパッケージの作者であるミラー氏(@RIAEvangelist)は、ウクライナを支援するため、プロジェクトの最新バージョンに「Peacenotwar」というテキストファイルを追加しました。さらに、ユーザーのコンピュータにロシアまたはベラルーシのIPアドレスが設定されている場合、ミラー氏はパッケージに悪意のあるコードを挿入し、ユーザーのファイルシステムを上書きしていました。このインシデントは、node-ipcプロジェクトの多くの下流ユーザーに深刻な影響を与えました。多くのサーバーやパソコンで最新コードへのアップデート時に誤動作が発生し、ロシアのIPアドレスを持つ一部のユーザーではシステムファイルの破損が発生しました。

その後、週60万回ダウンロードされていたnpmパッケージ「event-source-polyfill」の作者が、新バージョンに反戦コードを密かに追加したという事件が発生しました。この事件はフロントエンドコミュニティに広範な不安を引き起こし、様々な業界がオープンソースプロジェクトの参照を精査し始めました。

この事件により、これらのプロジェクトのオリジナル作成者は、業界での評判に大きな打撃を受けただけでなく (オープンソース コミュニティに多くの優れたコードを提供し、何年間も無償で熱心に保守してきたにもかかわらず)、さらに重要なのは、この事件におけるこれらのオープンソース作成者の過激な行動により、多くの企業ユーザーがオープンソース ソフトウェア自体のセキュリティに疑問を抱き始めたことです。

ある開発者はGitHubで次のようにコメントしている。「今回の事件により、ロシアや政治とは全く関係のない他の企業も、フリーソフトウェアやオープンソースソフトウェアがサプライチェーン攻撃の手段として利用され、ビジネスに支障をきたす可能性があることに気づき、社内でフリーソフトウェアやオープンソースソフトウェアを禁止し始めるだろう。すべてのフリーソフトウェアやオープンソースソフトウェアが禁止されるということだ。」

「ファットタイガー効果」の合理的な見方

前述のQtやCentOSの商用化、あるいはnode-ipcやevent-source-polyfillプロジェクトを巻き込んだポイズニング事件など、多くの人々のオープンソースプロジェクトに対する好意は急落しました。本質的に、「タイガー効果」は、人々の当初の期待と現実のギャップから生じています。

QtやCentOSを含むほとんどのオープンソースソフトウェアは、プロモーション段階では「オープン、フリー、共有、無料」といったラベルが付けられ、ターゲット層の心に高い期待を植え付けます。その結果、多くの人々は依然としてオープンソース=フリーを同一視しています。そのため、これらのオープンソースソフトウェアプログラムが突然商用化されると、必然的に「不当利得」とレッテルを貼られ、多くのユーザーから拒絶されることになります。

npmパッケージのポイズニング事件によって提起されたオープンソースソフトウェアのサプライチェーンにおけるセキュリティ問題も同様です。「十分な目があれば、バグは簡単に見つかる」という格言は、オープンソースソフトウェアのコードは透明性、安全性、信頼性に優れているという期待を私たちに植え付けてきました。献身と共有の精神を重んじる優れたオープンソースプロジェクトの作者は、人々の心に確かな手本を示してきました。しかし、オープンソースプロジェクトの作者が広く普及しているnpmパッケージを「ポイズニング」するという極端な事例が実際に発生すれば、人々の心に蓄積されてきたオープンソースソフトウェアに対する好印象に深刻な影響を与えることは避けられません。

一方、「ファット・タイガー効果」は、人々を「白黒はっきりさせる」という誤解に陥れやすい。

実際、Microsoft、Qt、Red Hat など、いずれも本質的には営利企業であり、オープンソースはソフトウェアのプロモーション手段に過ぎません。クローズドソースからオープンソースへの移行、あるいは有料サービスのプロモーションのためにオープンソースのアプローチを変更することは、これらの企業の意思決定者が特定の時期に、企業の利益を理由に行うビジネス上の決定です。オープンソースが企業の中核事業の収益性に影響を与えることなく、より多くのユーザーを製品に引き付けることができるのであれば、私は積極的にオープンソースを採用します。一方、製品や機能を有料モデルに変更することで企業の収益が増加するのであれば(結果として生じるユーザー離れを許容できる限り)、対応する有料サービスを開始します。

ユーザーとして私たちがすべきことは、製品が使いやすいかどうか(商用版にお金をかける価値があるか、コミュニティ版を再構築するために時間と労力を費やす価値があるか)を判断し、その後、サポートを継続するか、コミュニティ版にスムーズに切り替えて、かつて提供してくれた無料サービスに感謝することだけです。

これは、npmの「ポイズニング」事件によって企業ユーザーが抱いたオープンソースソフトウェアのセキュリティに関する懸念にも当てはまります。一方で、クローズドソースソフトウェアにも様々なレベルのセキュリティ問題があり、悪意のあるコードインジェクションの影響を受けやすいという問題があります。一方、多くのオープンソースソフトウェアは、財団、営利企業、その他の組織によって維持管理されているため、個人の意志に基づいて悪意のある行為が行われる可能性は低いと考えられます。したがって、ソフトウェアがオープンソースかクローズドソースかに関わらず、コードセキュリティのレビューとテストは、すべての企業が優先すべき重要な側面です。

いわゆる「ファット・タイガー効果」は、結局のところ、単なるユーモラスな比喩に過ぎません。オープンソースを扱う際には、弁証法的な思考を維持し、「白か黒か」という思考の罠に陥らないように注意を促しています。オープンソースであるかどうかは、ソフトウェア自体の品質とは全く関係ありません。オープンソースプロジェクト、オープンソースの作者、あるいはその背後にいる営利企業を相手にする場合、道徳的な判断をする必要はありません。自分のニーズに合ったソフトウェアを選ぶだけでいいのです。