Linked by Thom Holwerda on Mon 18th Jan 2010 16:06 UTC, submitted by fireball
ReactOS The ReactOS project aims to be an open source Windows NT-compatible operating system which can run Windows applications and utilise Windows drivers. Obviously, this is quite a daunting task, and as such, progress has been relatively slow. As a result, project coordinator and kernel developer Aleksey Bragin has proposed a rather drastic solution.
Order by: Score:
v So does this run on top of Linux?
by joshv on Mon 18th Jan 2010 16:47 UTC
Thom_Holwerda Member since:
2005-06-29

Linux? Where did you get that idea from? Did you read the article?

Reply Score: 2

n.l.o Member since:
2009-09-14

Thanks for bringing this interesting development to our attention Thom. I have to admit that in my ignorance I assumed that ReactOS was already using the WINE code in this manner.

Hopefully this will kick start a new era of ReactOS usability.

Reply Score: 5

Jondice Member since:
2006-09-20

I admit I also thought that was the case; from the sound of the presentation it seems like they were using some old wine code and not as extensively as they are now suggesting.

Reply Score: 2

jjezabek Member since:
2005-08-07

(Disclaimer: this is how I understand the situation, I might be wrong;) )

They already use lots of current Wine code, e.g. for most of their user-mode stuff. So they don't write their own versions of common dialogs, COM components, etc., as this would be a lot of duplicated effort. Instead they import the Wine code, and they do this quite often.

What Aleksey writes about is win32k, which is the kernel mode part of Win32. This is currently written by the ReactOS guys, using some Wine code, but mainly focused on Windows compatibility. Sadly it takes an insane amount of work, and that's why Aleksey proposed a 'shortcut', which would be significantly different from the Windows architecture, but which would give a system that's usable now and that can profit from the improvements made upstream (i.e. Wine's win32k).

Reply Score: 3

boldingd Member since:
2009-02-19

Thanks for the clarification, there, I was confused too.

If I can ask a second, stupid question: what parts of the Win32 API run are kernel-mode? I thought the NT kernel/Win32 architecture design featured a small kernel, with layers built on top of it (in user mode) to generate the system interface that user applications see; basically, I thought that, by design, the Win32 interface was implemented in libraries and didn't penetrate down into the NT kernel itself?

Reply Score: 2

jjezabek Member since:
2005-08-07

The microkernel architecture was used in NT 3.1-3.51, but in NT 4 some performance critical components were moved to kernel-mode (although not into the NT kernel itself, which is a separate module). AFAIK this is when Win32k was born. This move resulted in a big performance improvement, but also in less clean design and some security risks (win32k has been exploited to elevate privileges).

I'm not sure what exactly goes to win32k, but at least some of the usermode GDI functions are thin wrappers that just call their kernel mode counterparts.

Reply Score: 2

boldingd Member since:
2009-02-19

I find that to be... interesting. I remember reading some time ago that someone had added a similar facility to the Linux kernel -- the ability to take a user-mode process and promote it to kernel mode. The main use, I think, was to speed up system services like X, by reducing the number of times that it had to call into the kernel (as calling into the kernel from outside is apparently quite expensive). I think that a consensus was formed, tho, that promoting random userspace daemons - even if they where known, trusted and system-critical - into kernel space was a really, really terrible idea, for exactly that reason: an X bug become then becomes a kernel bug, and an X exploit becomes a kernel exploit. It's interesting that Microsoft apparently ran into the same problem, thought of the same solution... but opted for raw performance over potential security and stability costs.

Reply Score: 2

diegoviola Member since:
2006-08-15

So this is a "Lets just use Wine as the Linux folks are already doing it and lets focus in our Windows compatible kernel."

The only benefit I see from this is that there will be an open source Windows compatible kernel (ReactOS kernel) where you will be able to run the Windows drivers and apps through Wine.

But Linux is already a stable platform to run Windows apps (through Wine) and the Linux drivers work just fine.

Edited 2010-01-18 20:01 UTC

Reply Score: 1

Thom_Holwerda Member since:
2005-06-29

Yes, I read the article, where did you make it clear that this would be running on top of a ReactOS kernel?


Do articles about water tell you water is wet?

Do I seriously have to start adding into articles about about alternative operating systems "This does not use the Linux kernel"? Is that what we've come to?

Reply Score: 11

Tuishimi Member since:
2005-07-06

Yikes! You sound a little tense, there, Thom. ;)

Reply Score: 3

Morgan Member since:
2005-06-29

I'd be a little perturbed myself. joshv is either trolling badly, or is genuinely missing the most obvious content in the article. It wouldn't hurt him to visit the ReactOS site to read about the fundamentals of the project, let alone the OSNews blurb.

Reply Score: 2

Laurence Member since:
2007-03-26


Wine basically converts Win32 into Linux system calls, but I didn't see Linux in the architectural diagram. I am guessing though there has to be a Linux kernel underneath it all.

So what this amounts to is that emulating the internals of the modern Win32 OS is a lost cause. Whereas emulating the Win 32 API on top of another OS (Linux) is a proven approach that supports something like 13k windows apps.


I think you're getting a little confused there.

ReactOS is a complete OS from the ground up. The problem Aleksey Bragin mentioned was specifically with ReactOS's implementation of it's Win32 calls.

So what Aleksey Bragin is suggesting is by using WINEs Win32 code (baring in mind that WINE has a larger and more complete development) in place of the existing ReactOS Win32 so you have WINEs app compatibility.

So it doesn't really matter what kernel is running as this is purely user space tools.
(case in point being the numerous non-Linux kernel systems that WINEs been ported to: from *BSD and Solaris ports to 'Crossover' for the Mac).



The only problem I can see is that you lose driver support. You can't just install your win32 drivers for your hardware in ReactOS and expect it to work.

