ReactOS Being Rewritten, Gets Wine Infusion
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."
If it's based on Wine, why not just put their energy into Wine?
The world's burning. Moped Jesus spotted on I50. Details at 11.
Fortunately, the developers of GNU, Linux, Wine, Open Office, didn't feel that way.
Except you can actually use Vista...
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?
Of course, a lot of corporate IT projects fail, too. Software is hard. It's a wonder any of it works at all, sometimes.
It doesn't mean they're bad either. Or indifferent for that matter. Maybe if you had a crystal ball and could reliably foretell which projects will have have been important in five, ten or twenty years time, maybe then you could make that judgment. But without some sort of prescience it's impossible to make reliable judgments. That's why all those corporate projects flop; someone in authority makes a judgment about which strategy to pursue and in five years time one or more of their key assumptions is shown to be false and the software is rendered useless.
Of course, the same thing happens to free software projects as well. The difference however is that the Free Software developmental model tends to result in massive parallelism. Lots of projects fail, some are unexpected successes, and the successes aren't always the ones you'd expect. Think of it as a sort of software Darwinism: lots of projects die out, but the ones that thrive are well adapted to the needs of their userbase.
Looked at in that way, the lack of central direction in Free Software isn't the flaw that many perceive it to be. It is something to be celebrated.
Don't let THEM immanentize the Eschaton!
This is the same fallacy as the idea that if copyrighted materials could not be distributed illegally that all those people would buy it.
People who work on pet projects would not work on the more mainstream projects. This is easily demonstrated by the fact that they don't.
Because some people like the idea of FOSS. It took FreeDOS 5-8 years to fully clone 16bit MSDOS and then improve on it. Today there is a fully functioning alternative to DOS that is used extensively in the embedded space (particularly manufacturing subsystems where it's still common). By providing a fully functional clone of MS-DOS the FreeDOS people have removed the MS yoke from an entire sector of IT.
FreeDOS and ReactOS if it's successful are useful tools in dismantling the MS monopoly or making it more customer focused. Many of the DRM components in Vista and 7 wouldn't be possible if ReactOS was a fully working clone when Vista was announced. Now that MS has fully abandoned XP it gets even easier for ReactOS because they don't need to worry with MS coming in and rewriting a big chuck of win32 to obfuscate the development. ReactOS might just provide the necessary pressure for MS to dismantle the DRM subsystem in future versions of Windows if it begins gaining significant market share. This likely won't gain any traction in the retail market, but a successful implementation could destroy sales of MS licenses in the corporate climate, something MS would take very seriously as it accounts for most of the their windows income.
You never used iBCS under Linux I take it? I used to use it extensively to run SCO, and other Unix binaries, on Linux (back in the 2.1/2.2 Kernel Days -- maybe even earlier) and it worked GREAT! I ran many proprietary, binary-only, serious applications on Linux that were only for other Unixes.
Over-the-top Response Guy! Giving "Over-the-Top Responses" since 1970.
Not as bad as Windows driver support.
There are a handful of high profile things that do not have opensource Linux drivers. (NVidia video cards are probably going to get supported this year, despite the best efforts of NVidia.)
If you don't believe me, go check Balmer's quotes about Linux hardware support vs. windows hardware support.
Counter intutively, lack of a stable ABI has helped Linux develop the driver support that no other operating system is close to. If customers demand a Linux driver, it is so much harder to provide it as a binary instead of as source that the vast majority of the time the manufacturers either provide the source or documentation so the Linux community can create open source drivers, the net effect is that drivers for some specialized hardware is only available for Linux and DOS, there is also hardware that has Linux and Windows XP drivers, there is also hardware that only has Windows 7 and Linux drivers.
Work bio at MMWD
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.
You keep using that word, "solved." I do not think it means what you think it means.
If you mod me down, I shall become more powerful than you could possibly imagine.
It must really pain you guys that Windows is living proof that the Unix way isn't the only way, because you never have any actual arguments as to why it's inferior, just repeated assertions. Even those assertions are mostly laughable, since they apply to versions that are almost a decade old now.
Sorry for being realistic instead of religious with technology. Sorry that your preference isn't objectively the best. Sorry you get so worked up about it that you have to use hyperbole and bullshit to make your points. Sorry that you spend so much time screaming into an echo chamber to feel validated. It's a tough world out there when you can't face reality.
Following this kind of thinking, Linux or 386BSD would never have been written, as the Unix users of the past (mostly universities and big businesses) would have simply paid for a System V license and be done with it. It's exactly the spirit of challenge that has advanced the free Unices, and not just buying off-the-shelf licenses.
cpghost at Cordula's Web.
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 superficially a clone of Unix, and diverges from it in many places. It aims for POSIX compatibility, but that's all. Otherwise, it's forged its own path. It's also succeeded in being far more cross-platform than any other *NIX.
3) Wine is an attempt to make Windows binaries work in Linux by mapping system calls. That's a lot like emulation, and doesn't "clone" any particular product, and more than MAME attempts to clone arcade machines.
4) OpenOffice is an office suite. There's lots of office suites out there that are similar in many ways (after all, how different can a spreadsheet be?), but differ in others. OO.o never attempted to clone anything, just to work similarly to other extant Office suites. It also pioneered the use of XML file formats and especially ODF; commercial Office suites were late-comers to this idea.
There's a big difference between trying to make something which works similarly to, but better than (in the maker's opinion) something else on the market, and trying to make something that works exactly like and is completely compatible with something else. For instance, if I had endless free time to spend on a pet OSS project, I'd like to work on a PCB design program. I'd like to look at other commercial programs costing $10,000 per seat or whatever and see how they work, and maybe copy some of their ideas, but I certainly would not try to make an exact clone of any of them which was binary-compatible with its files. Instead, I'd make something that worked similarly, had many of the same features, maybe had some of my own features, etc. I might even try to provide features to import and export files to/from those other programs (all of them, not just one), in order to encourage migration. But I certainly wouldn't clone any particular one of them, especially if it had certain details that I didn't care for. In the end, I'd hope to have the best PCB design program available, and be recognized for that, not for making something that's just a knock-off of program XYZ.
Last night I was browsing the web on my Windows XP partition, which I usually use solely for gaming. It's completely up to date, and I'm running the RC of Firefox 3.6. I was viewing a web page and the browser crashed, and things started popping up, and my desktop wallpaper changed. It seems that Internet Security 2010 was silently installed on my PC through a buffer overflow in some Firefox module (I suspect an adobe plugin, but that's neither here nor there).
You want to know why *nix operating systems have inherently better architecture? You don't have to be an admin to use your computer, and userspace programs don't have the power to do to my PC what IS2010 did to me last night. Windows was always designed to be a single user system, and although that's improving, it's still obviously just stapled on top of the OS, because they don't want to break backward compatibility.
Another pet peeve of mine is Windows' driver support. It's atrocious. Answer me why I can't install Windows and have all my hardware just work? Linux is capable of doing this. But with Windows, I can't even expect my networking to work out of the box. I have to hunt for a driver CD and install the drivers from there. Granted, I'm talking about Windows XP, which is presumably the decade old OS you are talking about. But I've heard plenty of horror stories about Vista/7 from coworkers. (Primarily that even once the drivers are installed, the network is unreliable at best).
Last night I was browsing the web on my Windows XP partition, which I usually use solely for gaming. It's completely up to date, and I'm running the RC of Firefox 3.6. I was viewing a web page and the browser crashed, and things started popping up, and my desktop wallpaper changed. It seems that Internet Security 2010 was silently installed on my PC through a buffer overflow in some Firefox module (I suspect an adobe plugin, but that's neither here nor there).
So basically you're blaming Windows for a buffer overflow in a program written by an entirely different company?
You want to know why *nix operating systems have inherently better architecture? You don't have to be an admin to use your computer, and userspace programs don't have the power to do to my PC what IS2010 did to me last night. Windows was always designed to be a single user system, and although that's improving, it's still obviously just stapled on top of the OS, because they don't want to break backward compatibility.
It's been trivial to set up a reduced-priviledged account in Windows since Win2k. It's your own damn fault for using an admin account as your primary account.
Another pet peeve of mine is Windows' driver support. It's atrocious. Answer me why I can't install Windows and have all my hardware just work? Linux is capable of doing this. But with Windows, I can't even expect my networking to work out of the box. I have to hunt for a driver CD and install the drivers from there. Granted, I'm talking about Windows XP, which is presumably the decade old OS you are talking about.
So basically according to your last sentence your entire argument is flawed and disengenuous. You're comparing most likely a modern-day Linux distro to probably a vanilla XP install, which is 9 years old at this point. Yeah, that can't possibly be why you see poorer hardware support in the stock XP install. No, it couldn't be.
But I've heard plenty of horror stories about Vista/7 from coworkers. (Primarily that even once the drivers are installed, the network is unreliable at best).
Then the people you are working with are fucking idiots.
Comment removed based on user account deletion