Follow Slashdot stories on Twitter


Forgot your password?

ReactOS Being Rewritten, Gets Wine Infusion 387

Posted by ScuttleMonkey
from the try-try-again dept.
xlotlu writes "ReactOS was meant as a free and open-source operating system, binary-compatible with Microsoft Windows. But after 11 years in development it never reached a satisfactory level of usability. Due to lack of developers, reimplementing the Win32 subsystem proved to be a much too complex task, holding the project back. Given the deficiencies of the current implementation, developer Aleksey Bragin decided to rewrite it from scratch, drawing heavily from the Wine project. Bragin's announcement on the ReactOS mailing list makes a compelling argument for this decision."

ReactOS Being Rewritten, Gets Wine Infusion

Comments Filter:
  • Rewritten? (Score:5, Funny)

    by Idimmu Xul (204345) on Monday January 18, 2010 @03:16PM (#30811932) Homepage Journal

    Does that make ReactOS the Vista of the open source world?!!!

  • But it just seems like it would be really depressing to spend so much time essentially replicating a product that hundreds of paid developers already designed and published.
    • by Unoti (731964) on Monday January 18, 2010 @03:28PM (#30812078) Journal
      Fortunately, the developers of GNU, Linux, Wine, Open Office, didn't feel that way.
      • by selven (1556643)

        And Firefox. And Chrome after that, with strong open source competition already in place. It's always good to bring new ideas into the fray.

      • by Bicx (1042846)
        Ah, for sure. At any rate, it takes a developer with a lot of fortitude to complete such a task.
      • by mwvdlee (775178)

        Unfortunately, the developers of MS-Dos (CP/M) and Windows 3.1 (OS/2) also didn't feel that way.

      • by westlake (615356)


        It does however speed things along when the big corporation is willing to invest megabucks in a project like Firefox.

      • Re: (Score:3, Insightful)

        by Grishnakh (216268)

        None of those projects were "replications" like ReactOS aims to be.

        1) GNU: GNU's Not Unix. GNU started as a bunch of work-alikes to standard Unix tools, but added lots and lots of new features. Later, GNU got involved with the GCC project, which is now the standard C/C++ compiler for many, many people. No one else has ever made, or attempted to make, a C/C++ compiler that operates the same across a wide range of CPU architectures; mostly, compilers were made for only one architecture.

        2) Linux is only sup

  • by Monkeedude1212 (1560403) on Monday January 18, 2010 @03:24PM (#30812016) Journal


    That sounds familiar []

  • Misleading summary (Score:5, Interesting)

    by Fnkmaster (89084) on Monday January 18, 2010 @03:25PM (#30812032)

    If you read the actual post, what this guy is doing makes a lot of sense. He's not re-writing ReactOS from scratch, he's just taking the parts of ReactOS that have worked out reasonably well (the kernel, bootloader, etc.) and tossing the stuff that hasn't worked out so well (the Win32 API subsystem). It just so happens that another project, WINE, did a really impressive job at getting that Win32 API layer implemented, and rather than maintaining two completely independent versions of it, piggybacking off the WINE work should make ReactOS usable relatively soon, and able to run a large number of existing Win32 applications.

    Whether you think ReactOS is a sensible project or not, clearly some people think a complete, Open Source, Windows-compatible OS has some real value, and kudos to them for figuring out how to make that happen, or at least getting very close.

    • by JSBiff (87824) on Monday January 18, 2010 @03:42PM (#30812294) Journal

      I have a couple questions. . .

      * Why did it take them 11 years to figure out that there was a large degree of overlap between Wine and ReactOS and maybe they should leverage the Wine work?

      * How much overlap, really, is there? Wine, I believe, depends upon the presence of certain Posix system calls, X11, Alsa, etc? That is to say, largely, if I understand Wine correctly, it takes a Win32 API call and basically 'maps' it to the appropriate Posix and/or X11 API calls, and fixes up/converts parameters as necessary (in some cases, maybe 1 Win32 API call results in multiple 'native' API calls of functions with 'smaller' functionality that adds up to the Win32 API). However, the ReactOS people don't *have* a Posix kernel, X11, ALSA, etc underneath. This is kind of why I always figured there wasn't much interaction between Wine and ReactOS. How is it that they can get around this problem?

      • Re: (Score:2, Informative)

        by Anonymous Coward

        From the powerpoint presentation linked by TFA, Wine keeps all their X11-specific code in a module that is accessed by wrapper functions. The guy wrote his own module to make the wrapper functions work with ReactOS instead.

        • by Wumpus (9548) <> on Monday January 18, 2010 @05:06PM (#30813288)

          Wine didn't always have that separation between X and the Win32 API. It took quite some time for the project to reach the point where it would have been feasible to take just the Win32 specific parts and plug them into ReactOS. Specifically, 11 years ago it would have made a lot more sense to design things the way the ReactOS ended up implementing their Win32 layer rather than use use Wine's implementation.

          I've been following both projects for many years (since 1994 or so for Wine) and neither project made the colossal mistakes that people seem to think that they did - it may seem that way in hindsight, but given what was available at the time when the decisions were made, they made perfect sense.

          Wine won out in the marketplace because its design allowed it to get some applications running with relatively little work. Getting every last detail of the Windows platform implemented proved to be very difficult, though. ReactOS promised to offer a way to solve those last niggly details relatively easily, but the need to solve them was pushed so far into the future that nobody found the idea all that exciting. Plus, just getting a usable desktop environment running with ReactOS proved to be a massive undertaking, one that the Wine project didn't have to tackle at all. Add to that the work needed to write drivers for real hardware, a minimal set of tools that you'd need to run ReactOS as your OS, and probably a few hundreds of really important pieces that you would need to get anything done with it, and you're looking at a huge amount of work.

          Even if ReactOS never ends up as a viable desktop OS, I can see a possible future for it as the Windows NT replacement of choice for embedded systems, similar to what FreeDOS ended up.

      • Re: (Score:2, Funny)

        by sbalneav (464064)

        .... How is it that they can get around this problem?

        #ifdef POSIX
        #elif REACTOS

        Not too hard.

      • by Zerth (26112)

        It took 11 years before Wine got far enough along that it was so much less effort to convert Wine instead of write their own, that they could mentally justify scrapping their own code.

        People frequently have a problem writing off with sunk costs.

      • by nschubach (922175)

        A quick search gives me:

        There are many levels of POSIX compliance ranging from POSIX.0 to POSIX.12. These levels represent an evolving set of proposals, not all of which have been ratified as standards.

        The POSIX subsystem in Windows NT is POSIX.1 compliant. POSIX.1 compliance requires a bare minimum of services, which are provided by Windows NT. When a POSIX application runs on Windows NT, the POSIX subsystem is loaded and it translates the C language API calls— for POSIX.1 support— Win32 API calls, which are then serviced by the Win32 subsystem. []

        Though I'm not sure of the validity of that today considering it's last modification date was: Tuesday, March 24, 1998

        But it maybe points to the level at which he wants to build from? (really, I'm just pulling stuff from thin air on this because I never really got around to reading up on Posix compliance. I just kind of knew Windows had minimal support already.)

      • I've been following this project for a long time and I'm not sure if this is still on the site or not, but back near the beginning of the project they looked at using the Win32 subsystem that was in Wine. At the time it was very basic, directly hooked into X and was using many hacks and things that made the use of the Wine code unfeasible. In about a month ReactOS had a better Win32 subsystem than Wine did.

        At some point a group of developers working on the Wine project decided to toss the old Win32 implem
    • Maybe they can run Mono on it and have a big ol' circle jerk :-)

    • by starbugs (1670420) on Monday January 18, 2010 @04:25PM (#30812778)

      Clearly some people think a complete, Open Source, Windows-compatible OS has some real value.

      I use ReactOS to test some MinGW [] - based programs I write for windows.
      I find the EULA for Windows unacceptable [].
      But I still want my software to run on it.

  • Re-reactOS? (Score:5, Funny)

    by davidwr (791652) on Monday January 18, 2010 @03:26PM (#30812056) Homepage Journal

    Maybe they should rename it?



  • In the private sector, he'd get fired by his boss for trying to do the right thing and not just kludging in another feature and shipping.
    In the OSS world, he will (hopefully) persevere and be proven right a thousand times over!
    That's it!!! Vindicate me, baby!

  • ha (Score:5, Funny)

    by nomadic (141991) <> on Monday January 18, 2010 @03:46PM (#30812338) Homepage

    Wait, ReactOS or Wine?
