Posted
by
ScuttleMonkey
on Monday January 18, 2010 @03:12PM
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."

but you certainly can't run any kind of OS on a PIC. Depends which pic and on your deinfition of OS;).

There's two kinds of embedded platforms: those with an OS, and those without.IMO it's more of a continum. going from low end to high end

* chips (e.g. the really small pics) with so little resources that you are almost certain to be programming them in assembler and you are going to be counting bytes of that precious data memory.* chips (e.g. the larger 8-bit pics) that are big enough to handle a reasonble

People are making their code available for free. Knock what they work on all you like but this isn't a corporation with an agenda. Much FOSS software is a labor of love, not a labor for a paycheck. But I can guarantee you could have a say in how things work out if you are willing to pay the salary of some developers. Otherwise the companies that do will get the selection in what's improved and those that aren't paid will work on what they want.

OS X (NeXTStep) has always been built on Mach. It is not like they took classic MacOS and gave it a new UNIX kernel/subsystem.

What Apple did would be more like Microsoft buying out RedHat, giving Gnome a facelift to look more like Windows 7, and adding in some compatibility layers to make the transition from Windows to Linux easier for developers.

Congratulation, you managed to write a multi level wrong post, but let me elaborate a bit on your claims..

Let's start with '..Linux fanbois..': obviously you did not realize, but most folks here are not really 'fanbois'. They just like to work with Linux and are very agitated that they are force to use Windows at one or the other place. That leads to statements that might sound a bit exaggerated, but the environment is forcing many to do this, it's a natural defence mechanism, not fanboism, which has more characteristics of a cult.

'..Linus.. grip.. saves Linux": Linux is a great guy and he moved a lot of things in the OS world, but if he would be miraculously gone, Linux would not loose much of it's traction. It would restructure, but it would not go away, or even slow down for that matter - maybe even gain traction - no one knows for sure. A lot of folks have major interest in that project already (Among them the companies that build every high end computer cluster on this planet. Also some that build the most complex electronics on this planet or do the most known web technologies on the planet.. and many more including a lot of hardware vendors).

'..too many sub-specialized distributions.': Linux is about freedom. Freedom to do whatever the developers want, and they want many different things. There are good mainstream distros, good live and forensic distros, good learning and do-it-yourself distros, music and movie editing distros and the heck knows what else. But most of them are very useful to *someone*, and that's why they are developed, and done the way they are. Why should a music enthusiast work on a forensic distro? That's not what freedom is about.

'.. focused..all 3 areas.. more BS..': I assure you, there are much more 'areas', as described in the paragraph above, but leaving that aside, why on earth would it be good to completely unify the whole platform and make it a crufty beast that can do a lot of things bad and nothing really good?? Why would it be good if Linux/OSS would merge into a monoculture?? It would increase attack surface in both, political and technical sense, rob a lot of freedom, , and make a lot of people very sad pandas. Competition and diversity is good. Open interfaces are the things that matter. To be able to put together the puzzle of components the way you'd like them is power. I personally don't really want to 'Imagine' your proposal. It's a good description of a nightmare.

'..MS would ditch their kernel and slap their OS on top of.. Linux..': Now, which planet are you from again? I mean, most of us are no lawyers, but there is a little difference between BSD license and GNU license. Neither of the mentioned companies would touch GNU licensed software even with a nine meter (long) stick, because they can't claim the result for themselves, and only themselves. It's written that they have to give back to what they have taken from, which fundamentally collides with their philosophy. Anyway, Microsoft is not in the business of making compatible, good software. They are in the business of screwing over everyone by locking them into their platform (preferably without noticing). Most of that is done by marketing and market subverting.

'..would have a better chance to finally shut Apple up..': You really think MSFT is concerned much about Apple? Well, sorry to disappoint you, but they are not. They can categorize Apple and fight with them on similar principles. Sure, Apple is inconvenient some times, but they are not aiming to shut them down. And Apple is probably useful in anti-trust suits '..but we are not the only ones here'. They can't get a grip on Linux though, and they are scared like shit about that. Linux is not something they can stop. It's not going away. It's already much superior for a very large set of tasks.. The only thing they managed is to keep it at some distance from technically low potential folks. They are loosing ground though, which is why they are getting so desperate.

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.

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.

