ReactOS
![]() |
![]() | |
開発者 | ReactOS Foundation |
---|---|
プログラミング言語 | C言語, C++ |
OSの系統 | Windows NT系と類似 |
開発状況 | 開発中(アルファ版) |
ソースモデル | FLOSS |
最新開発版 | 0.4.10 / 2018年11月6日[1] |
リポジトリ | |
対象市場 | パソコン |
使用できる言語 | 多言語 |
アップデート方式 | CD-ROM |
プラットフォーム | IA-32, x86-64, ARM |
カーネル種別 | ハイブリッド (Windows NT系に基づく) |
既定のUI | グラフィカル (ReactOS Explorer) |
ライセンス | GNU GPL と LGPL と BSDライセンス(組み合わせ可能) |
ウェブサイト |
www |
ReactOS(リアクト オーエス)は、Microsoft Windows NT系(2000以降)とアプリケーション及びドライバに於けるバイナリ互換性を目指すオープンソースなオペレーティングシステムである[2]。
特徴
ReactOSは、主にC言語で実装されているが、「ReactOS Explorer」のように幾つかの要素はC++によって記述されている。ARMとx64に移植が進んでおり、一部のWindows APIは実装済みである。 Wineプロジェクトと提携し、互換レイヤーに関してはWineに依存[3]しているが、そのほかの機能は開発チームが独自に実装している。 しかしながら、開発者の不足により開発は遅れぎみである。
開発では、法的脅威とリバースエンジニアリングに関する不安に対処するために大規模なソースコード監査が実施[4]されている。
語源
「React」という単語は、マイクロソフトの独占状態に対する開発チームの不満を意味している[5]。
歴史

開発初期
![]() |
1996年頃、オープンソース開発者のグループがFreeWin95というプロジェクトを開始した。このプロジェクトの目標はWindows 95のクローンとなるOSを実装することであった。しかしプロジェクトはシステムの設計に関する議論で行き詰まり、1997年の終わりになっても、何の成果も出せずにいた。
プロジェクトのメンバーはプロジェクトの復活を呼びかけ、クローンの対象をWindows NTへと変更し、名称をReactOSに改名した。1998年2月、カーネルと基本的なドライバの開発を開始しReactOSプロジェクトが発足した。[6]
コードの流用疑惑
2006年1月17日、ReactOSの開発者向けメーリングリストに一人の開発者から「ReactOSにはWindowsを逆アセンブルしたコードが含まれている」との投稿があった[7]。その申し立ての結果、Windowsを逆アセンブルして作成したコードや、Windowsの流出したコードを見たことがある開発者が書いたコードが含まれていることが確認された。そのためプロジェクトでは議論を行った結果、公のSVNの公開、フォーラム、メーリングリストアーカイブを一時停止することを決定した。(なお、48時間後に一時停止が取り消された)
それに加え、コード全体の検査を行い、クリーンルーム方式のリバースエンジニアリングがされていない可能性のあるコードを洗い出した。また、全開発者に「クリーンルーム方式のリバースエンジニアリングのみを行う。」よう契約書にサインをさせた[8]。
2006年2月24日、まだ完全に監査は完了していないものの、活動再開の発表がなされた。コードの調査を完了させ、ソースコードの影響する部分を書き直すには何年もかかるため、この件によってプロジェクトの進行が遅れるものと考えられていたが、2008年8月末までにコードの監査は完了した[9]。なお、開発と監査は同時に進行していた。このコード監査は、新たにリポジトリを作成し、監査が終了したら、コードを元の場所から新リポジトリへと移動する、という手順で行われた。
機能

2011年現在、GUIが用意され、基本的な操作が可能になっている。主なAPIやABIが用意され、幾つかのアプリケーションの動作が報告[10]されている。また、カーネルは概ね安定している。
開発の現状と今後
現在、ReactOSの開発者はUSBをサポートする作業も行っている。また、GUIシステムの改良やネットワーク、マルチメディア、プラグアンドプレイハードウェアに対応する作業も行われている。いくつかのアプリケーションは動作が保証されないものの、Javaや、Monoを利用した.NETはサポートされている[11][12]。マルチユーザー環境が開発されれば、ターミナル・サービスやリモート・デスクトップの開発も行われることとなる。この開発にはXRDP、 VNC、 rdesktopが用いられることとなるだろう。Windows NTサブシステムと同様に、DOS、OS/2、POSIXサブシステムも提供されている[13]。
開発者はWindows NT バージョン5、6とより互換性を持つカーネルを開発し、より多くのアプリケーションをサポートすることを目標としている。また、改良されたUSB、ネットワーク、その他のハードウェアのサポートも利用可能となる可能性がある。
また、3Dゲームのサポートの強化および、完全なOpenGLサポートのための作業も行われている。ReactOSプロジェクトのオープンソース版DirectXともいえる、ReactXの開発にも進歩の動きがみられる[14]。
ReactOS プロジェクトは、2ヶ月から6ヶ月の間隔で新しいバージョンをリリースすることを目標としており、バージョン0.5.0からはベータ版となり、実用的なシステムとなる計画である。詳細はReactOSロードマップを参照。
0.4.8以降NTFSの実装が始まっている(初期にはデフォルトでは無効にしている)。
アーキテクチャのサポート
現在、ReactOSの開発者はReactOSの多数の移植に取り組んでいる:
- x86 (working)
- Xbox (regressed, but will be revived later)
- PowerPC (initial booting)[15]
- ARM (not working, in progress)[16]
- AMD64 (not working, in progress)[17]
ReactOSはHyper-V[18]、VMware、VirtualBox、QEMUのような上記のハードウェアをエミュレートもしくは仮想化するソフトウェア上でも動作することが知られている。[要出典]
ReactOSでも、移植性を見据えた処置が取られている。例えば、0.2.5においてはさまざまなIA-32アーキテクチャやXboxプラットフォームへの対応が追加された。また、2005年の段階で、ReactOSをPowerPCやXenアーキテクチャへと移植する作業も進行中である。 また現在、PocketPC用のReactOSを期待して、ARMプラットフォームへの移植作業も行われている。これは現段階でフル機能のオペレーティングシステムよりも適している。[要出典]
関連するプロジェクト

