ReactOS(リアクトOS)
ReactOSは、Windowsとの
互換性を目指して開発されているオープンソースの
オペレーティングシステムです。Windows Server 2003相当の
互換性を目標としており、アプリケーションやドライバのバイナリレベルでの
互換性を実現することを目指しています。
1996年から開発が開始され、長期間にわたる開発努力が続けられています。2021年4月現在では
アルファ版として提供されており、一般ユーザーが日常的に利用できる段階には至っていません。
概要
ReactOSは、主に
C言語で実装されていますが、「ReactOS Explorer」などの一部要素は
C++で開発されています。複数の
アーキテクチャへの移植も進められており、ARMやx64といったプラットフォームに対応しています。また、Windows APIの一部が実装されており、Windowsアプリケーションの実行を可能にしています。開発には、Wineプロジェクトの互換レイヤーをはじめとする多くのオープンソースプロジェクトの成果が活用されています。
名称の由来
「React」という単語には、
マイクロソフトの市場独占に対する開発チームの反発と、それに対抗する意思が込められています。
歴史
開発初期
1996年頃、FreeWin95というプロジェクトが開始されました。このプロジェクトはWindows 95の
クローンOSを作成することを目的としていましたが、実現には至りませんでした。その後、プロジェクト参加者であったジェイソン・フィルビが、
クローンの対象をWindows NTに変更し、プロジェクト名をReactOSとして再出発させました。
1998年には、
カーネルと基本的なドライバの開発が始まり、ReactOSプロジェクトが本格的に始動しました。
コードの流用疑惑
2006年1月、ReactOSの
ソースコードにWindowsの逆アセンブルコードが含まれているという指摘があり、プロジェクトは一時的に活動を停止しました。その後の調査で、クリーンルーム設計に反するコードは発見されず、開発者全員がクリーンルーム設計のみを行うという契約書に署名しました。
2006年2月には活動を再開しましたが、コード監査はその後も継続され、2008年8月末に完了しました。この監査は、新しく
リポジトリを作成し、監査済みのコードを移行するという手順で行われました。
機能
ReactOSは、GUIを備え、基本的な操作が可能です。主要なAPIやABIが実装されており、一部のWindowsアプリケーションが動作することが確認されています。
ユーザーインターフェイス
Windows XPなどで採用されていたヴィジュアルスタイル機能が実装されており、デスクトップの外観をカスタマイズできます。
システム
ReactOSは、FAT32に加え、NTFSの読み書きに対応しています。さらに、
BtrfsやExt4など、Windows標準ではサポートされていない
ファイルシステムも利用可能です。
開発
現状と今後
現在、ReactOSの開発チームはUSBサポートの改善や、GUIシステムの改良、ネットワーク機能、
マルチメディア対応、プラグアンドプレイハードウェア対応などに取り組んでいます。
JavaやMonoを利用した.NET環境もサポートされています。将来的な目標として、マルチユーザー環境の実現や、ターミナルサービス、リモートデスクトップ機能の開発が挙げられています。また、Windows NT 5.2との
互換性向上を目指し、
カーネルの改善に取り組んでいます。将来的にはNT 6以降のWindowsとの
互換性も視野に入れています。
さらに、3Dゲームのサポート強化や
OpenGLの完全サポート、ReactX(オープンソース版DirectX)の開発も進められています。ReactOSプロジェクトは、2ヶ月から6ヶ月の間隔で新しいバージョンをリリースすることを目標としており、現時点での最新バージョンは0.4.14です。
ReactOSは、x86、Xbox、
PowerPC、ARM、AMD64など、複数の
アーキテクチャをサポートしています。また、
Hyper-V、
VMware、
VirtualBox、
QEMUなどの仮想化
ソフトウェア上でも動作可能です。移植性にも配慮されており、様々なプラットフォームへの対応が進められています。
法的リスクや
リバースエンジニアリングの懸念に対処するため、大規模な
ソースコード監査が実施されています。
提携と再利用
ReactOSは、他のオープンソースプロジェクトと積極的に協力し、既存の
ソフトウェアを再利用しています。逆に、WineやCaptive NTFS、Longeneなどのプロジェクトが、ReactOSのコードベースを再利用しています。
ネットワーク関連
Samba TNGと協力し、LSASS、SAM、NETLOGON、SPOOLSSといったWindowsのネットワークサービスを実装しています。
Wineとの協力
ReactOSは、Wineプロジェクトと緊密に連携し、WineのWin32 API実装を積極的に活用しています。両プロジェクトは、相互に
互換性の問題を解決するために協力しています。
国際化と地域化
ReactOSは
多言語対応を強化していますが、日本語環境はまだ発展途上です。
バージョン0.2.2以降、
UTF-16の適切な処理が可能になり、
UTF-16を利用したアプリケーションが動作するようになりました。また、ハードコードされたメッセージを
リソースファイルに移す作業も進められ、OS組み込みアプリケーションの多くが
多言語に対応しています。
日本語表示
ロケールを日本語に設定すると、メッセージは日本語で表示されますが、未翻訳の機能は英語で表示されることがあります。バージョン0.3.10以降は「Systema Font」、バージョン0.3.11以降は「Droid Sans Fallback」フォントが採用され、日本語や中国語、韓国語の表示に対応しています。
日本語入力
2023年現在、Nightly Buildでは日本語入力機能が一部利用可能となっています。開発者の一人である片山博文MZ氏が、IMMを利用した自作IMEによる日本語入力を実現しています。ただし、新しい技術である
[Text Services Framework]にはまだ対応していません。
関連項目
WinFrame - Citrix社が開発していたWindowsクローン
Windows NT
Linspire
Wine
エミュレーション
外部リンク
公式ウェブサイト
ReactOS Wiki - 公式Wiki (英語)
公式GitHubリポジトリ(英語)
SourceForge.net の ReactOS プロジェクトのページ (英語)
ReactOSまとめWiki(日本語)