* 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?

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.

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.

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

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!

Because some people actaully want Windows without the Microsoft licensing. Wine running on *nix or Mac will always be a different experience. Filesystems are laied out differently, permissions work differently, desktops integration works differently, the UI of the system around the windows apps is different. It won't ever offer the *same* user experience and its not enteded to do so.

ReactOs on the other hand could feel much more Windows like if implemented in a complete way.

Filesystems are laied out differently, permissions work differently, desktops integration works differently, the UI of the system around the windows apps is different. It won't ever offer the *same* user experience and its not enteded to do so.

I agree completely with you, but I think this is the best reason for joining Wine instead of trying to create a whole new OS.

I started working with Linux in 1995 and have almost completely abandoned Windows since 2000 or so. However, I still have to do some occasional

Plus you are limited to 26 different filesystems, one for each alphabet letter. And you cannot use a name for mount points, just one letter.

That’s not true anymore. I can mount stuff wherever I want, and it works just fine in XP. But at least one can keep one’s home directory, or the temp directory, on a different partition. Which helps a lot. (Yes, you can also change them in the registry. But some applications ignore that, and then you got a mess.)I even have softlinks and hardlinks under NTFS. (With additional tools as the UI, but the support being in NTFS.)

Of course that still is a long way from being even in the same class an L

I started working with Linux in 1995 and have almost completely abandoned Windows since 2000 or so. However, I still have to do some occasional work in Windows, and I always feel how painful and difficult it is compared to a Unix-like system.

Too bad you left Windows just when it got good.

And how about filesystems? The simple fact that the directory separator is the backslash, which is used as the escape sequence initiator in C-like languages, is a PITA. Plus you are limited to 26 different filesystems, one for each alphabet letter. And you cannot use a name for mount points, just one letter.

Actually, NTFS has allowed you to mount to directories for a decade or so now. That provides for more than 26 filesystems and also for nice names. As for backslash, yes it's an escape character in C languages. Linux uses forward slash, which is the default delimiter for regular expressions. Which gets used more often?

I could go on and on, for any professional systems administrator, Unix is far superior to Windows, there is no doubt about that. It's only for home computers that familiarity is a convenience, professionals can be readily trained to use a system that's intrinsically easier to use.

Wait, you're a professional system administrator? Maybe you should learn something about the systems you administer. As it is, I can't imagine you

You don't have to use / when defining a regular expression in sed or perl (and maybe others as well), but you do have to escape \ in C/C++, perl, bash, make, python (unless using raw string literals) and others.

I can feel your point, but Windows feels like that on the surface because of a very well engendered Microsoft principle--backward compatibility.

The command interpreter that was command.com from the DOS era was integrated into NT5+ as cmd.exe, which many of us know, love, hate, and have thanked for allowing us to continue to run.bat files well into 2010 (even though we really, really should have taken the time to master VBScript). Meanwhile, the more powerful, flexible, and truly modern evolution of that archaic CLI comes in the form of PowerShell, which gives you that bash-like capability and power contained in a CLI that was designed specifically for the Windows platform.

The primary method to access a partition in windows is certainly via a drive letter, but if you do manage to go past 26 partitions, you'll get "A-A:," A-B:," and so on. Still, you can actually access these volumes in a more "modern" fashion by using their volume names directly (e.g. \\?\Volume{volume-guid-goes-here}) and not just the mount points they've been exposed on, or you could always expose the same volumes as a folder on an already mounted NTFS volume as well.

The thing is that many of the gripes more technical folks have had about Windows over the last decade have been solved in one way or another, but the problem is that since all of the old methods continue to work, there's little to no incentive for users (including systems admins, IT pros, programmers, and so on) to change our behavior, especially when we already know how to solve a given problem, irrespective of whether or not our chosen method is actually the most elegant solution.

I have to admit though, if I hadn't been forced to manipulate Linux based OS's in the ways that are required to get work done, particularly with respect to volume management, I probably wouldn't know about any of this stuff in Windows in the first place:P

"The primary method to access a partition in windows is certainly via a drive letter, but if you do manage to go past 26 partitions, you'll get "A-A:," A-B:," and so on... The thing is that many of the gripes more technical folks have had about Windows over the last decade have been solved in one way or another..."

You keep using that word, "solved." I do not think it means what you think it means.

