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?)
There's a vast gap between "designed by the people who did VMS" and "VMS-based". "VMS-like", and not all that much, yes. "VMS-based", not at all.
My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
> 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
...they did it. On a CMOS chip.
ENIAC-on-a-chip
I salute their magnificent insanity!
---
Despite rumors to the contrary, I am not a turnip.
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..
Windows is *not* a bad idea.
1. There is no security model because we don't need one. What?! Well, I'm sitting here in a house, anybody who walks by is a relative, so I've got nothing to worry about there. I don't have a static IP or run a server. The network is read-only. I am both user and admin. A security model integrated into the OS would just be cruft. We don't need no steenking chmod.
2. The designers of Windows didn't sit around making assumptions about the intelligence of users. They simply set out to make things easy. There is a subtle distinction there.
3. I'm not aware of any OS that can be separated from the UI. Exactly what would *NIX without a shell look like? :)
OK, enough rebuttals to your arguments, here are some of my own: *NIX people often fail to understand the circumstances underwhich Windows evolved. In fact, the keyword here is *evolved*. Windows evolved from DOS, which was originally designed to run on woefully underpowered PCs. *NIX had the luxury of running on some pretty powerful hardware right from the start. It wasn't until the 386 that *NIX on a PC even began to be practical.
DOS/Win is the real hobbiest OS. When MS was serving the PC community, *NIX was still just for business.
The fact that Windows crashes as often as it does is, surprisingly, also not that important. Why? Because Windows users are not server operators. Uptime is not nearly as important for the typical PC user. Also, most Windows users turn their boxes on and off regularly anyway.
In other words, 90% of the PC users are not using Windows because they are "brainwashed". Windows is a *good* idea.
That said, I agree that attempts to duplicate Windows are misguided. Because it is an evolved system, they are doomed right from the start, not having participated in the last 20 years of evolution. They can also never overcome the fact that Windows is a de-facto standard. Also, the Free Software philosophy is either unimportant or at odds with many Windows developers, who like the MS bu$iness model very much.
Or, to paraphrase a quotation that the *NIX community loves to cite: Those who fail to understand Windows are condemned to reinvent it--poorly.
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
I hope they do something 'cool' -- maybe the blue screen of death could be red or green or something. That is assuming they will have blue screens of death (to stay fully microsoft compatible of course...)
:)
I for one can think of _nothing_ better to do with my time than to try to reverse engineer an inferior OS, only to 'finish' it just as windows dominance starts to fade.
Not that I'm negative by nature, but cm'on!
"But actually trying to use m4 as a general-purpose langage would be deeply perverse" --ESR
Two things to say:
-David
well, seeing how many developers it took to architect and implement windows, don't you think this might be a tad misdirected. I mean, if you think the ms version of windows returns a lot of gpfs, what about an open source version that is hacked together. Without a very disciplined team developing the code, you'll have pointers flying all over the place. I had a hard enough time trying to keep nachos in check... Good Luck.
kick some CAD
Is it really a great idea to name a windowing os the same thing as a well-known windowing environment?
--
UNIX started out on a PDP-7, hardware that was less powerful than even the original IBM PC. BSD versions ran just fine on PDP-11 machines with 64k or 128k of RAM and fairly sluggish processors. Xerox PARC had also some version of Smalltalk on early PC hardware, including GUI. People had multitasking systems with hierarchical file systems even on 8bit processors.
In fact, it appears that even IBM had a good multitasking OS ready for the IBM PC. But they couldn't ship it because they had been under investigation by the justice department for tying software and hardware sales.
The limitations of the original PC hardware (which, themselves, were a result of IBM's greed unwillingness to cut into its own business) are no excuse for the lousy design of DOS or Windows.
That's because volume and marketing from IBM drove the cost down, not because of any technical features of DOS/Windows.
The story of Windows is similar. Systems like the Atari ST, the Macintosh, and the Amiga also showed that you could do a lot better than Windows when it came to designing a Windows-like OS (simple, no protection, etc.). Windows again was technically the bottom of the barrel and only caught on because of greed and strategic errors by their competitors, and aggressive marketing and cut-throat business tactics by Microsoft.
Bugs come from open windows.
___
___
If you think big enough, you'll never have to do it.
Lurking in the shadows is a critical stumbling block for any attempt to make a "pure" emulator (100% non-Microsoft code): the redistributable DLLs that ship with applications. These include the C runtime sytem (MSVCRT.DLL), the Microsoft Foundation Classes (MFC42.DLL), and the OLE runtime system (OLE32.DLL, OLEAUT32.DLL). The license terms for these DLLs state explicitly that they may only be installed on Microsoft operating systems.
So any emulator has to reinvent these DLLs from scratch. And don't forget there are about 20+ versions of each one, and some apps run only with specific versions, i.e. DLL Hell.
This is why a pure emulator is never going to fly.
p.s. standard IANAL disclaimers.
This is the core question. ms has done a fine job a cludging together a heap of backward compatibility and bloat that somehow manages to boot. We should be learning from the glaring failures in windows as we point, laugh and learn. Programers should learn new things everyday, but not the same things.
Start me up
Attention would-be artists.
OW is looking for artwork. We want
your ideas for startup/shudown and
off screens. We will accept
submissions until 15 August. At that
time the public will vote on the
winning screens. So what will it be?
Minimalist? Extravagant?
You makethe call! Submissions must be
640x480 at 256 colors (16 color
beauties will also be accepted). Send
you compressed entry (jpeg, png, or
zipped bitmap) to
openwindows_2000@yahoo.com
Website making great progress
The Open Windows website is making
great progress adding a news
section, a cleaner look and a great
public face for the project.
Open Windows News
The Open Windows News System has
been installed successfully. Now the
team leaders can post public news.
I'm afraid time has shown that any project concerned with a news system, development of their web site, and startup and shutdown screens (!) before having LOTS of code to show, doesn't have much promise.
I mean really:
From: <linus@torvolds.net>
Date: Jun 30, 1993
Hello, I have an idea for a great OS. I have a website up, and a news system, and I just drew startup and shutdown screens. They're really cool. So anyway, I was thinking I'd write an OS. Who wants to jump on board?
Linus
--
We've already been over this:
Freedows: www.freedows.org
Alliance OS: www.allos.org
(Alliance OS broke off from Freedows because of lack of progress and dissatisfaction with the "management"; see the Slashdot article above).
ReactOS (an NT clone): www.reactos.com
It's 10 PM. Do you know if you're un-American?
I've been saying this for a while... Think of how good Linux would be if there wasn't soo many people trying to go in every direction with a distribution based on everything in the world? I wish some people would just be alirght with themselves by just contributing to a project instead of running their own. Don't get me wrong, I think variety is great, but there is a lot of wasted talent on some projects because of things like this. OpoenWindows? Why can't they just contribute majorly to the WINE project? Why can't they run something similar so they can help it out? Oh welps...
Who's the black private dick, who's a sex machine for all the chicks?
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 ...
I always find it interesting to read about people's experiences with Linux. It makes me happy to know that I'm not alone in getting pissed off at how complex it can be to perform something that is so simple in Windows.
That said, partitioning, formatting, and installing Windows really isn't any easier than Linux. Your USB mouse wouldn't have worked during the install for Windows 2000 any better than it didn't work during the install for Linux, but you'd have a realistic shot at getting it to work afterwards.
Before I get flamed to death for that statement, yes, I realize that you can get a wide range of hardware to work in Linux, if you have the time to track down drivers and can comprehend the installation procedure. In my experience, the more expensive your hardware is, the more likely it is to work with Linux. Go for the name-brand stuff, avoid USB like the plague, and don't buy a single product, with the exception of CPU's and motherboards that isn't at least six months old, or you won't find any support for it in your shrink-wrapped distribution.
Yesterday, I took down my Linux server at work, and replaced it with a Windows 2000 server. Yes, I'll probably get flamed for this, but I had a specific reason, Samba. Eight months ago, I set up a Red Hat Linux server to act as a file server for my Windows users. It was rock-solid stable, the machine would never crash, but transfers at 100 Megabits would eat up 70% of the CPU time on a PIII-500 with 192MB of RAM. This would render the GUI unusable, and the Samba status window I had running in X would die as well.
I updated to the newest version of Samba, I read the man pages, I even got up in front of my local Linux Users Group to ask for help and suggestions. All I got were some snide remarks about "Well, that's Samba for you..." and some shrugged shoulders. So yesterday, I took down the venerable Linux box, uptime of 98 days, since I put it in the new rack, and replaced it with a Windows 2000 Server which requires less than 10% of the CPU for a 100 Megabit transfer.
---
When in danger or in doubt, run in circles, scream and shout. --Robert A. Heinlein
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!
---------///----------
All generalizations are false.
--
I like to watch.
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?
"Is it desirable? Warcraft III, Diablo II, Deus Ex, and a host of other games help warrant my vote: yes."
This brings up a good point - why not just try to build on OS that runs DOS/Win* games? Forget Office - I'm sure there are plenty of people out there w/a win partition just so they can play. Cook up a lean, mean, windows butt-kicking, game playing machine & then we're talkin'.
Hmm.. mabey that can be their motto, Microsoft has "Where do you want to go today" and they can have "Where can we get with it", or mabey "What purpose does it serve?"
Back on topic: Being that most popular applications have been ported to other OS's (*nix, MacOS.x, etc.), you may be thinking "why would we need a Micro$oft clone?" Well, this would be the most direct competition to MS, as all MS software would run on it, as well as non MS software written for windows. And since we already know that MS is the most popular desktop OS, a free 100% compatible OS could allow computer manufactures to lower prices by not having to include the price of an OS. This is good for everybody. The advantage of using a Win9x clone is that it could smoothly intigrated into the mainstream, as most people are already familliar with the Win9x environment. Thus business could install this on all their systems at a fraction of the cost, and not have to pay for employee training on the new OS. But the biggest advantage is still the direct compitition to MS, after all, how could they compete with free? For the record, I'm not against Linux, MacOSx, BSD, etc. They are wonderful operating systems. I'm just trying to be realistic. If somebody produced an almost transparent Win9x clone, it would have the best shot of hitting mainstream. I just hope that they don't copy the bugs!
--I assume full responsibility for my actions, except the ones that are someone else's fault.
Yeah. The more I think about this, and read the comments, the more certain I am that this is a hoax. If it's not a hoax, it's drug-inspired. There's just no way that any rational human being could be serious about an effort of this magnitude and uselessness.
Let's look back at WINE, shall we. It took many years to achieve the status of today's WINE. WINE as we know it today was originally made to run Win31 apps, and it adapted to Win32. Even now that it runs some Win32 apps, Win2K is out, creating even more barriers for the WINE developers.
What they really should do is invest the development time in WINE. Look how long it's taken Wine to get this far. Kudos to the Wine team, but we're still very far from being able to execute all our 'doze apps in Linux.
Or they should start writing an Open-Source Win2K, because by the time they have a semi-functional Windows 98, Windows 2002 will start shipping.