マイクロソフトのカーネルエンジニアであるアクセル・リーチン氏は、Windows とバイナリ互換となることを目的としたオープンソースのオペレーティングシステムである ReactOS は「マイクロソフトが大学にライセンス供与した Windows Research Kernel の盗作である」と主張している。
LinkedInのプロフィールによると、Windowsベースのカーネルとコンテナ技術に携わる上級ソフトウェアエンジニアであるRietschin氏は、2017年後半にこの主張を行った。当時はほとんど注目されなかったようだが、同氏は本日Hacker Newsへの投稿でこれを裏付けている。
「これはマイクロソフトが大学にライセンスを供与したWindows Research Kernelの盗作だと思う。その契約は明らかに一部で違反されており、コードは多数の場所にアップロードされており、その一部はGitHub上にアップロードされている」とリーチン氏は書いている。
「ReactOS のコード ツリーをざっと見たところ、公開されているドキュメントのみから白紙の状態からこれが書かれたということは絶対にあり得ないと思います。」
彼は、「どこにもエクスポートされておらず、パブリック シンボルの一部でもない内部データ構造と内部関数は、リサーチ カーネルに表示されるものとまったく同じ名前を持っています」と述べています。
彼は最近の投稿で、ReactOSがソースコードを参照せずに「クリーンルーム」実装されているという主張に反論しています。「マクロ名やパラメータなどは、コンパイルされたコードには決して現れません。クリーンルーム再実装で同じ機能にマクロが使用されることはほぼ不可能です。ましてや、同じ名前や類似の名前を持つマクロが使用されることは考えられません。」
Windows 10の内部ビルドや非公開ソースコードが大量にオンラインで流出
続きを読む
ReactOSは1996年に開始され、現在もアルファ版(現在のバージョンは0.4.11)である、長年にわたるプロジェクトです。ソースコードの複製に関する主張は目新しいものではありません。2006年には、ある開発者がReactOS開発者リストで同様の主張を行い、ReactOSチームによる声明と内部監査につながりました。ReactOS開発者のスティーブン・エドワーズ氏は、ReactOSコードは「米国標準のリバースエンジニアリング方式」に準拠する必要があると述べました。エドワーズ氏はこれを「1人がデバイスの実装を分解し、ドキュメントを作成し、もう1人がそのドキュメントを読んで実装する」と定義しています。エドワーズ氏は、チームは「米国のリバースエンジニアリング方式に従わずに実装されていることが判明したすべてのコードを書き直す」と述べましたが、「漏洩したソースコードにアクセスした可能性のある開発者をReactOSへの貢献から排除するわけではない」とも述べています。
後退せずに後退?
ReactOS 開発者の Alex Ionescu 氏は、OffensiveCon セキュリティ カンファレンスで彼が使用している手法について講演しました。同カンファレンスでのセッションの 1 つである「Reversing without reversing」はオンラインで視聴できます。
マイクロソフトがオペレーティングシステムの世界を席巻していた時代、オープンソースのReactOSプロジェクトは、PCの売上がせいぜい横ばいで、Windowsがモバイル市場で競争力を失っていた現在よりも、はるかに大きな意味を持っていました。マイクロソフトの方向性も転換し、今ではWindowsよりもクラウドサービスとサブスクリプションに重点を置いています。そのため、リーチン氏の主張はかつてほど重要ではなくなりました。®