Plus you are limited to 26 different filesystems, one for each alphabet letter. And you cannot use a name for mount points, just one letter.

This hasn't been true since Windows 2000 (due to changes introduced in NTFS 5.0). You can mount a drive to a folder on an existing mounted file system through a process called Volume Mount Point [wikipedia.org].

Works just like Linux. Granted it's a little more buried to find out how to do it than in Linux, but not that much.

Yes they exist and they work in a similar fashion to UNIX mounts... but they're not universally supported, unlike every UNIX filesystem I've ever used. Most people using mount points won't run into the flaws, but there are a whole bunch of utilities that have had a spotted history with them; for instance in NT 5.x, the recycle bin is completely unaware of mount points, so host soft-delete files on a mounted NTFS volume and they become hard deleted. Similarly, before we switched to a SAN we used DAS on a bun

Telnet gets used for things other than remote terminal sessions. Given that it used to be on every Windows box from NT 3.51 on, it was often used as a poor man's netcat. How do you do that with ssh, and how do you do it with a clean install of Windows?

Because some people actaully want Windows without the Microsoft licensing. Wine running on *nix or Mac will always be a different experience. Filesystems are laied out differently, permissions work differently, desktops integration works differently, the UI of the system around the windows apps is different.

Any of that could be handled by a motivated distribution maintainer. That is to say it would be quite possible (and not prohibitively difficult) to build a Linux distro around Wine that would act very much like Windows. Don't like Unix permissions? Well, modern Linux has ACLs much like the ones on Windows. Don't like the Linux UIs in which Wine would ordinarily run? Don't use 'em. Don't like the filesystem layout? Don't use it. There is nothing about Linux or Unix that requires you to use that tradi

The poster did not question his freedom to do so. He asked _why_ he would contribute to one particular project rather than another project. Your reply did not answer the question that was asked.

Slashdot moderators will give you +1 Informative for defending someone's freedom, but since they didn't attack his freedom you failed to answer the question. Wine and ReactOS are both free. So in neither case is he getting paid, and in neither case is anyone's freedom limited.

The question was: Why wouldn't Aleksey Bragin put his energies into working on Wine instead of ReactOS?

I would suggest that what Bragin has in mind, as described by the summary and article, is a full open source operating system that would be "binary compatible" with Windows. He is "drawing heavily from Wine" in re-writing ReactOS, which had never reached fruition in the past.

There's a big difference between an Windows-compatible opensource OS and Wine. I can imagine a lot of people who have rejected the notion of installing another open source OS and then installing Wine in order to run Windows programs would be more interested in an OS that just ran Windows programs. For the casual user, installing Linux and then configuring Wine in order to run their Windows programs is not trivial. Imagine just having to install Ubuntu and then being able to install and run your Windows programs on top of it. That would seriously shake up the OS landscape, no?

I have no idea whether or not Bragin will be able to pull this off. I can imagine the obstacles are nearly insurmountable. But if he manages to do it, it'll change the world for a lot of personal computer users who are not fully satisfied with the current OS offerings.

Agreed. Also, a lot of businesses have, for instance, expensive equipment that require old versions of windows to drive them. I'd much rather install a shiny new ReactOS on a new workstation and have active support forums than try to get the control software working in wine on Ubuntu. A lot of us want as few layers of kludge as possible in work environments, where hacking cannot always be easily duplicated by the next guy.

ReactOS used to "draw heavily from wine". However at the time ReactOS started wine wasn't as well structured or functionally complete as it is today. This lead to ReactOS needing to heavily modify or rewrite huge sections of wine's codebase. This project is a restart of that code with a much cleaner separation now that both projects have matured somewhat.

Why has not one of the highly-rated comments addressed the most important point thus far? One of the critical features of ReactOS is not that it runs Win32 programs (which most operating systems can do to a reasonable degree via wine) but that it runs NT drivers. This is a huge deal: you get full hardware compatibility with anything that has a driver for Windows, which means pretty nearly anything at all. Consider, for example, ndiswrapper (Linux kernel module that provides an NT5 Network Driver Interface for the Linux kernel); with ndiswrapper you can use most network devices in Linux even if there's no native driver, because you can just download a driver intended for XP and it works fine.