AFAIK drivers wouldn't use Win32. Win32 isn't generally used that low-level. It's more a graphical toolkit with knobs on.
That said - it's been a while since I've used Win32 so I maybe forgetting some details.
However Aleksey Bragin seems to hint that drivers were a non-issue:


ARWINSS has many advantages, not in the least the fact that it would bring Wine's level of application support to ReactOS: 13495 applications from the Win database, as well as a theoretical number of applications Wine can't run due to hardware issues.

Reply Score: 4

joshv Member since:
2006-03-18

Ok, so this is a port of the Wine Win32 user land to run on top of the ReactOS kernel? Correct? If so, I have to admit I pretty much thought that's what ReactOS was already.

Reply Score: 4

Bill Shooter of Bul Member since:
2006-07-14

Yeah... Me too. My guess is that when they decided they weren't going to do this back in 99 or so, wine wasn't nearly as complete as it is now. So it wasn't obvious that they should focus on leveraging the wine source as heavily, instead of writing one more in tune with their development goals.

Reply Score: 2

robojerk Member since:
2006-01-10

Same here...

Reply Score: 2

Laurence Member since:
2007-03-26

Ok, so this is a port of the Wine Win32 user land to run on top of the ReactOS kernel? Correct? If so, I have to admit I pretty much thought that's what ReactOS was already.


WINE and ReactOS shared code and developers, but ReactOS was never really a port of WINE.

There's much much more to Windows than Win32 and NT kernel - just like there is more to ReactOS than it's Win32 calls and it's kernel.

However, up until today, I must admit I thought ReactOS had heavier influences from WINE too.

Edited 2010-01-18 22:27 UTC

Reply Score: 2

phoenix Member since:
2005-07-11

A simplification that should make things more understandable:

ReactOS is a re-implementation of the Windows NT kernel, and the Windows NT userland, with the hopes of having a Windows-compatible OS, without any Windows code being used.

WINE is a re-implementation of the Windows userland (the win32 APIs) that allows Windows applications to run on non-Windows OSes.

The ReactOS project has decided to use WINE as their userland leading to: Windows applications running on top of WINE running on top of the ReactOS kernel.

Reply Score: 3

joshv Member since:
2006-03-18

I guess my confusion was that I thought ReactOS was basically already doing what this announcement proposes to implement. But I guess they'd started out with their own Win32 user land and hacked in Wine code on an ad hoc basis.

But this brings up the question - why not go further? What's the benefit of having your own custom NT-like kernel if the Wine Win32 API runs just fine on top of the Linux kernel? I guess you couldn't run Windows drivers for your hardware - but if, as the announcement states, all anybody cares about is apps - who cares? And doesn't their windows driver model implementation pretty much suck anyways?

Perhaps this will just allow them to focus on hardware driver support and kernel tweaking, and leave the userland stuff mostly to Wine.

Reply Score: 2

bhtooefr Member since:
2009-02-19

Actually, people do care about drivers for their weird-ass legacy hardware that the manufacturer went out of business 5 years ago, and there's not enough demand for porting the drivers to Linux.

And, I was under the impression that the Linux driver interfaces weren't stable (by stable, I mean not changing, and I don't mean not crashing.)

Reply Score: 1

boldingd Member since:
2009-02-19

Exactly so: I think a large part of the expected pay-off is being able to use all those existing, well-supported Windows drivers, and having hardware support on the same level as Windows.

I think the designers also have a few (possibly legitimate) gripes with the way POSIX-OS's do things: at least, that's what I recall their FAQ saying. So, "fixing many of people's gripes about Linux" may also be something of a goal.

Reply Score: 2

Laurence Member since:
2007-03-26

But this brings up the question - why not go further? What's the benefit of having your own custom NT-like kernel if the Wine Win32 API runs just fine on top of the Linux kernel? I guess you couldn't run Windows drivers for your hardware - but if, as the announcement states, all anybody cares about is apps - who cares? And doesn't their windows driver model implementation pretty much suck anyways?

Perhaps this will just allow them to focus on hardware driver support and kernel tweaking, and leave the userland stuff mostly to Wine.


There's more to an OS than the kernel and toolkits.

You only have to look at the number of Linux distros that behave differently despite all running a Linux kernel and all having QT/GTK+ installed.

<rant>

Quite frankly I'm getting a touch sick of everyone heralding Linux as the saviour to all FOSS. I mean, one minute people are complaining about a Windows monopoly and the next they're trying to create a Linux one in the FOSS world.

The reason I love ReactOS is because it's different from every other open source OS.

So surely this merits more praise than those that just repackage Linux with a blue GNOME desktop instead of a green one and then try to pass it off as a whole new OS?

</rant>

Reply Score: 2

ebasconp Member since:
2006-05-09

are you calling "clowns" to people that are far smarter than you?

could you please enlighten us and telling us what are the wonderful things you created?

at least, are you a great developer of commercial software able to bash the work of open source developers showing your superior work?

come on man, if you do not like the way they work, respect them because of the work they do.

Edited 2010-01-18 18:54 UTC

Reply Score: 3

earksiinni Member since:
2009-03-27

In truth, I think that most people took issue with your belligerent and offensive tone. No one likes to be called (or to see their champions called) "clowns".

But you've got an interesting point from an engineering or even a political/economic perspective, that given that true programming talent and skill is a limited resource, why should it be put toward a project that will never really achieve its goal? I think that this view is too narrow, however, and in research there's always so-called "wasted" effort. ReactOS should be treated as a research project, and I suspect that its main usefulness will come from the knowledge gained among its participants. Who knows how Aleksey Bragin will use his findings to change the world in the years to come?

Reply Score: 1

ebasconp Member since:
2006-05-09

I don't need to have created anything to criticize something. It's always the cheapest cop-out, especially in the world of Open Source, that random people suddenly ask for your developer credentials as soon as you criticize an Open Source project. Most software is made for *users*, and if some Open Source sissy can't take criticism, he should stay out of the kitchen.