ReactOSはWineプロジェクトと協力して活動しており[要出典]、よってWineが行っているWin32 APIの実装から成果を得ることができる。Win32 API実装の成果は、主にWineのDLLに関連しており、それらの多くはReactOSとWineで共有することができる。[要出典]双方のプロジェクトは互いの互換性の問題に取り組んでいる。
もう一つの関連するプロジェクトはSamba TNGである。Samba TNGはLSASS, SAM, NETLOGON, SPOOLSSといった多数のサービスを実装している。これらのサービスはReactOSプロジェクトの成功と(機能的に正しい)相互運用性の鍵となっている。[要出典]Sambaはそのアーキテクチャデザイン[要出典]と戦略的な目標[要出典]により、ReactOSへと取り込むことは容易ではない。[要出典]これに対し、Samba TNGは多層式かつモジュール形式の手法[要出典]をとっているため、各サービスはずっと容易にReactOSへと取り込むことができる。[要出典]
国際化と地域化
ReactOSはバージョン0.2.2より、Unicodeを適切に扱うことができるように改良された。 これにより、文字コードとして Unicode (UTF-16) を用いたアプリケーションを動作させることが可能となった。 また、ハードコードされたメッセージをリソースファイルへと移す作業も行われ、OSに組み込まれているアプリケーションの多くは地域化されたメッセージを表示することができるようになっている。 実際、0.2.7リリース以後に大半のリソースファイルにおいて翻訳の活動が行われた。[要出典]
日本語対応
ロケールに日本語が指定されている場合には、メッセージは日本語で表示される。しかし、新機能の追加などにより、英語で表示される部分もまた増えてきている。
その上、多くの日本語のWindowsアプリケーションが用いている[要出典]シフトJISを扱うアプリケーションにはまだ対応していなかったり[要出典]、そもそも日本語の表示においても行の折り返しができない等の問題があったり[要出典]、ロケール処理にも未実装のものが多いなど[要出典]、まだまだ実用には程遠いと言わざるを得ない。[要出典]
バージョン0.3.10からは、「Systema Font」という日本語フォントが追加されたため、インストール時に日本語を選択すれば、日本語が表示できるようになった。 また、バージョン0.3.11からは、「Systema Font」から「Droid Sans Fallback」にフォントが変更され、中国語・韓国語の表示も可能になった。
脚注
- ^ “ReactOS 0.4.10 Released - ReactOS Project” (2018年11月6日). 2018年11月6日閲覧。
- ^ “Vistaっぽい見た目”を実現したWindows互換OS「ReactOS 0.4.6」 - PC Watch、2018年9月25日閲覧。
- ^ “WINE - ReactOS”. 2013年7月6日閲覧。
- ^ “Audit - ReactOS”. 2013年7月6日閲覧。
- ^ “ReactOS/History - ReactOS”. 2013年7月6日閲覧。
- ^ “世界のOSたち - WindowsクローンOSを目指す「ReactOS」”. マイナビニュース (2012年1月31日). 2018年10月15日閲覧。
- ^ “[ros-dev] Bye bye”. 2010年10月27日閲覧。
- ^ “Reset, Reboot, Restart,legal issues and the long road to 0.3”. 2010年10月27日閲覧。
- ^ [1][リンク切れ]
- ^ “ReactOS compatablity database”. 2011年2月26日閲覧。
- ^ theuserbl (2009年4月28日). “ReactOS 0.3.9 and Java”. NA. 2009年7月6日閲覧。
- ^ Z98 (2009年5月16日). “Newsletter #58”. ReactOS. 2009年7月6日閲覧。
- ^ Bragin, Aleksey (2007年11月14日). “ReactOS Status Update”. ReactOS. 2009年1月3日閲覧。
- ^ Z98 (2007年11月19日). “OpenGL and ReactX”. ReactOS. 2009年1月3日閲覧。
- ^ “PowerPC”. ReactOS Wiki. ReactOS. 2009年1月3日閲覧。
- ^ “ARM Port”. ReactOS. 2009年1月3日閲覧。
- ^ “64bit Port”. ReactOS. 2008年8月6日閲覧。
- ^ “Hyper-V success (limited)”. ReactOS Website. 2015年7月19日閲覧。
関連項目
- Freedows OS, Alliance OS - かつて存在したWindowsクローンの試み
- WinFrame - Citrix社が開発していたWindowsクローン
- Windows NT
- Lindows
- Wine
- エミュレーション
- E/OS - 実際にOSをインストールすることなく、他のOS向けのプログラムを動作させることを目標としている。
- OSASK - 「エミュレータOS」を目標としている。
外部リンク
- 公式ウェブサイト
- ReactOS Wiki - 公式Wiki
- SourceForge.net の ReactOS プロジェクトのページ