Now, take that same idea, and extend it to every driver, 100% compatiblity. It's not Linux underneath, of course - the driver stack has to be engineered for exact NT compatibility and who knows where they'll get their scheduler or memory manager from - but it's a completely open-source operating system that can run any Win32 program or any NT driver. In fact, if they implement the alternate subsystems (Win32 is a subsystem on top of NT, but there are others) you could get (for example) a Linux-compatible API on top of NT and run the best of both worlds (there actually already is a POSIX subsystem for NT, which I use to run bash, ssh, subversion, and more from within Win7).

If they don't like the way Windows works, they'll use Mac OS X or Linux. If they DO like the way Windows works (as hard to imagine as that is), why on earth would they want a cheap clone, when you can just buy the real thing? Windows isn't that expensive

There are other reasons besides cost to object to a particular product. I don't like giving my money to the maker of an operating system that puts the preferences of the biggest media companies before the preferences of their users. Both Windows and OSX are

In the "underdeveloped world", where people struggle to find water, they certainly don't give two shits about copyrights or IP laws. That's why Windows is so popular in China and India: they don't pay for it there! They just buy it on DVD for $1 (obviously not an official copy), or download it. That's why FOSS and especially Linux haven't caught on in developing countries the way many advocates thought they would.

Only in America do you have to worry about the BSA busting into your business and auditing a

reactos was aimed to full binary compatibility, including device drivers and other stuff, so that for example dx would directly talk with the video driver without requiring the opengl translation performed by wine

The poster did not question his freedom to do so. He asked _why_ he would contribute to one particular project rather than another project. Your reply did not answer the question that was asked.

Yes, it did. The answer is, "because he wants to." No other answer is required.

This is a guy working on something out of passion, not because he's getting paid to do so. The question you need to answer is "what would motivate him to work for the wine project if his passion lies with the ReactOS project?" You can't just expect him to up and start contributing his free time to something else just because you think it's a more efficient use of said time. It's his time to use in whatever manner he wants to

Nevertheless, I think it's not unreasonable, conversationally, to call into question whether what he's doing is really sensible.

It's perfectly reasonable to have a conversation as to whether or not ReactOS is a sensible project, in the sense of whether or not you think it would be useful to anyone. What is not reasonable to do is claim that this developer in particular should go out and do something else in his free time because this something else would be more useful to the population at large.

I do plenty of things with me free time that is not useful to absolutely anyone. I watch movies, I play video games. What you're doing is akin to saying, "you shouldn't be watching movies, you should be reading up some technical manuals that would increase your skillset and make you more useful to your employer. Sure, we can both agree that would be a more productive use of my time, but that does not mean in any way that we agree that's what I *should* be doing with my time. My goal for my time does not match yours, and I'd rather just watch my damn movie.

To me, it's not. I can't think of something I'd personally be less interested in than running a clone of MS Windows.

Good for you. I even agree with that statement. It's just not relevant to the original statement which said this guy "*should* just start working on WINE." That's not how your free time projects work. You don't do the most productive thing, or the more efficient thing, or what helps the most people. None of that is relevant at all. You do what you want to do, because it's what you want to do. He sees some value in ReactOS we don't and that's what matters.

Seriously, if you want to ask the question, "why would anyone use ReactOS," which appears to be the question you're really interested in, go ahead. It's a good question, might get some interesting answers. Implying the developer should go do something else for free just because it'd be more useful to us is just selfish. Why should he care which project benefits us more?

And that, folks, is why so many open-source projects never get finished, or improved.

Of course, a lot of corporate IT projects fail, too. Software is hard. It's a wonder any of it works at all, sometimes.

He *should* just start working on WINE. Just because he can do whatever he wants, doesn't meant that his choices are good.

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.

What if he sees a problem with Wine that he feels can be worked around while still utilizing most of the code from Wine as well as ReactOS?

From reading the PDF it looks like he wants to split Win32 specific libraries out and leave the machine specific stuff as interfaces to the Win32 environment. IE: he wants to cut Wine's arms and legs and deal with the core and make it as cross platform as possible using "interface wrappers" to deal with the individual OS kernels and GUIs... at least that's the quick cur

And that, folks, is why so many open-source projects never get finished, or improved.

Indeed, but it is also why practically all successful open source projects are successful: because the core people are passionate about their pet project and care about it.