I disagree. You don't have to be happy with some application or open source "product"; it is possible than you do not like it because it does not fulfills your needs, it has a lot of bugs, it has no the quality you are used to, etc... But, if you have no the skills to do something better than the thing you are criticizing, I suppose you should at least respect the people that made it and be constructive to help them to improve their stuff instead of bashing it.

Oh, you got that wrong. I disrespect them precisely because of their work. It's redundant. It's irrelevant. If I want Windows, I buy Windows. A fully function-complete clone of even XP/2003 is IMO a sweet, fleeting dream.


I also disagre on this point with you.

I am a software developer and though I do code for Linux and Mac, I respect A LOT the Win32 API and, thus, to their developers too.

I like Java a lot, but that thing does not mean that I do not respect to the .NET framework architects.

In brief, you don't have to like anything you don't want to, but everything turns around respect to others' work.

Reply Score: 2

Stickfigure Member since:
2010-01-22

It's true, exclaiming your disgust at a product does not hinge on your ability to make a product of your own. You're free to not like the product, and it doesn't take a chef to tell you that the food's bad. But proudly touting your ignorance on a subject without first asking of the subject's relevance is a mug's game.

An OSS project attempting to replicate Windows will have a lot of advantages if successful:

1. An open operating system that has a built-in compatibility with most hardware created today. You take any other OS: Haiku, BSD, SkyOS, even Linux still, and the chance for many of those OSs to grow is very remote considering it's all tailored for hardware that at best has only basic functionality with that operating system. Few write drivers for an operating system possessing less than 1% of the market, and I doubt they're going to start.

2. This project will assist many other projects meant to replicate one part or another of Windows compatibility. Given the sheer volume of closed APIs they have, if one can find a way to openly replicate them, then other OSs can also implement a compatibility layer that will open up a cornicopia of programs to them and certainly go a long way to level the playing field, forcing MS to work harder on their OS in order to compete.

3. As windows does progress, it tends to can a lot of it's compatibility with older programs. DOS, Win 3.1, Windows 95, right on up to Windows XP all have access to programs that Windows 7 and Vista are no longer able to run properly. Sure, it's all well and good to tell someone to stick to their OS if they're in need of a certain program, but without support that OS will lose functionality in enough places where it will eventually become unfeasible to use that OS for any other reason than to execute a specific program.

You flippantly characterize this project as some sort of deluded fever dream, but even if the OS never reaches 1 on 1 functionality with the latest Windows OS(which, let's face it, it probably won't until MS gets lazy again), the very act of the project accomplishes enough to make it a worthy endeavor. Continue using your commercial Windows. It's fine that you do, there are certainly enough programs on there to justify doing so. But to boldly state that the project has no value without actually asking anyone if there's something you missed(and clearly there is) is irresponsible at best and gloriously, obnoxiously ignorant at worst.

Reply Score: 1

BluenoseJake Member since:
2005-08-11

Nobody "needed" a clone of UNIX either, but we have several.

Reply Score: 3

earksiinni Member since:
2009-03-27

Hmm, can anyone confirm whether this comment broke/set the record for downvotes?

Reply Score: 1

DerGenosse Member since:
2010-01-11

The truth hurts.

Reply Score: 1

Hmmm
by jgagnon on Mon 18th Jan 2010 17:19 UTC
jgagnon
Member since:
2008-06-24

I'm still trying to wrap my brain around what the ReactOS team's idea of "success" is. Windows, in its various flavors, is a good enough Windows, so why even go that direction? Improving on it ("a better Windows than Windows") just makes it less compatible so again, what would be the point? They can't possibly put as many resources into it as Microsoft does so they will always be behind. I truly commend their efforts, I just don't understand what their desired end result is in the grand scheme of things. It is unlikely that many developers will target ReactOS specifically as a platform.

I think the switch to WINE for the Win32 layer is likely the best move they can make from a resource perspective. In the end, most users doesn't really care HOW the compatibility is attained, they just want it there, easy to manage, and fast enough to make more sense than dual booting another OS. If the WINE group and the ReactOS group gain from combined efforts then everybody wins.

I still can't help but feeling that ReactOS would have made a lot more sense 10 years ago and is pretty much irrelevant today. ;)

Reply Score: 4

RE: Hmmm
by fireball on Mon 18th Jan 2010 17:32 UTC in reply to "Hmmm"
fireball Member since:
2006-07-15

I'm still trying to wrap my brain around what the ReactOS team's idea of "success" is. Windows, in its various flavors, is a good enough Windows, so why even go that direction? Improving on it ("a better Windows than Windows") just makes it less compatible so again, what would be the point? They can't possibly put as many resources into it as Microsoft does so they will always be behind


They used to say the same about Linux in ~1993.

But thanks for words of support!

Edited 2010-01-18 17:37 UTC

Reply Score: 2

RE[2]: Hmmm
by jgagnon on Mon 18th Jan 2010 17:39 UTC in reply to "RE: Hmmm"
jgagnon Member since:
2008-06-24

Except that Linux wasn't trying to be a better Windows... Better OS maybe, but not a clone+1.

Reply Score: 2

RE[3]: Hmmm
by fireball on Mon 18th Jan 2010 17:45 UTC in reply to "RE[2]: Hmmm"
fireball Member since:
2006-07-15

Except that Linux wasn't trying to be a better Windows... Better OS maybe, but not a clone+1.

It was trying to be better than UNIX (obviously), which commercial flavors were prevailing back then. Noone really could believe that some enthuasist-made OS kernel could become mainstream in future. And I'm sure people were saying "who needs Linux? We have major commercial UNIX implementations, supported by hundreds of skilled people and companies with good reputation.".

Reply Score: 3

RE[4]: Hmmm
by No it isnt on Mon 18th Jan 2010 18:01 UTC in reply to "RE[3]: Hmmm"
No it isnt Member since:
2005-11-14

