人気の VS Code Material Theme 拡張機能の作者が突然プロジェクトのライセンス条件を変更し、ユーザーに法的措置を取ると脅し、プロジェクトのオープンソース履歴を消去しようとしたことで、開発者コミュニティは混乱に陥りました。この出来事は広範な懸念を引き起こし、コミュニティからの迅速な対応を促しました。
ライセンスの「釣り餌と切り替え」
この論争の中心は、VS Code Material Theme 拡張機能の作者が、プロジェクトのライセンスを Apache License 2.0 から独自のライセンスに遡及的に変更したことです。コミュニティの報告によると、開発者はプロジェクトが元々オープンソースであったという事実を隠すためにコミット履歴を消去するまでの行動に出たとされています。このような動きは、プロジェクトが以前にオープンソースライセンスの下で他の開発者からの貢献を受け入れていたことを考えると、大きな反発を招いています。
「あなたの貢献は現在のライセンス(一般的に)でライセンスされると想定されています。メンテナーはライセンスを変更することができますが、それは以前の貢献には影響しません。基本的に、そのライセンス変更までのものはすべて元のライセンスを持ち続けます。これが人気ソフトウェアがライセンスを変更した際にフォークが可能になる理由です。」
この状況は特に皮肉なことに、Material Design 自体がテーマのベースとなっている Google のデザインシステムであることを考えると、本質的にはカラースキームやデザイン要素に過ぎないものに対する作者の所有権主張に疑問を投げかけています。
技術的問題とユーザーエクスペリエンス
ライセンス問題以外にも、ユーザーはこの拡張機能に関する重大な技術的問題を報告しています。多くの VS Code ユーザーが拡張機能をアンインストールできず、VS Code を再起動するたびに謎の再インストールが行われるという現象に遭遇しました。この動作は、ユーザーがオンラインの難読化ツールを通して処理されたと思われる難読化されたコードを発見したことで、セキュリティ上の懸念を引き起こしています。
コミュニティは、問題のある拡張機能を完全に削除するための回避策を文書化しており、拡張機能フォルダの手動削除や設定ファイルの編集などが含まれています。これには、VS Code 拡張機能ディレクトリに移動し、Equinusocio Material Theme フォルダを削除し、場合によっては再インストールを防ぐために extensions.json ファイルを変更する必要があります。
問題のある拡張機能の削除方法(Windows)
- VS Code を完全に閉じる
%username%\.vscode\extensions
に移動する- Equinusocio Material Theme フォルダを削除する
- 'extensions' JSON ファイルを 'extensions.old' に名前変更する
- VS Code を再度開く(これにより新しい extensions JSON ファイルが作成されます)
- 必要に応じて代替テーマをインストールする
コミュニティの反応と代替案
この状況に対応して、開発者であり技術インフルエンサーの Theo(t3dotgg)は、元のテーマのフォークとして「Material Theme (But I Won't Sue You)」を作成しました。この代替品は、問題のある拡張機能を置き換えながら VS Code での好みの視覚的体験を維持したいユーザーの間で急速に人気を集めています。
この出来事は、オープンソースプロジェクトの持続可能性と、以前は無料だったソフトウェアを収益化しようとする際に生じる緊張関係について、より広範な議論を引き起こしました。コミュニティのメンバーの中には、オリジナル開発者の報酬への欲求に同情を示す人もいれば、敵対的なアプローチを批判し、そのようなテーマが実際に必要とする継続的なメンテナンスに疑問を投げかける人もいます。
フォークされたリポジトリのコード分析によると、このテーマは約1,650行の TypeScript コードで構成されており、その大部分はカラー定義です。これにより、積極的な収益化戦術を正当化するような実質的な継続的メンテナンス負担についての主張に疑問が投げかけられています。
この状況は、オープンソースエコシステムの時に脆弱な性質と、最初から明確なライセンシングの重要性を思い起こさせるものです。また、人気ツールが物議を醸す方向に進んだとき、開発者コミュニティがいかに迅速に代替案を提供できるかを示しています。