I mean, to take your rational thinking to the extreme, there should be just one open source OS, one open source office suite, one open source browser, one open source desktop... That would be sensible, everybody working toward common single goal!

Except that never got humanity far anywhere. Humans need competition, antagonism, personal passion, or they will only produce mediocre results at best.

Well, considering that he and whomever has been helping him have spent 11 years on it and is now gonna shitcan a good chunk of it and start over, I'd say that is good evidence that his choices are pretty poorly made and maybe Wine would be better without him.

But seriously, what exactly is the point? They are trying to make a free version of a DEAD OS. XP is toasty. It is two versions behind, walking into my local Walmart less and less support XP, Vista and 7 are very different beasts, which means anything t

Actually, it does put energy into Wine. Reading quickly, it appears that it implements a shim underneath the win32 support in Wine, bypassing the usual Wine requirement for an X-Server. So they can work on the Wine APIs and both projects benefit.

Not that I'd expect anyone here to read the articles, but to quote the presentation:

ARWINSS takes the best from Wine:
– “Cheap” syncs of work done by hundreds of
developers for every new version (takes ~30
minutes to merge and test)
– At least 13495 apps from appdb.winehq.org
become supported, plus support of those apps
which Wine can’t run by design (hardware
protection, drivers, etc)
– Good, proven, regression tested source code

Having read the summary, said a massive WTF, and then read the presentation, I can only conclude that the submitter did not RTFA. The story is not about rewriting ReactOS. It is not about abandoning ReactOS. It is about replacing a crufty subsystem in ReactOS that all of the ReactOS developers hate with one that is simpler, does more, and is easier to maintain. To which the general response is 'well, duh.'

Basically, the problem is that ReactOS tries to look like the bottom of the Win32 stack and then

After having spent some time reading his presentation it seems that they want to avoid the dependency on X Windows that Wine apparently has. Thy main aim is to come up with a bootable version of WINE such that you can avoid the overhead of effectively running two operating systems. They also hope this will allow them to use certain drivers that WINE cannot as they want lower level access to the hardware than X Windows will ever provide.

Please not I am not an expert on any of this so please do correct me if I am wrong, but I did see some value in their approach since it is rather a lot of work to get Linux install up an running on an old PC if all you want it for is to run a few legacy windows applications and nothing else.

The idea of getting both groups contributing to the WINE higher level code also does now add to the WINE pool of developers too. This could actually help both projects considerably. So in a way, they are going to be putting their energy into WINE. They are not planning to fork the WINE source, they want to do regular merges into their tree. He quotes that it only takes 30 minutes to to this on a fresh WINE snapshot. It might then take a little longer to fix their code to take into account of changes in WINE but this is still pretty good.

Especially WINE, partly because windows emulation is one of the things that killed off OS/2

But part of what killed OS/2 is that Microsoft kept adding things to Windows such that IBM couldn't keep up. ReactOS, on the other hand, targets a specific binary interface: that of Windows NT 5, known to end users as Windows 2000, Windows XP, and Windows Server 2003. And it targets not only the application binary interface but more importantly the driver binary interface. Ideally, if you can plug a video card or printer or scanner or something into Windows and have it work, you should be able to do the sam

What killed OS/2 was IBM basically blowing a 1-2 year lead on Chicago, not anything to do with Windows compatibility. IBM simply did not know how to market OS/2 Warp, bumbled around for over a year while Microsoft basically convinced developers to hang on for an operating system that didn't even exist (all those early "screenshots" of Chicago that first showed up in 1993-1994 were in fact artists' renderings). Even Microsoft wasn't really all that ready, as Office 95 was simply a variant of the 16-bit suite with a 32 bit wrapper. What's more, Windows 95 was an absolute horror story reliability-wise compared to OS/2. It was a piece of garbage. But Microsoft won because Microsoft understood the PC marketplace, and IBM had little or no understanding.

I know some of this because I was working for an IBM VAR at the time, and we saw just how inept IBM was, despite having what was, at the time, an extraordinarily powerful OS, with a powerful scripting language (Rexx), pretty good networking that included a full TCP/IP port, a fast and reliable file system and even it's own GCC port in the EMX system. I've told the story here before, but IBM was so bizarre that when they launched Warp 4, they didn't hand us VARs out OS/2 Warp 4 install CDs, they gave us a fucking movie that you played in a Windows machine. It was pretty much at that point that we figured out IBM had lost the thread of the conversation, and we pretty much abandoned selling OS/2.