Linux was fairly mature as a hobbyist OS before it was trying to be a 'better' anything. Its original ambitions were modest: a better hobbyist Unix than Minix. Soon, it became the de facto kernel for the GNU operating system, placing it firmly in the centre of Free and Open Source software development, and it started taking off.

Reply Score: 2

RE[4]: Hmmm
by nt_jerkface on Mon 18th Jan 2010 19:49 UTC in reply to "RE[3]: Hmmm"
nt_jerkface Member since:
2009-08-26

And I'm sure people were saying "who needs Linux? We have major commercial UNIX implementations, supported by hundreds of skilled people and companies with good reputation.".


Commercial Unix was a rip though and mostly RISC only.

Reply Score: 3

RE[5]: Hmmm
by bert64 on Mon 18th Jan 2010 20:32 UTC in reply to "RE[4]: Hmmm"
bert64 Member since:
2007-04-23

Commercial windows is a rip too, and mostly x86 only.

Reply Score: 4

RE[4]: Hmmm
by bert64 on Mon 18th Jan 2010 20:31 UTC in reply to "RE[3]: Hmmm"
bert64 Member since:
2007-04-23

The difference with unix, is that unix is much simpler and better documented...

Windows on the other hand is intentionally extremely complex and its inner working poorly documented, to make it difficult for third parties to create clones.

Reply Score: 3

RE[5]: Hmmm
by wakeupneo on Tue 19th Jan 2010 05:58 UTC in reply to "RE[4]: Hmmm"
wakeupneo Member since:
2005-07-06

Windows on the other hand is intentionally extremely complex


Hehe...sounds like one of my old classmates when the teacher would ask him why his code was so convoluted....

"Yeah...well...I meant that" he'd say with a straight face.

No-one believed him either ;)

Reply Score: 2

RE[4]: Hmmm
by Kebabbert on Tue 19th Jan 2010 11:14 UTC in reply to "RE[3]: Hmmm"
Kebabbert Member since:
2007-07-27

Actually, Linux is not made by someone, it is actually GNU. Stallmans vision decades ago. Linus stepped in and placed his kernel into GNU. Without the collective efforts of the GNU team, Linux would not have happened.

You make it sound like Linus developed GNU/Linux. But no, it was only his kernel. Someone builds the whole car except the engine, and is constructing the engine - when some teenager steps in and puts his shitty engine inside. Then that teenager gets all credit: "he constructed the car"? I dont get it.

As several people say, Linux is bloated and unstable. Some would say it is quite shitty compared to a real OS.

Reply Score: 3

RE: Hmmm
by Laurence on Mon 18th Jan 2010 17:53 UTC in reply to "Hmmm"
Laurence Member since:
2007-03-26

I still can't help but feeling that ReactOS would have made a lot more sense 10 years ago and is pretty much irrelevant today.


Actually I think it makes more sense today than ever.

