The Open Windows Project
kuros writes: "Apparently,
these guys feel the time has come for a MS Windows clone.
The Open Windows Project aim is to create a 100% Microsoft Windows compatible operating system that is totally "free" of Microsoft proprietary code. As its name implies, O.W. will be completly open source and freely re-distributable.
Open Windows will draw from current open source projects to expedite its production. These include: GXExplorer, FreeDOS, ReactOS and WinE. You may have seen similar projects that intend to use a modified version of Linux, etc. Open Windows will not be a Linux distribution; it will be written Windows compatible from the ground up." Without all the APIs, is this even feasible? (And after that, is it desirable?)
> Actually, you can make the Windows BSOD other colors.
True to form for Microsoft. They can't make the system stable, but they can make it crash in the color of your choice.
--
Sheesh, evil *and* a jerk. -- Jade
For a game system running nothing important for a single user, a well executed version of windows which would run the games and the associated Windows drivers without paying tribute to Redmond seems like a Good Thing. Impossible, perhaps, but it _would_ be nice.
I agree with some of your points about Windows being ill thought-out for anything I would want to use a computer for. But the part about the OS assuming it's smarter than the users? Well, for some folks that's true. I've reached the point I can keep my linux box running fairly well. Some folks are willing to give up a lot of flexibility and convenience to avoid having to learn.
I guess my point is that there _is_ a place for this sort of operating system, though it's no place I'd like to be. Whether they can pull it off and duplicate Windows I have no clue, but I think that a lot of manufacturers would be happy to bundle a fully functional, free Win98 clone with their cheap pc's this year. Next year, of course, the trendy, buzz-word-compliant software from Microsoft won't run on Win98, if these guys have succeded. I think _that's_ the weakest point of the whole plan: If their effort succeds, it will be like CPM: an anachronism. Microsoft will see to that.
Two final thoughts: First, Microsoft has been able to keep its users on the upgrade treadmill by not supporting the old versions, discouraging hardware manufacturers from building drivers for the old versions, and so on. If this were ready _now_, I think that a lot of people might see this as a way to step off the upgrade path, and stick with a familiar evil. You could still get bugfixes for GNU-Win98 after "WinMillenium" comes out, at least.
Second, I have to wonder: how many of the technically sophisticated people who program at these very low levels for fun will _really_ want to spend their hobby hours slavishly imitating Windows? Will this ever attract a critical mass of programmers?
I certainly wish them luck.
Nels
See what I've been reading.
The fine people of Freedows are already trying something along this line. The project seems to be stalled, though..
Two things to say:
-David
Look at how much trouble the WINE guys are having just implementing a wrapper around the win32 API. Now OpenWindows would have to do that, plus write more or less the equivalent of the entire linux kernel, plus X, plus GNOME. Ummm ... good luck, guys :).
The linux kernel was a monumental feat, and it was only possible because it implemented a well-known, standardized API (POSIX). Building a kernel around a poorly defined, constantly changing API like windows' is impossibly difficult, even if you could muster the same manpower that linux has.
Also, unless they want to write their own drivers (another monumental effort), they would also have to re-implement windows' binary driver interface, which presumably is even harder to get a grip on. Incidentally, this also means that OpenWindows would be as unstable as the real one, since a lot of the bugs in windows are caused by crappy third-party drivers :).
Building an OS from scratch is hard enough; copying someone else's is really, really hard. Try something easier, guys ...
An example of a project where people took a known API and cloned it is OpenSTEP.
(digging about in back of brain, and odds are people who KNOW the histry far better will correct my preceptions)
It was a small group of people, who turned out to be dedicated. My inital reaction was "Oh look, another well-meaning project" And it seemed to me, the project didn't go anywhere. But lo and behold, they got the code to where it was almost useful to others, and these others used the code and submitted changes. And then the new code became useful to others and on and on.
Stumbling blocks:
1) Lack of full disclosure of the Windows API.
2) Microsoft has the ability to change its API at will. They have MANY more programmers than this project will to totally re-write code if they choose to.
I'm betting the project will end up like the 'lets clone the newton API" projects. If no one sits down and keeps turning out code/results, the project will go no where.
If it was said on slashdot, it MUST be true!
Isn't that the point of this entire project?
Windows is a massive operating system, and it is indeed a large hack - a miracle that it works as well as it does. I'm personally running a copy of Windows ME and 2000 on various computers I own, and I'm impressed that they have managed to keep so much code through so many incarnations of this OS and STILL maintain almost 100% compatibility among their entire product line.
About this project. They're not using any legacy Windows code. They're not trying to hack together a lot of crap and bloat and just keep all the old code while shoving new stuff in. This entire project is, hopefully, going to be about completely reprogramming Windows in the best way possible. That means keeping it efficient, not having to deal with old code that you'd rather keep, etc. In this process, the coders WILL be learning from the "glaring failures" in windows and hopefully show MS a thing or two about how to do it right given some dedication.
I have absolutely no doubt whatsoever that these people will learn massive amounts of information, and have to think of no small number of clever hacks and tricks as they go along. We should be saluting these guys - if they succeed, and their OS is open source in the end, it could be forged into something that is the best of both Windows and Linux - an OS that is truly accessible to the masses, very easy to use, very powerful, and very stable. Is this not, essentially, the reason we hoped that the MS antitrust trial would result in the gov't forcing MS to open-source windows? So that we could take it and turn it into something _better_ than linux or Win 98?
Don't beat on these guys, they're not taking programming tips from MS design teams - they're trying to acheive the same result in a totally different way. Once that happens, the possibilities may very well open up right in front of us.
Keep your fingers crossed...I will for a few years.
The concept of an OS that makes the fundamental assumption that it's smarter than the user is a bad idea. The concept of an OS without a security model is a bad idea. The concept of an OS that cannot be separated from its user interface is a bad idea. Why are these people reimplementing something that has so many fundamentally bad ideas in it?
The hardware equivalent of this is going back and reimplementing the ENIAC. It's slow, it's hard to use, it's obsolete, and it's, well, archaic. We've moved on. You'd think it's possible to have learned something in 20 years. Apparently not. A perfect example comes courtesy of their web site: they plan to use the FAT filesystem. They claim that it's familiar and well understood. That it may be, but so are a dozen other filesystems. If you're going to select a filesystem based on familiarity and simplicity, why not choose the Minix fs? Or the version 7 fs? Or ext2? These filesystems have been documented thoroughly in books, in presentations, and in readily available code. The kicker, of course, is that they all offer substantially more features and performance than FAT. They are fundamentally better-designed filesystems. There is absolutely no reason one could not, were one so inclined, implement WinDOS using one of those filesystems in a manner which is entirely transparent to the user.
Because of the obvious irrationality this group exudes, an example of which is discussed above, I'm seriously questioning whether this is simply a hoax. It makes no sense to do this at all. Windows is a fundamentally inferior operating system. The world has moved on. It's bad enough to reinvent the wheel, but it's excusable if you are simply enhancing a previous, working, round wheel (ie all the reimplementations of Unix and Unix-like operating systems). This is taking a triangular wheel and trying to reimplement it faithfully. What gives, guys?