Legality? Adaptability to new hardware? Free virtualisation of a windows hosting environment? Tracking new features as and when required, rather than needing to upgrade that (illegal) torrent XP? Offering an alternative to users of older hardware? The thrill of actually doing it? Just to piss you off?

"ReactOS offers a third alternative, for people who are fed up with Microsoft's policies but do not want to give up the familiar environment, architectural design, and millions of existing software applications and thousands of hardware drivers."

You've accidentally illustrated the difference between hardware and software. If you had, instead, said something similar about a hypothetical effort to clone the PC XT, expressing your admiration for the architectural design of the ISA bus, longing perhaps for the "real true, and familiar, full length slot" of the XT chassis, and the thousands of add-in cards like 9600 Baud modems and Parallel Printer Adaptors that you could still pick up at ReCompute, people would immediately mod you into oblivion, and

Just because there are people out there uploading a ton of stuff that they don't have the rights for, doesn't mean everybody here agrees with that. Your previous premise is that, "If it's already out there, it's okay to do wrong." Just because Windows is available on Pirate Bay does not make it right to download and use it without a license that you didn't pay for.

I'll probably get modded down for this, but if you want to run Win32 binaries, run Windows.

What version of Windows? The one that comes preinstalled on most PCs nowadays, or the one that Microsoft still sells? The last time I read the front page of ReactOS.org, the project's mission was to clone Windows XP and Windows Server 2003 and specifically their device driver environment. (Windows Vista and Windows 7 have a different driver model.) Then you get to the issue where a retail copy of Windows for use in Parallels Desktop is no cheaper than a Wii-size Acer Aspire Revo PC with preinstalled Windows for use in KVM Switch.

Solaris and BSD have linux binary compatibility layers, they work fine. Wine is coming along nicely and the pay for version supported LFD2 the night that game shipped. Bloat can come from many things but merely implementing another API ain't gonna be it.

ReactOS is not cross platform though its a Windows workalike. ReactOs is to Windows as gnu/Linux is to NetBSD. Its a differnet platform but more or less intended to run the same application layer software.

If I want to run a UNIX app, I can do that on Windows (Interix, Cygwin, etc), OS X, Linux, HP/UX, VMS, AIX, FreeBSD, BeOS, or Xenix.

That's because it's an API that was guided, among other things, by portability. The first cross-platform UNIX emulation was the Software Tools Virtual OS, and that came out of Bell Labs. The only modern OS that hasn't been based one way or another on the UNIX API is VMS. Windows NOT excluded.

If I want to run a UNIX app, I can do it on Cygwin, MSYS, or any of the UNIX or UNIX-clone operating systems you mentioned. But what do I do if I want to run a UNIX driver? The point of ReactOS is that it runs not only NT 5 apps but also NT 5 drivers.

The only modern OS that hasn't been based one way or another on the UNIX API is VMS. Windows NOT excluded.

Especially when you consider that Windows NT is based on concepts that Dave Cutler brought with him from VMS.

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 c

ReactOS is to Windows as XP or Vista is to Windows, not as Linux is to Windows (sort of, it isn't made by Microsoft).

Likewise, "Sam's Cola is to Coca-Cola beverage line as Diet Coke or Coke Zero is to Coca-Cola beverage line, not as Pepsi is to Coca-Cola beverage line"? I don't think so. (Or was that your "sort of"?) What makes it Windows® is that it is made by Microsoft, just like what makes something UNIX [unix.org] is that it is certified by The Open Group. Windows Mobile is Windows; it just isn't Windows NT.

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.

buy windows 7 and save all the pain of using WINE or ReactOS, or ReactOS on WINE.

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.

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).

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.

Nonsense. If anyone targeted Linux, they'd be able to exploit the exact same vulnerability in Firefox. They could then change your wallpaper, mess with your programs, and steal all your data. There's little difference between an unprivileged user and root on a single-user machine. But if they wanted root, they could just stick a gksudo (or whatever) workalike somewhere in your PATH and wait for you to give them your password.

The problem is that any code execution exploit means you can do anything as t