As Windows is an OS with an ever increasing footprint and support for legacy versions are being dropped - it might prove useful to have a compact system that will run the old Win32 apps reliably when you just need something simple because a 10+ year old business critical application was never upgraded to run on newer OSs.
(eg I keep hearing horror stories about offices with a stray Win95 desktop because they need software xyz which didn't support XP).

Nobody can expect Microsoft to maintain complete backwards compatibility (some argue that their attempts at such is half the problem with Windows of present) nor to keep supporting old OSs indefinitely because a lazy developer / cheapskate company never thought about future-proofing.

So the answer might turn out to be ReactOS.


Closer to home, I've found another use for this OS. I'm currently playing around to see how viable it is as a virtual server for a Windows only application.
I'm doing this partly to be bloody minded (I can so I will), and partly because I don't want to pay for a Windows license just to run one application when I know it already runs perfectly under WINE.

Reply Score: 6

RE[2]: Hmmm
by jgagnon on Mon 18th Jan 2010 18:13 UTC in reply to "RE: Hmmm"
jgagnon Member since:
2008-06-24

But, what does ReactOS offer that WINE (or the like) cannot solve? Or virtualization for that matter? Run XP/2000/98/95 in a VM and your problem is solved, for the most part.

Again, I am not trying to convince anyone that ReactOS should not be made, I just don't think it will ever be a platform of choice for development of Windows applications. So that makes me ask the question of "Why?". It's the relevance question. I understand full well the motivation for making something for the challenge of it, but if the end result is for others to use it then there has to be a reason to draw them in.

On a side note, people still running 15 year old unsupported software on a 15 year old unsupported operating system probably need to consider their costs in maintaining that system versus rewriting it for a more current architecture. Why fix it if it isn't broken? Because sometimes it costs more to keep it unbroken that it does to replace it, especially over time. Not to mention that replacing it may have other benefits that could never be reaped from the old software.

Reply Score: 1

RE[3]: Hmmm
by fireball on Mon 18th Jan 2010 18:19 UTC in reply to "RE[2]: Hmmm"
fireball Member since:
2006-07-15

But, what does ReactOS offer that WINE (or the like) cannot solve? Or virtualization for that matter? Run XP/2000/98/95 in a VM and your problem is solved, for the most part.

Virtualization requires a valid license for the OS (including 98 and 95, they are not vaporware).

Wine is a compatibility layer, not an OS.

Reply Score: 1

RE[4]: Hmmm
by jgagnon on Mon 18th Jan 2010 18:23 UTC in reply to "RE[3]: Hmmm"
jgagnon Member since:
2008-06-24

Agreed, but there are many free operating systems on which you can run WINE. So I believe my question still stands.

Reply Score: 2

RE[5]: Hmmm
by wigry on Tue 19th Jan 2010 19:11 UTC in reply to "RE[4]: Hmmm"
wigry Member since:
2008-10-09

Imagine a small and minimalist OS which is there just to run Wine. I don't want to install full linux distro just to run wine. In addition, linux + wine are two different things and Wine is not well integrated with Linux.

Nice small well integrated system which sole purpose is to support hardware, run Wine and provide acceptable user experience is all I need with out myriad of config files and ReactOS with its seemless Wine layer is a perfect solution.

Edited 2010-01-19 19:13 UTC

Reply Score: 1

RE[5]: Hmmm
by Laurence on Tue 19th Jan 2010 22:03 UTC in reply to "RE[4]: Hmmm"
Laurence Member since:
2007-03-26

Agreed, but there are many free operating systems on which you can run WINE. So I believe my question still stands.


Not really because other OSs don't have the full Windows-clone environment.

You can slap a Windows theme on a Linux distro running WINE, but that doesn't make it behave anything like Windows.

So what these guys are setting out is much much more than just coding an OS that runs a few Windows apps on an open source kernel.

Reply Score: 2

RE[3]: Hmmm
by Laurence on Mon 18th Jan 2010 22:55 UTC in reply to "RE[2]: Hmmm"
Laurence Member since:
2007-03-26

But, what does ReactOS offer that WINE (or the like) cannot solve? Or virtualization for that matter? Run XP/2000/98/95 in a VM and your problem is solved, for the most part.


Because you still need a licence for Windows if you virtualize it and WINE isn't an OS.

Again, I am not trying to convince anyone that ReactOS should not be made, I just don't think it will ever be a platform of choice for development of Windows applications. So that makes me ask the question of "Why?". It's the relevance question. I understand full well the motivation for making something for the challenge of it, but if the end result is for others to use it then there has to be a reason to draw them in.


The whole point of ReactOS is it's a Windows clone and can run Windows apps.

So drawing developers in is a moot point as they're already there (in a manner of speaking)

On a side note, people still running 15 year old unsupported software on a 15 year old unsupported operating system probably need to consider their costs in maintaining that system versus rewriting it for a more current architecture. Why fix it if it isn't broken? Because sometimes it costs more to keep it unbroken that it does to replace it, especially over time. Not to mention that replacing it may have other benefits that could never be reaped from the old software.


I agree with you but the problem is many people can't look past the now.

To fix something that's not currently a problem (ie the "it's working at the moment so why should I care?" mentality than many budget holders have) costs money now. So some managers would rather wait until the proverbial sh*t hits the fan before investing into a solution to fix something that might never happen (despite how likely that it will happen).

Reply Score: 3

Purpose of ReactOS
by contextfree on Wed 20th Jan 2010 23:12 UTC in reply to "Hmmm"
contextfree Member since:
2009-06-01

I think it's mostly just to give people interested in understanding more about the guts of NT/Windows something to poke around in. This is probably why the project is tacitly condoned by Microsoft* -- it's unlikely to actually cut into their revenue in any significant way, and having more alpha geeks interested in Windows is a benefit to them.

* The lead developers of ReactOS co-authored (with Mark Russinovich) the latest edition of the official book on Windows internals published by MS Press.

Reply Score: 1

Wine for Windows
by geleto on Mon 18th Jan 2010 17:32 UTC
geleto
Member since:
2005-07-06

There's some effort underway to run Wine on Windows:
http://wiki.winehq.org/WineOnWindows
Wine on Windows and ARWINSS share the same plan - use the Wine's userland stuff on top of the ReactOS/WinNT kernel and drivers without needing NT kernel emulation.
I am surprised this wasn't the ReactOS plan from the very beginning.

Reply Score: 6

RE: Wine for Windows
by fireball on Mon 18th Jan 2010 17:40 UTC in reply to "Wine for Windows"
fireball Member since:
2006-07-15

There's some effort underway to run Wine on Windows: http://wiki.winehq.org/WineOnWindows Wine on Windows and ARWINSS share the same plan - use the Wine's userland stuff on top of the ReactOS/WinNT kernel and drivers without needing NT kernel emulation.

Yes, I researched all possible options and tried to contact people who was interested, but that seemed to have been totally abandoned. You're right, Arwinss hs actually almost the same goals, and could be used same way.

I am surprised this wasn't the ReactOS plan from the very beginning.

Better late than never ;)

Reply Score: 1

v Waste of time
by diegoviola on Mon 18th Jan 2010 17:37 UTC
RE: Waste of time
by jabbotts on Mon 18th Jan 2010 17:46 UTC in reply to "Waste of time"
jabbotts Member since:
2007-09-06

ReactOS is a waste of time, people should just improve Linux/WINE

Linux is a waste of time, people should just improve BSD
BSD is a waste of time, people should just improve Unix
Unix is a waste of time, people should just improve VMS

(Let me guess, you use some flavor of Linux and find developers volunteering there time for non-Linux related projects downright offensive right?)

And, the reasons for a win32 native alternative are probably just as valid today as when they motivated the starting of the ReactOS project. It'd be nice to be able to buy an OS from someone other than Microsoft just because one has to run some win32 app.

Reply Score: 8

RE[2]: Waste of time
by diegoviola on Mon 18th Jan 2010 18:12 UTC in reply to "RE: Waste of time"
diegoviola Member since:
2006-08-15

ReactOS is a waste of time, people should just improve Linux/WINE

Linux is a waste of time, people should just improve BSD
BSD is a waste of time, people should just improve Unix
Unix is a waste of time, people should just improve VMS

(Let me guess, you use some flavor of Linux and find developers volunteering there time for non-Linux related projects downright offensive right?)


No, I am not an extremist like that, I do support other projects other than Linux, I also use BSD, and Windows when I have to. I am open to use whatever software in order to get done with the work, I use the best tool for the job and am neutral when it comes to software.

