ReactOS

ReactOS（リアクト オーエス）は、オープンソースのオペレーティングシステムである。Windows互換のオペレーティングシステムを目指し、開発が進められている。 ReactOSは、2020年現在、Windows Server 2003相当の互換性（アプリケーション及びドライバに於けるバイナリ互換性）を目標として開発が進められているオープンソースのオペレーティングシステムである。 前身のプロジェクトを含めると1996年から長期間にわたり開発が進められている。2021年4月時点、アルファ版として扱われており、一般的ユーザが利用できる状況ではない。また、動作が確認されているWindowsアプリケーションは一部にとどまっている。 ReactOSは、主にC言語で実装されているが、「ReactOS Explorer」など幾つかの要素はC++によって実装されている。ARMとx64等の複数のアーキテクチャに移植が進んでおり、一部のWindows APIが実装されている。 また、複数のオープンソースソフトウェアプロジェクトと提携し、その成果を多数取り入れており、特に、Windowsとの互換性においてWineプロジェクトの互換レイヤーを取り入れている。 「React」(反抗)という単語は、マイクロソフトの独占状態に対する開発チームの不満を表している。 1996年頃、オープンソース開発者のグループがFreeWin95というプロジェクトを開始した。このプロジェクトの目標はWindows 95のクローンとなるOSを実装することであった。しかしこのプロジェクトは成果を出せずに立ち消えとなった。 前述のプロジェクト参加者、ジェイソン・フィルビがプロジェクトの再スタートを呼びかけ、クローンの対象をWindows NTへと変更し、名称をReactOSに改名した。1998年、カーネルと基本的なドライバの開発を開始しReactOSプロジェクトが発足した。 2006年1月17日、ReactOSの開発者向けメーリングリストに一人の開発者から「ReactOSにはWindowsを逆アセンブルしたコードが含まれている」との投稿があった。そのためプロジェクトでは議論を行った結果、公のSVNの公開、フォーラム、メーリングリストアーカイブを一時停止することを決定した。(なお、48時間後に一時停止が取り消された) それに加え、コード全体の検査を行い、クリーンルーム設計のリバースエンジニアリングがされていない可能性のあるコードは発見されなかった。また、全開発者に「クリーンルーム設計のリバースエンジニアリングのみを行う。」よう契約書にサインをさせた。 2006年2月24日、まだ完全に監査は完了していなかったものの、活動再開の発表がなされた。コードの調査を完了させ、ソースコードの影響する部分を書き直すには何年もかかるため、この件によってプロジェクトの進行が遅れるものと考えられていたが、2008年8月末までにコードの監査は完了した。なお、開発と監査は同時に進行していた。このコード監査は、新たにリポジトリを作成し、監査が終了したら、コードを元の場所から新リポジトリへと移動する、という手順で行われた。 GUIが実装され、基本的な操作が可能になっている。主なAPIやABIが用意され、幾つかのアプリケーションの動作が報告されている。 ヴィジュアルスタイル Windows XP等で使用されたヴィジュアルスタイル機能が実装されており、デスクトップ外観の変更が可能である。 ファイルシステム Windowsで標準対応するファイルシステムでは、FAT32に加えて、試験的ながらNTFSが利用できる。 また、BtrfsやExt4といったWindowsで標準対応していない複数のファイルシステムに対応している。 現在、ReactOSの開発者はUSBをサポートする作業も行っている。また、GUIシステムの改良やネットワーク、マルチメディア、プラグアンドプレイハードウェアに対応する作業も行われている。いくつかのアプリケーションは動作が保証されないものの、Javaや、Monoを利用した.NETはサポートされている。マルチユーザー環境が開発されれば、ターミナル・サービスやリモート・デスクトップの開発も行われることとなる。この開発にはXrdp、 VNC、 rdesktopが用いられることとなるだろう。Windows NTサブシステムと同様に、DOS、OS/2、POSIXサブシステムも提供されている。、 開発者は現在Windows NT 5.2をターゲットにそれと互換性を持つカーネルを開発し、より多くのアプリケーションをサポートすることを目標としている。一定の互換性を持つようになれば、NT 6以降の開発を本格的に開始する予定。 また、3Dゲームのサポートの強化および、完全なOpenGLサポートのための作業も行われている。ReactOSプロジェクトのオープンソース版DirectXともいえる、ReactXの開発にも進歩の動きがみられる。 ReactOS プロジェクトは、2ヶ月から6ヶ月の間隔で新しいバージョンをリリースすることを目標としており、現時点での最新バージョンは0.4.14である。 現在、ReactOSの開発者はReactOSの多数の移植に取り組んでいる: x86 Xbox PowerPC ARM AMD64 ReactOSはHyper-V、VMware、VirtualBox、QEMUのような上記のハードウェアをエミュレートもしくは仮想化するソフトウェア上でも動作することが知られている。 ReactOSでも、移植性を見据えた処置が取られている。例えば、0.2.5においてはさまざまなIA-32アーキテクチャやXboxプラットフォームへの対応が追加された。また、2005年の段階で、ReactOSをPowerPCやXenアーキテクチャへと移植する作業も進行中である。 開発では、法的脅威とリバースエンジニアリングに関する不安に対処するために大規模なソースコード監査が実施されている。 ReactOSはオープンソースソフトウェアとしてWindows互換のカーネルを構築することを目的としているが、完成したOSを作るために必要な周辺機能の多くは、より大規模のオープンソースエコシステムで既に利用可能となっている。 それらが利用可能な場合、ReactOSは既存のオープンソースプロジェクトと協力し構築を行っている。 逆に、WineやCaptive NTFS、Longene（英語版）などのプロジェクトは、オープンソースのReactOSのコードベースを再利用している。 ネットワーク技術でSamba TNGと協力している。Samba TNGはLSASS, SAM, NETLOGON, SPOOLSSといった多数のサービスを実装している。Samba TNGはモジュール化されているため、各サービスは容易にReactOSへと取り込むことができる。 ReactOSはWineプロジェクトと協力して活動しており、Wine上のWin32 API実装を活用して開発を進めている。依存しているレイヤーは、主にWineのDLLに関連しており、それらの多くはReactOSとWineで共通している。双方のプロジェクトは互いに互換性の問題解決に取り組んでいる。 ReactOSでは多言語対応の作業も行われているが、後述するように日本語環境は十分とは言えない状況である。 ReactOSはバージョン0.2.2より、UTF-16を適切に扱うことができるように改良された。 これにより、文字コードとしてUTF-16を用いたアプリケーションを動作させることが可能となった。 また、ハードコードされたメッセージをリソースファイルへと移す作業も行われ、OSに組み込まれているアプリケーションの多くは国際化されたメッセージを表示することができるようになっている。 0.2.7リリース以後に大半のリソースファイルにおいて翻訳の活動が行われた。 ロケールに日本語が指定されている場合、メッセージは日本語で表示される。しかし、新機能の追加などにより、翻訳が行われていない機能は英語で表示される。 バージョン0.3.10からは、「Systema Font」という日本語フォントが追加されたため、インストール時に日本語を選択すれば、日本語が表示できるようになった。 また、バージョン0.3.11からは、「Systema Font」から「Droid Sans Fallback」にフォントが変更され、中国語・韓国語の表示も可能になった。 2023年現在、Nightly Buildでは日本語入力機能が一部利用可能となっている（制約あり）。 ReactOS開発者の一人である片山博文MZは、2023年4月10日に自らのブログでReactOS Nightly Build上で自作のIMEによる日本語入力が可能になったと報告した。 なお片山によれば、これは古い世代の技術であるIMMによるものであり、より新しいText Services Framework(TSF)にはまだ対応していない。 [脚注の使い方] ^ “ReactOS Deutschland e.V”. 2021年7月11日閲覧。 ^ “ReactOS on GitHub”. 2021年4月15日閲覧。 ^ "ReactOS 0.4.14 released". ^ “Download | ReactOS Project”. www.reactos.org. 2021年4月15日閲覧。 ^ a b ReactOS - ReactOS Wiki、2021年4月15日閲覧。 ^ a b c “Vistaっぽい見た目”を実現したWindows互換OS「ReactOS 0.4.6」 - PC Watch、2018年9月25日閲覧。 ^ “FreeWin95 - ReactOS Wiki”. 2021年4月15日閲覧。 ^ “Download”. 2021年4月15日閲覧。 ^ “Tests for 0.4.13 - ReactOS Wiki”. 2021年4月15日閲覧。 ^ “ReactOS gets USB Stack, with Help from Us”. 2021年4月15日閲覧。 ^ “WINE - ReactOS”. 2013年7月6日閲覧。 ^ “ReactOS/History - ReactOS”. 2013年7月6日閲覧。 ^ a b c d “世界のOSたち - WindowsクローンOSを目指す「ReactOS」”. マイナビニュース (2012年1月31日). 2022年6月25日閲覧。 ^ “[ros-dev] Bye bye”. 2010年10月27日閲覧。 ^ “ReactOS Project Status”. Steven Edwards. 2006年1月26日閲覧。 ^ “Audit”. 2012年3月12日閲覧。 “So to finally clear everything up lets lay out all the facts: We are doing an audit already. To this day, no dirty code has been found. There is no Windows code in ReactOS. There never was. There was never such an accusation in the first place.” ^ “Reset, Reboot, Restart,legal issues and the long road to 0.3”. 2010年10月27日閲覧。 ^ [1][リンク切れ] ^ “ReactOS compatablity database”. 2011年2月26日閲覧。 ^ “File Systems - ReactOS Wiki”. 2021年4月15日閲覧。 ^ “「ReactOS 0.4.8」が公開、Windows 10アプリケーションもサポートへ” (2018年4月17日). 2021年4月15日閲覧。 ^ “「ReactOS 0.4.7」リリース、Ext2/3/4やBtrFSなどをサポート” (2017年12月7日). 2021年4月15日閲覧。 ^ 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日閲覧。 ^ ReactOSロードマップ ^ “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日閲覧。 ^ “Virtualization software”. ReactOS Website. 2019年3月8日閲覧。 ^ “Audit - ReactOS”. 2021年4月15日閲覧。 ^ “ReactOS gets USB Stack, with Help from Us”. Haiku (2012年2月20日). 2016年1月2日閲覧。 “The ReactOS and Haiku projects have had a friendly working relationship for several years now, with each group helping the other whenever possible.” ^ Vincent, Brian (2004年5月15日). “Interview with Steven Edwards”. winehq.com. 2016年1月6日閲覧。 “BV: Wine and ReactOS have had a mutually beneficial relationship. Is there anything Wine could do different that would help ReactOS development?[...] BV: You guys have certainly contributed a lot of your work back to Wine, including some of the utilities you've written. For instance, the task manager was recently ported from ReactOS. Do you guys have any plans in the works for developing more tools? Steven: I really want to see a solitaire clone make it in to Wine and ReactOS.[...] At some point we are going to have to develop replacement components for everything in Windows so if there is a program that Wine needs and ReactOS implements it then I will try to make sure it's released under a compatible license.” ^ Captive: NTFS Read/Write Filesystem Addon for Linux on OSNews（英語版） by Eugenia Loli "They are using WINE and ReactOS code to emulate parts of Windows environment needed to make the driver work." (4 December 2003) ^ Linux unified kernel 0.2.4.1 "The LUK project does not develop the Windows and the Linux userland libraries. Those libraries are offered by the Wine (or Microsoft Windows/ReactOS) project and the Linux project." ^ “Samba - ReactOS wiki”. ReactOS wiki. 2019年3月8日閲覧。 ^ “Arwinss presentation”. Aleksey Bragin. 2019年3月8日閲覧。 ^ “Who's Who”. Wine wiki. 2019年3月8日閲覧。 “Martin Fuchs Martin's primary focus of development is for the ReactOS team. As such, he's implemented much of the functionality of the ReactOS Explorer. In turn, that work required significant additions to Wine's shell32 DLL. In the past he's also contributed to Wine's Winefile application and various user interface things such as common controls.” ^ “ReactOS 0.2.9 released”. ReactOS. 2019年3月8日閲覧。 ^ “ChangeLog-0.3.11 - ReactOS Wiki”. reactos.org. 2023年5月12日閲覧。 ^ “ReactOSの日本語入力の現状2023-04-10”. 片山博文MZ. 2023年12月9日閲覧。 ウィキメディア・コモンズには、ReactOSに関連するカテゴリがあります。 関連ポータルのリンク ウィキポータル FLOSS WinFrame - Citrix社が開発していたWindowsクローン Windows NT Linspire Wine エミュレーション 公式ウェブサイト ReactOS Wiki - 公式Wiki （英語） 公式GitHubリポジトリ（英語） SourceForge.net の ReactOS プロジェクトのページ （英語） ReactOSまとめWiki（日本語）