{"id":220,"date":"2006-07-13T12:57:08","date_gmt":"2006-07-13T12:57:08","guid":{"rendered":"http:\/\/neosmart.net\/blog\/archives\/220"},"modified":"2014-02-06T16:04:48","modified_gmt":"2014-02-06T22:04:48","slug":"reactos-the-next-windows","status":"publish","type":"post","link":"https:\/\/neosmart.net\/blog\/reactos-the-next-windows\/","title":{"rendered":"ReactOS Reviewed: The Next Windows?"},"content":{"rendered":"<p><img class=\"colorbox-220\"  decoding=\"async\" src=\"\/blog\/wp-content\/uploads\/4110047541_bc115e4c4b_m.jpg\" border=\"0\" alt=\"\" hspace=\"0\" align=\"left\" \/><\/p>\n<p>The idea is simple: Linux isn\u2019t always the best non-Windows operating system. Windows <em>is<\/em> excellent and unbeatable for quite a few people and tasks. But neither is perfect. Almost exactly 10 years ago, a team began to search for a fix. In 1996, Linux was unusable for anyone but the most technologically \u2018gifted\u2019 and Windows 95 wasn\u2019t anywhere near as complex as Windows today.<\/p>\n<p>Originally called FreeWin95, the project had a decent idea, but terribly organized, implemented, and coded. Two years later, the dos-clone kernel was dumped, and the real project began. It was called ReactOS, and this time it was for real.<\/p>\n<p><a title=\"ReactOS home\" href=\"http:\/\/www.reactos.org\/\" rel=\"follow\">ReactOS<\/a> is a 100% Open Source (mostly GPL) rewrite of the Windows Kernel. At its heart, ReactOS is an initiative to create an open-source project that is fully compatible with the <em>all<\/em> Windows NT-based drivers, applications, and services.<\/p>\n<p><!--more--><\/p>\n<p>ReactOS is a project intended to bring together the power of open-source, the usability of Microsoft\u2019s Windows, and most importantly the immense driver and application database available to Windows users into one operating system that can distributed free of charge and licensed at will. ReactOS is a true community-driven initiative to make a better operating system, and it strikes at the heart of the corporate OS world by appealing directly to the users of Windows, theoretically providing the very things that Microsoft advertises Windows as being excellent for \u2013 without the price tag and with greater flexibility.<\/p>\n<p>But ReactOS is much more than just a GPL Windows-Clone. Rather, ReactOS takes the Windows code a step further by stripping it down to the bare minimum \u2013 leaving a kernel that is (supposedly) fast, light, clean, and powerful with a more stable user interface with greater flexibility where implementation is concerned.<\/p>\n<p>This review of ReactOS will not revolve as much around usability, stability, or features as much as it does on the core concept and the development cycle. You can see NeoSmart Technologies\u2019 <a title=\"ROS Screenshots\" href=\"http:\/\/neosmart.net\/gallery\/album\/view\/os\/ROS\/\" rel=\"follow\">ReactOS Screenshot Tour<\/a> for a quick look at what there is to see.<\/p>\n<p><strong>The Kernel<\/strong><\/p>\n<p>At heart, any operating system is no more powerful or useful than its kernel allows it to be. The ReactOS kernel is the most integral part of the entire project, and it is a testimony to years of dedicated clean room design, with years of reverse engineering and code-from-scratch going to work.<\/p>\n<p>The \u2018goal\u2019 for ReactOS\u2019 final kernel is to <em>be<\/em> the Windows kernel, but with new source. This at once poses a great challenge and with it though a rather large inhibition. When a kernel for any OS is designed, generally the entire thing is completed to a limited extent, then one bit at a time, the code is perfected and the features are finished. But when you set off with a goal to mimic the features of an existing kernel and provide complete cross-compatibility, you have a problem.<\/p>\n<p>ReactOS\u2019 biggest goal, the ability to run any native Windows application on a ReactOS kernel without any loss of functionality or experience, is solely dependant on just how much of the respective kernel code has been completed. As such, ReactOS isn\u2019t designed according to traditional means.<\/p>\n<p>At the moment, ReactOS development seems to involve coding the kernel section-by-section, one stack at a time. Until a \u2018section\u2019 of the kernel is practically\u00a0feature-complete &amp; fully compatible, the rest of the kernel will, in a word, suffer. Obviously there are different teams focus on the various components of the ROS kernel, but nevertheless, it poses a serious problem for the OS as a whole until all sections are complete.<\/p>\n<p>What this means for users is that a program that uses just the supported sections of code (heavily or lightly) may work great, but the rest of the Operating System will lack quite a lot of functionality, and often crashes when trying to do something that hasn\u2019t been fully coded.<\/p>\n<p>Following the Windows model, ReactOS uses\u00a0a monolithic kernel (technically it\u2019s a \u2018hybrid kernel\u2019 but that\u2019s marketing BS. A hybrid kernel is either a microkernel or monolithic kernel under a different name).\u00a0There is no need to get into yet another \u00b5kernel vs. monolithic kernel debate here, it will suffice to say that even with its monolithic kernel, the ROS core is the fastest we have seen to date, compared to Linux, Windows, and far out-performs Macintosh\u2019s (\u201chybrid\u201d) microkernel architecture.<\/p>\n<p>The kernel borrows quite a lot of code from the WINE project, and implements it rather nicely. The ROS source code is well-written and not as confusing as many other lesser projects \u2013 and from there we were able to see how the WINE code was implemented and improved, and it all looks great.<\/p>\n<p><strong>The Interface<\/strong><\/p>\n<p>ReactOS looks a lot like Windows 2000. It has (more or less) the same theme, but with better looking icons and cursors taken from Linux. But obviously that\u2019s not all what goes into a user interface. As far as the core UI model goes, ReactOS attempts to mimic all the finer points of the Windows UI, doing a fairly good job for the most part.<\/p>\n<p>As already mentioned, it looks reminiscent of Windows 2000, but it behaves a lot like it too. On boot it starts up with <a href=\"http:\/\/neosmart.net\/gallery\/photo\/view\/os\/ROS\/ROS+Desktop\/o\/\" rel=\"follow\">ROS desktop<\/a> which shares the exact same functionality. It has a start menu and context menus exactly the same way Windows does \u2013 no surprises there.<\/p>\n<p>We hinted earlier that ReactOS wouldn\u2019t be graded according to our normal Operating System review scale, instead ReactOS is being scored based on the rubric it provided. In particular, ReactOS\u2019 goal is to look and act just like Windows, and as far as that is concerned it has done a good job. ReactOS has context menus exactly where you would expect them to be, with the same exact options as those on Windows \u2013 just not all of them have anything on them yet.<\/p>\n<p>Using ReactOS was a breeze, and once it\u2019s complete we believe a normal non-geek user would be very hard-pressed to realize that it\u2019s not Windows (\u201c<em>I can\u2019t believe it\u2019s not butter!\u201d<\/em> comes to mind). At most, the ReactOS scheme &amp; layout is a heavily simplified and skinned version of Windows 2000\u2019s superb layout (which was unduly bloated in Windows XP, then mutilated and buried with Vista). It provides a familiar haven for Windows users, and perfectly copies both the layout and design of Windows.<\/p>\n<p>The ReactOS interface does have some differences from the standard Windows 2000 look \u2013 and they\u2019re good signs that have implications that run quite deep. In several places\u00a0the ReactOS developers have elected to make minor changes to the UI, such as changing the default font from a serif to sans-serif font, adding a button to do\u00a0a function here and there, and over-all cleaning up the display.<\/p>\n<p>What this means is that the ROS developers refuse to be entirely limited by what\u2019s already there in Windows, and are willing to (even if to a very minor extent) improvise and innovate on their own. It means that ReactOS could very possibly be <em>more<\/em> than just a Windows-clone \u2013 it could actually be a 100% Windows-Compatible operating system with quite a bit more on the side to offer. It\u2019s to early to tell now, but the user interface does seem to be heading in the right direction.<\/p>\n<p><strong>Networking<\/strong><\/p>\n<p>The TCP\/IP stack is one of the most incomplete sections of ReactOS, seeing as most traditional applications are far from being network-aware, it seems that the ROS developers decided to (for now) only do the core requirements as needed to surf the internet and download a couple of files.<\/p>\n<p>The TCP\/IP stack where implemented is very inefficient, and could do with a large amount of tweaking, but all that comes later. Unfortunately, it can\u2019t handle much of a load, and times out on the simplest of requests. ReactOS\u2019 road-map for 1.0 contains a complete networking stack that theoretically includes support for both server- and client-side networking such as the establishing ad-hoc (workgroup) connections and joining a Windows Server 2003 domain.<\/p>\n<p>From the ROS project community site and what we\u2019ve seen in the source code, ReactOS\u2019 network code is coming along fine, all it needs is more time and a bit more effort, but it hasn\u2019t been hurried through nor improperly done \u2013 it will work soon enough.<\/p>\n<p>At the moment ReactOS ships with only one browser: IBrowser, the ReactOS Internet Browser. It features code even more decrepit than that of IE5 or even IE4, but it seems that IBrowser is only there as proof of concept. The start menu offers\u00a0a link to download and install Firefox, but the first 4 times we used it the connection would break or the data would be corrupt.<\/p>\n<p>It turns out IBrowser has decent FTP capabilities, and we were able to FTP into local application FTP repository, and grab Bon Echo and Firefox 1.5 to the desktop.\u00a0Firefox 1.5 installed great, and it starts up OK. As previously mentioned though, TCP communications are terribly slow and unreliable, taking several tries to get a webpage to load, and although we\u2019re on broadband, it was no faster than 1 kbps at its fastest.<\/p>\n<p>On the whole, ReactOS\u2019 has a nice game-plan for the networking section, it just hasn\u2019t kicked in yet. Once a stable release with a better networking stack is implemented you can be sure we\u2019ll revisit our review and tell you what\u2019s changed, but for now, steer clear of networking.<\/p>\n<p><strong>Compatibility<\/strong><\/p>\n<p>Seeing as ReactOS\u2019 biggest sales point is complete and unlimited non-emulated support without emulation for\u00a0all PC-compatible software, it only makes sense that it gets a section of its own. This is ReactOS\u2019 biggest challenge.<\/p>\n<p>For any other operating system, the software developers write the software to match the OS \u2013 any improper code or lack of functionality is entirely the developers\u2019 fault. But with ReactOS, the tables are turned. ReactOS developers have the programs and they have to make them work.<\/p>\n<p>The ReactOS kernel borrows heavily from the <abbr title=\"Wine is not an Emulator\">WINE project<\/abbr>, and both projects have a very close &amp; symbiotic relationship, borrowing and improving on one-another\u2019s code to achieve true Windows compatibility. Wine is not an emulator. It isn\u2019t. It\u2019s a compatibility layer. Applications will run at full speed under WINE, and require nothing else.<\/p>\n<p>Basically the compatibility layer used in ReactOS and the WINE project \u2018intercepts\u2019 calls to certain low-level operating system functions, and replaces them with its own calls that are compatible with the operating system and accomplish whatever it is that was supposed to natively. Technically speaking, any programs that run on Linux with WINE should run just as well on ReactOS, however there are quite a few exceptions.<\/p>\n<p>But ReactOS is a lot more than Linux that looks like Windows and was compiled with WINE in the kernel. ReactOS <em>is<\/em> WINE. Since early 2006, WINE now runs a large percentage of standard Windows programs under fairly stable circumstances, including Microsoft Office, most productivity applications\/suites, and several games. As of the time this article was published, ReactOS maintains <a title=\"ReactOS Compatibility Database\" href=\"http:\/\/www.reactos.org\/errors\/404.html\" rel=\"follow\">\u2018CompDB,\u2019<\/a> its database of verified working programs on ReactOS.<\/p>\n<p>Besides the standard programs run under the same context as WINE on Linux, ReactOS goes even further by aiming complete compatibility with Windows drivers and services. Most <em>simple<\/em> drivers will install without a hitch on ReactOS; including LAN network drivers, AC &#8217;97 audio drivers, mice, keyboards, and more. Basically any drivers that come in a single INF file and don\u2019t rely on accompanying services or applications to run seem to work great, with minimal trouble.<\/p>\n<p>At the moment it seems that ReactOS\u2019 biggest obstacle is the cross-compatibility with Windows. As an operating system it is moving along great and at a decent pace, covering ground well and reliably. But much of its compatibility relies on the WINE project \u2013 meaning that both projects will float or sink together. Unfortunately, development, milestones, and general success in the WINE project isn\u2019t often, and it has a very long way to go before it can reach anywhere near the amount of compatibility required for ReactOS to reach beta stage.<\/p>\n<p><strong>Conclusion<\/strong><\/p>\n<p>ReactOS is a brilliant idea at heart, and it has come a long way in the past couple of years. It is integral for there to be more than one choice for alternate operating systems, since Windows isn\u2019t the best and Linux isn\u2019t for everyone.<\/p>\n<p>In a sense, ReactOS isn\u2019t an alternate operating system, it\u2019s Windows under another name and brand new source code to match, but at the end of the day, ReactOS is big proof that Linux and Windows aren\u2019t the only choices for desktop PCs, and that there is always room for more innovation. All it takes is a bit of effort.<\/p>\n<p>What\u2019s ironic is that ReactOS is now taking the same path the technological community hoped Windows 2000 would. When Microsoft released Windows 2000, it truly was a break-through operating system, and brought desktop computing to a whole new level. At the end of its run and before the release of Windows XP, the technological community expected another version of Windows that would keep the speed and lightness of Windows 2000, but add touch-ups to the layout, provide better and more powerful system management tools, and provide a better overall experience.<\/p>\n<p>At the moment, ReactOS is not to be considered an operating system in its own right. As explained, the development cycle of ReactOS doesn\u2019t allow for it to be used properly until all development is more-or-less complete. As such, it\u2019s hard for anyone to use it as a real alternative operating system just yet, making it even difficult to review it under the same circumstances and conditions as any other operating system would be reviewed; but where development is strong ReactOS is doing great.<\/p>\n<p>Windows XP may not have been that operating system, but ReactOS is poised to steal that light if it can get it\u2019s compatibility layer fixed and it\u2019s development times cut down enough so that it isn\u2019t released along with Duke Nukem Forever. We wish the ReactOS team the best of luck, look forward to new features and greater compatibility in releases to come.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The idea is simple: Linux isn\u2019t always the best non-Windows operating system. Windows is excellent and unbeatable for quite a few people and tasks. But neither is perfect. Almost exactly 10 years ago, a team began to search for a &hellip; <a href=\"https:\/\/neosmart.net\/blog\/reactos-the-next-windows\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[106,204],"class_list":["post-220","post","type-post","status-publish","format-standard","hentry","category-software","tag-operating-systems","tag-reactos"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p4xDa-3y","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/posts\/220","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/comments?post=220"}],"version-history":[{"count":4,"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/posts\/220\/revisions"}],"predecessor-version":[{"id":3035,"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/posts\/220\/revisions\/3035"}],"wp:attachment":[{"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/media?parent=220"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/categories?post=220"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/tags?post=220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}