I really wish the best for ReactOS, and I hope they succeed, I would love to see a free implementation of Windows, and I would love if they work closely with the Wine team, I know having a free implementation of Windows will benefit everyone, I am just saying that they have very big envisions and goals and not enough man power. There is nothing wrong with that, but I'm afraid that if that continues to be the case, by the time they reach to the 1.0 stage, with the current man power they have, it will take a lot of time for them and it will be too late already because Windows will be much more ahead.

I hope I'm wrong though, and I hope they get more man power and succeed with their project.

And, the reasons for a win32 native alternative are probably just as valid today as when they motivated the starting of the ReactOS project. It'd be nice to be able to buy an OS from someone other than Microsoft just because one has to run some win32 app.


Sure, that would be great ;) .

Edited 2010-01-18 18:29 UTC

Reply Score: 1

RE[3]: Waste of time
by bhtooefr on Mon 18th Jan 2010 20:07 UTC in reply to "RE[2]: Waste of time"
bhtooefr Member since:
2009-02-19

Well, IIRC, 1.0 is when they're 100% compatible with NTOSKRNL 5.2 and 100% compatible with the current version of NT's userland.

My prediction is that 1.0 may never come, simply due to NT's userland being a moving target, but they might get something reasonably compatible.

Reply Score: 2

RE[2]: Waste of time
by Googol on Mon 18th Jan 2010 18:18 UTC in reply to "RE: Waste of time"
Googol Member since:
2006-11-24

I think you are way off the mark here. While you could argue for most things that double effort is wasted effort (to which I wouldn't light-heartedly sign up to re. your examples), all these projects you mentioned have actually produced some quality, usable code.

But with ReactOS, the waste really lies in that it has never gone anywhere - if I am not doing it great unjustice. I feel like having deja-vus for like a decade... everytime ReactOS gets a mention, I get the impression they got like 98% to go still. That's the difference, others may be wasteful, but they are getting somewhere nonetheless. Not that I care - just saying...

I accept I am doing ReactOS injustice if you were to tell me that actually, it will be as complete and usable as, say Ubuntu, within the next 2-3 years. Or else, yes, it is a waste of time that has been going on for a very long time. People can tinker with it, fine... only, maybe there comes the day where ReactOS news items are about as useful as Duke Nukem ones ;)

Reply Score: 2

jabbotts Member since:
2007-09-06

Nuke'm for ever has yet to produce a playable alpha or beta yet. ReactOS current images are available for install, liveCD and prepackaged VMs.

My grief was really with the minimal thought one-liner suggesting that developers put there time elsewhere because the comment poster feels that the project is not moving ahead fast enough. It's a project I check up on about as frequently as the news articles about it hit the pages but I don't feel the personal justification to demand where developers spend there leisure time. Even if it's only increased the involved developer's understanding of win32 back end, that's a benefit.

It's much like the people who think that "Linux" (ignorantly meaning everything that happens to use the kernel) needs to be consolidated into a single master distribution before it will ever gain desktop retail success. They look at market share as if it somehow indicates more than the quality of one's marketing and sales teams. They assume that any distribution based on the kernel should be focusing on that one person's primary interest of retail measurements. As if the distributions and developers have some obligation owed to that one individual.

Reply Score: 2

RE: Waste of time
by fireball on Mon 18th Jan 2010 17:47 UTC in reply to "Waste of time"
fireball Member since:
2006-07-15

Linux architecture is much better than NT anyway.

Prooflink please, or it didn't happen.

Reply Score: 8

RE[2]: Waste of time
by gustl on Mon 18th Jan 2010 19:58 UTC in reply to "RE: Waste of time"
gustl Member since:
2006-01-19

Well, the NT Kernel isn't that bad, in fact in terms of used concepts it comes quite close to Linux.

The whole operating system is a different beast. Linux has much better separation between user and administrator, simply because Windows has to evolve out of a single-user environment as it tries to be as backwards compatible as possible.

Linux, on the other hand, was multi-user from the very early days on, and if need should arise, backwards compatibility can be broken (it didn't break since 2.4.0, but that just shows good foresight by the developers).

Microsoft may one day be forced to provide built-in virtual machine technology, to be able to get rid of 2 decades of cruft they now have to maintain in the operating system.

Reply Score: 2

RE[3]: Waste of time
by Thom_Holwerda on Mon 18th Jan 2010 20:02 UTC in reply to "RE[2]: Waste of time"
Thom_Holwerda Member since:
2005-06-29

Linux, on the other hand, was multi-user from the very early days on


So was Windows NT.

Reply Score: 3

RE[4]: Waste of time
by jgagnon on Mon 18th Jan 2010 21:01 UTC in reply to "RE[3]: Waste of time"
jgagnon Member since:
2008-06-24

Exactly... the real problem back then was so few Windows applications were "multi-user ready".

Reply Score: 1

RE[3]: Waste of time
by Hentai on Mon 18th Jan 2010 20:55 UTC in reply to "RE[2]: Waste of time"
Hentai Member since:
2005-07-06

Well, the NT Kernel isn't that bad, in fact in terms of used concepts it comes quite close to Linux.

The whole operating system is a different beast. Linux has much better separation between user and administrator, simply because Windows has to evolve out of a single-user environment as it tries to be as backwards compatible as possible.

Linux, on the other hand, was multi-user from the very early days on, and if need should arise, backwards compatibility can be broken (it didn't break since 2.4.0, but that just shows good foresight by the developers).

Microsoft may one day be forced to provide built-in virtual machine technology, to be able to get rid of 2 decades of cruft they now have to maintain in the operating system.

This info you put up shows me you don't have a good grasp on windows NT. I suggest you learn more on windows NT based operating systems before saying anything else on them from now on. NT grew out of a mutiple user enviroment from the get go. Now alot of windows users and programmers coming from win 9x\3.1 going to 2k\xp have grown out of a single user enviroment unaware of how NT works, ACLS, multiusers, etc.

Edited 2010-01-18 21:00 UTC

Reply Score: 2

RE[3]: Waste of time
by Replaced on Tue 19th Jan 2010 20:16 UTC in reply to "RE[2]: Waste of time"
Replaced Member since:
2007-05-06

NT had ACLs from the beginning, Linux did not. Your point being?

Reply Score: 1

RE[2]: Waste of time
by lemur2 on Tue 19th Jan 2010 11:48 UTC in reply to "RE: Waste of time"
lemur2 Member since:
2007-02-17

"Linux architecture is much better than NT anyway.

Prooflink please, or it didn't happen.
"

Well, here is a place you could start:
http://www.top500.org/stats/list/34/osfam

You could look at the OS that the worlds fastest (and most expensive) computers use ... here are the Top 3:

http://www.top500.org/system/10184
(Linux)

http://www.top500.org/system/10377
(Linux)

http://www.top500.org/system/10185
(here's a surprise ... its Linux again).

Then, you could go here:
http://en.wikipedia.org/wiki/List_of_Linux_computers

and find a significantly longer list than just Windows on x86 and x86_64 desktops and servers.

Reply Score: 2

RE[3]: Waste of time
by Replaced on Tue 19th Jan 2010 20:14 UTC in reply to "RE[2]: Waste of time"
Replaced Member since:
2007-05-06

And how does it make it a better architecture?

Reply Score: 1

Good for them...
by madcrow on Mon 18th Jan 2010 17:54 UTC
madcrow
Member since:
2006-03-13

I've always liked the NT architecture, so an open source version of it is a good thing, provided that they can actually get it working better than they have so far. If it takes porting Wine to their NT kernel clone to get things working, then I'm all for doing so.

Reply Score: 4

RE: Good for them...
by jabjoe on Tue 19th Jan 2010 13:27 UTC in reply to "Good for them..."
jabjoe Member since:
2009-05-06

NT alone is meaningless (and I would still want a proper *nix with inodes, etc etc). It is Windows that is on top that people want. Sure there is the NT drivers, but I see that a being a right old mess compared with open drivers in the Linux trunk. The closed drivers and stable driver api world really does seam to be beginning to crumble. It's just not a good way of doing things.

http://lxr.linux.no/linux+v2.6.32/Documentation/stable_api_nonsense...

Reply Score: 1

Personally..
by fithisux on Mon 18th Jan 2010 18:00 UTC
fithisux
Member since:
2006-01-22

I beleive that they could go one step further and use a real-ukernel for their system. Not a hybrid one, in order to share work. OkL4 is a possible/maintained solution.

Reply Score: 2

Sounds like a cool idea.
by Tuishimi on Mon 18th Jan 2010 20:39 UTC
Tuishimi
Member since:
2005-07-06

I just downloaded the PDF to read... but the basic idea in the post sounds good to me. I am sure he/they will have some fine ideas to commit back to the WINE project as well.

Reply Score: 2

Unified kernel
by pepo on Mon 18th Jan 2010 20:43 UTC
pepo
Member since:
2009-06-19

I haven't evaluated the state yet, but http://en.wikipedia.org/wiki/Linux_Unified_Kernel is also a good idea.

Reply Score: 0

RE: Unified kernel
by jabjoe on Tue 19th Jan 2010 13:18 UTC in reply to "Unified kernel"
jabjoe Member since:
2009-05-06

You think?

Closed drivers are bad enough. Mainly because no one else can fix or improve them.

But closed drivers from another platform? That forces a stable api in the kernel, which is as bad or worse.

http://lxr.linux.no/linux+v2.6.32/Documentation/stable_api_nonsense...

No, both projects are crazy. Wine on top of a free Linux is the best long term hope for being able to run Windows apps on something other than Windows. But you can bet MS will fight it every step of the way (extend, extinguish).

http://www.theregister.co.uk/1999/07/18/analysis_how_ms_used/
History of this almost happening before with Win32.

http://tuxdeluxe.org/node/296
MS and standards

http://lxr.linux.no/linux+v2.6.32/Documentation/stable_api_nonsense...
Why stable driver API are bad

Reply Score: 1

Questions
by Xaero_Vincent on Tue 19th Jan 2010 02:21 UTC
Xaero_Vincent
Member since:
2006-08-18

Does ReactOS have a more complete Win32 and Direct3D implementation than the newest Wine and Crossover releases?

How complete is Windows driver ABI support? For example, could someone install video drivers designed for Windows XP and play Modern Warfare 2 on ReactOS like you can with Wine on Linux?

Supporting Windows drivers is neat, but only if it really works. Linux has drivers for devices across multiple architectures--although some are half-baked. However, Linux can directly use some Windows network device drivers using NDISWrapper.

Reply Score: 2

RE: Questions - "can directly use"
by jabbotts on Tue 19th Jan 2010 13:42 UTC in reply to "Questions"
jabbotts Member since:
2007-09-06

I was post a quick one-liner about "can directly use" followed bu "with Ndiswrapper" but I'd rather help clarify.

- If you are using the driver inside a wrapper then the OS kernel is not using the driver directly. The wrapper is translating between the Windows driver and host OS.

- With Ndiswrapper specifically, one should get basic NIC functions from the Windows driver however it may not provide more advanced functions beyond the basic connection (no packet injection or other fun).

- How easily you'll be configuring the driver inside ndiswrapper inside the OS driver framework depends on the distribution. Mandriva manages it well including a "would you like to use a Windows driver for your NIC" during the installation wizard.

The solution to all of this is convincing NIC (and other hardware manufacturers) that drivers and/or driver interface specs are part of public documentation that increases there potential customer base. If they want to make utilities closed source and "value add" bits of the hardware product then fine but closed drivers from a vendor deciding what limited OS I can run there hardware under is madness. I've yet to hear a rational reason that drivers or driver interface specs should be hidden away like they are. (Broadcom, your "but people will change the power output" excuse doesn't fly either.)

Reply Score: 3

Could be good!
by Syphadias on Tue 19th Jan 2010 03:04 UTC
Syphadias
Member since:
2008-02-16

I'm very eager to have something that can replace Windows for me all together. I just hope that what ever choices they end up making, that this project doesn't become any more bloated than XP as far as size and resource abuse goes.

Also I'm hoping that it will allow you to remove parts of the OS that you'll never use, which is another option Microsloth never gave us.

Lastly I just hope for good compatibility, and a pleasant experience when using media related apps.

So far what I've seen has been impressive, though I wonder what became of the XBOX port?

Edited 2010-01-19 03:05 UTC

Reply Score: 1

Arwinss
by Xaero_Vincent on Tue 19th Jan 2010 03:13 UTC
Xaero_Vincent
Member since:
2006-08-18

I've glanced at the PDF. Arwinss will base its Win32 subsystem on Wine's. That is an obvious advantage but I still don't think it will help the project much.

Wine still isn't anywhere near perfect, although its excellent considering that the project is attempting to implement some 70,000 Win32 APIs, many with incomplete or no documentation. Wine may have support for most applications but the level of support varies greatly from poor to perfect.

The most troubling factor for the project is the fact that Windows will always be a better Windows than a clone and 95% of manufactured PCs already have it installed.

Reply Score: 2

RE: Arwinss
by draethus on Tue 19th Jan 2010 08:10 UTC in reply to "Arwinss"
draethus Member since:
2006-08-02

Wine is buggy and far from perfect, but the ReactOS userspace DLLs are apparently even worse, thus they're trying to go from the proverbial fire into the frying pan that is Wine.

But Wine isn't necessarily that far: 70000 APIs sounds like a lot, but 90% applications together use maybe 10% of those.

Reply Score: 2

Sorry, but I don't think it will never work
by jabjoe on Tue 19th Jan 2010 13:12 UTC
jabjoe
Member since:
2009-05-06

I've never seen the point. You are always going to be chasing MS tail lights. If you start to succeed at all, they start to deliberately make it harder. (Extend, extinguish). This goes for Wine too. Wine isn't the first of its type either, there was Wise before it, http://www.theregister.co.uk/1999/07/18/analysis_how_ms_used/

I have a love/hate thing about Wine.

On the positive note Wine seems to be able to run some old Windows apps (well games) that modern real Windows can't. I've even read of talk of porting Wine to Windows because of this. The cheek of that delights me.

Also on the positive note when I run up against lack of documentation in Win32/COM, I can look at the Wine source and cross my fingers the other Win32 implementations do the same. The Wine source is clear and well written C.

Also on the positive note, Wine means people can play Windows games (and that does seem where much of the work goes), which aids peoples leaving Windows.

Also on the positive note, Wine can be used to quickly port apps to being cross platform.

But that leads on to a negative note, I don't like Win32. I want Win32 dead. If people want cross platform apps, write cross platform apps. Writing Windows apps and porting them is not a good way of doing things.

Also on a negative note, I don't like Win32. I want Win32 dead. Most of the time there is only one implementation of Win32, so bugs go hidden until the app is run on another Win32 implementation (WOW64 as well as Wine). The phrase of matching "bug for bug" isn't for nothing.

Trying to do a Wine for the whole OS? What's the point? Use Linux and Wine. Closed drivers are bad anyway (for many reasons, not just who can fix/improve them, but forces a stable kernel API, which is also bad), but closed Windows drivers on another platform? Very bad idea. Same goes for Linux Unified Kernel.

Open drivers, in the kernel trunk please. Then anyone can improve or fix them, and if the driver API can be improved, it can be improved without legacy mess. If old Windows apps must be run during transition, run them via wrappers or virtual machines.

I know many will disagree with all this, but if I make one person think about something they haven't before, I'm happy. Years ago, I would have disagreed too.

Reply Score: 2

For all of you asking why. It is simple.
by Sabon on Tue 19th Jan 2010 15:50 UTC
Sabon
Member since:
2005-07-06

For all of you asking why. It is simple.

In the United States (and probably elsewhere) there is an ice cream chain called Baskin-Robbins which has 31 or 32 flavors of ice cream.

People want choices. YOUR choice of "ice-cream" is not necessarily THEIR choice of "ice-cream".

"But their choice isn't popular enough. It should be discarded."

Let's turn it around. What if YOUR choice wasn't "popular enough" and should be discarded. How would you feel then?

31 or 32 choices of operating systems is/are not too many as long as there are people to create and maintain them. If you don't like this attitude, please stop going to a site called, "OSNews" because it is all about News about Operating Systems.

It's not News about Operating Systems that only you care about. It's about ALL the operating systems that ANYONE cares about.

Again. If you don't like it, don't come back anymore. If you do like it, keep coming back and join in with any group that you have anything POSITIVE to contribute.

Thanks. Now you can return back to your regularly scheduled programming.

Reply Score: 2

jabjoe Member since:
2009-05-06

Yes.....but, this isn't a different flavor ice-cream, it's a copy of an existing flavor. But more than that, this ice-cream has to be compatible with the other flavor of ice-cream because it needs to run the same programs and drivers, etc etc, as that is the point in its existence. Worse the existing flavor is a moving target, a law until itself, and the new flavor must try and keep up with big jumps without knowing what's going to happen in advance. Even worse the existing flavor has a long history of deliberately destroying compatibility. Ok moved away from ice-creams, but I think I've made my point. Not saying it shouldn't be reported, it is interesting (I love Plan9 as a concept, but don't try and use it), but I am saying I think it's doomed to fail.

Reply Score: 1

Tuishimi Member since:
2005-07-06

A copy? You mean like any posix/linux-like operating system that came after UNIX? That turned out rather well, I think.

But I do agree with you that the project has a rough road ahead and it might even be impassable.

Reply Score: 2