“Microsoft Windows has put on a lot of weight over the years” writs Randall Stross in a recent New York Times blog entry on Windows’ legacy code. “Beginning as a thin veneer for older software code,” he continues, “it has become an obese monolith built on an ancient frame. Adding features, plugging security holes, fixing bugs, fixing the fixes that never worked properly, all while maintaining compatibility with older software and hardware — is there anything Windows doesn’t try to do?” Does Microsoft have the business savvy or guts to rewrite Windows?
Nope, they don’t. What’s why Windows Vista is now what it is. If they would have thought security in the beginning Windows wouldn’t be in this situation now. They either have to break compability and renew or keep on going the same line before there are nobody who is interested on using windows as their primary system.
WINE can emulate things Vista cant play, and it has nothing to do with backwards compatibility.
For that matter, 8080 code still runs on a brand new quad core.
This jihad to blame WOW(WOW16/WOW64) or backwards compatibility is subterfuge for horrible feature creep and horrible design. The NT kernel is the most understood, tested and architected kernel in the world, surround by heaps of cruft, .NET, a “bad java,” and a ton of win32 bad crud. I’d like to see one day a “gentoo” or “debian” for NT kernel, you might be surprised if you built a sane userland around the NT kernel it wouldn’t be a bad thing.
Blaming Windows 3.1/win32s/Windows 95 compatibility for the sorry state of affairs in Vista is complete folderol.
Im just going to bark back to stuff like this, WINE plays more games than Vsita SP1 and looks good doing so.
Really? Do you have data to back this up, or are you just talking out of your ass? Would love to see how Wine does with the latest DX10 games.
Props. I didn’t want to say it, because I haven’t done it, but I’ve heard both sides of that coin.
I’m still amazed at how many people love Java and hate DOT.NET. Java compatability between versions is rediculous, not to mention its a complete hog with resources. DOT.NET on the other hand is a hugely scalable and has cross language compatability: kernel level API written in C/C++, Front End API written in ASP/C#/VB and complete integration in between. You can make calls from C# into VB modules or C/C++ binaries or references to C/C++ Header files. Hell you can even utilize Java and Javascript inline or by reference. And what Win32 ‘crud’? The only issue I’ve ran into with non-support in writing Win32 Binaries have been where I was trying to utilize old calls due to my own lack of education in an area.(WOW/WOW16/etc..) Granted there are bugs, but name one OS that doesn’t have some malformed code?
?? An intesting undertaking.. I’ll give you that. Likeliness to happen borderlines on never. Why reinvent an already well engineered product.
If you want to play games, buy a PS3 or a Wii. The reality is Gaming will always play a slow role in moving into new OSs. XP was the same way. If WINE works for you sweet. The general populous on the other hand… not going to happen. And PCs make really low end gaming systems in comparison to consoles. The OS layer consumes far too many resources to avidly be able to take use of the hardware for serious gaming. Consoles are far more efficient, and far less $ per proc cycle of use.
And yes, I wrote this from my Windows Vista PC (Which happens to also be 6 years old, and has no issues supporting Vista fully.)
… I know.. I know.. zealot right? I also have a Thinkpad with OS 10.5.1 on it and a ESX server with several flavors of Unix/Linux, so please keep the name calling to a minimum.
WINE is NOT an emulator.
But yes, WINE CAN run a lot of things that Vista can’t.
To be fair, WINE also crashes a lot of things that Vista doesn’t.
Edited 2008-06-30 05:38 UTC
The NT kernel itself is quite good. However, what kills Windows is (a) 3rd party drivers (e.g. non-Microsoft provided drivers) for hardware such as video cards, sound cards, NICs, and various chipsets – yep, about the whole system; if you have good hardware with good drivers you’re fine – and usually the Microsoft Certified drivers are good drivers – in terms of being friendly with the OS and not crashing the thing. (Keyword: usually)
(b) The Win32 API. As far as security goes – it’s just horrid. For example, any application can modify any other application’s GUI interface without necessarily having permission from the originating application. (Don’t that before to get passwords; a little harder now since they did fix that by using encrypted text for the text box when its designated as a password text box; but it can still be captured without permission.)
Honestly, they need to get take the whole Win32 API and deprecate it; and start a new API that has security as its foundation. Keep it around for legacy support; put it in a sandbox even so it can’t harm newer applications. And they could do that. (And no, the .NET API does not qualify since it basically calls back to Win32 to begin with.) The required functionality is already a center piece to the NT kernel since the Win32 API is one of a number of APIs (including a POSIX specific API) that the NT kernel supports natively through a DLL extension. There’s nothing saying they couldn’t create a WinNG (Next-Generation) API and support it alongside (at the same level) as the Win32 API; and move developers over to it – leaving the Win32 API there for legacy and basically unchanged. Developers will move; even if forced.
The likelihood of Microsoft doing that – near zilch.
It doesn’t have to (as the mono guys have proven).
True, but that’s basically what it does on Windows. It’s doesn’t call down to the NT Kernel API for everything – it uses Win32 where it can. Thus it won’t work for what I said. And, not everyone is or will ever use .NET for everything. C/C++ and other languages will be needed for applications that will work outside the .NET framework, so they still need another API in addition to .NET even if they ported .NET to using just the NT kernel API.
BTW, GUI alternatives are no better. E.g. it is way too easy for one X11 app to crash the whole sessions (in fact, much easier than to crash WinXP GUI).
I am not sure about MacOS X here, but since it follows basically same coding paradigms, I would not be surprised it shares same problems.
In reality, I believe that bad security of GUIs is somehow caused by its very purpose:
Advanced GUI is about sharing between applications (mouse, keyboard, clipboard, objects etc…). Wherever is sharing, there is insecurity. Security is about isolation – but not many users would welcome “isolated” GUI….
I don’t think it’s so much that issue. Sure, applications can share data. However, to do so they need to do it over approved channels and every application should have to approve what from itself can be shared. The one thing you can’t get around is sharing with the kernel – but that typically happens by request of the application so that’s not really an issue.
But when another application wants to get data from the application, there should be a function that application (or even the kernel) calls into the application its trying to get data from and say ‘hey, i’d like this access, can I have it?’ with a default of denying access (for applications that don’t code the function – default to secure) – threads and processes spun off from the application would be a challenge to answer for (likely default of approve for threads and deny for processes). And that would have to go for everything the application controls (e.g has opened, creates, etc.).
It’s practical and it would work. And the security it would provide would work wonders – though not seen by the average user. You’d be able to quickly eliminate a lot of bad software (virii, trojans, keyloggers, etc.) as they would have to (a) break into the API to get what they currently get and (b) they’d be denied outright by the security.
Sure there would be some challenges with getting it working right, and developers would have to learn some new tricks too. But in the end, it would provide a security that is very well needed.
Additionally, the simple fact that an application is getting data from another application (e.g. keystrokes, etc.) does not prohibit this. Your base layer (e.g. the GUI API) would be able to get the application approved to receive that data from the OS/App providing it. The application would be able to act just as it does not, except with the security. Copy/Paste would be one bit that would likely have to be approved when going from one application (e.g. Notepad) to another (e.g. Wordpad, Vi, Emacs, etc.), but not within itself – the same instance of the program.
IMO, this sounds nice in theory, just like micro-kernels do.
In practice, things are not that simple. First, malware usually employs some bugs in applications. E.g. if application is going to “open” access via clipboard and has a bug in conversion function, it is vulnerable. Plus, bug still can be in the API.
Also, this “opening” is sometimes quite impossible. E.g. consider sharing of mouse. Any single GUI API I know supports something called “mouse capture” – when application activates it, it gets mouse messages until capture is released.
If any application “forgets” to release capture, GUI is basically frozen.
Well, not in Win32, where it is fixed by basically releasing the capture by API when all mouse buttones are released, but AFAIK X11 has exactly this problem.
And this is just example of what I mean by sharing. You could find many more examples of similar sharing – and no, you cannot establish some “open channel” security here. Even apps that do NOT capture the mouse at all are affected.
Nothing is 100% secure. However, providing applications a default safe environment is indeed a good place to start. Yes if the application has a bug or the API has a bug then it will still be a risk; however, the risk would still be less since it would not be able to infiltrate every program as it can now.
Additionally, the only constraints in it are the ones the API creator puts there. So nothing is necessarily impossible unless the design constraints/requirements make it such.
That is a function of the API – and yes, it can be handled. It is just a matter of who is given the control by the API. The API could even mitigate the issue by continuing to inform all applications of the mouse even when one has ‘locked’ it if the API designers decided to do so. So no, I don’t see a reason that it couldn’t be done.
It can now?
Well, maybe my experience in Win32 is not perfect, please show me an example demonstrating how Win32 API allows malware to infiltrate every program?!
So, do suggest that all Windows software, including e.g. OpenOffice or FireFox, is to be rewritten?
Can you imagine the real impact of obsoleting Win32?
And, BTW, Win32 has security in its foundation. Maybe later, to allow users to do what they need to do (like sharing clipboard etc…) they have softened the approach.
Win32 has only as much security in it as the NT kernel forces it to have. That security is primarily related to user or system related tasks (e.g. files, permissions, etc.). It has nothing to do with application to application security, which is what is heavily needed – especially in Windows. If Microsoft really wanted to clean up the security of applications – they’d start there. It’d go a long way to eliminating virii, trojans, keyloggers, etc. (Phishing probably wouldn’t be destroyed since that’s a different attack angle.)
As I said in the GP – they could keep Win32 around for legacy or even sandbox it to protect the apps. Developers could, over time, update to the new APIs.
Yes, I can. Yes, a lot of apps would need to be updated – if the companies/projects were going to continue releasing new versions. Yes, there would be tremendous opportunity for new work, rework, etc.
But think of this – wouldn’t the security for end-users be work it? For your application even?
It could potentially make a lot of current virii obsolete since it would eliminate entire attack vectors – e.g. keyloggers, API generated buffer overflows, etc.
(By API generated buffer overflow, I’m referring to situations where a program has set a dialog control to be an exact size – e.g. 10 characters – and a third party program changes it, and then stuffs data at the end. The originating program should expect that the control won’t change its size unless it itself changed the size.)
“updated”? Joking?
You clearly understimate the amount of work that would be needed. I am a little bit familiar with OO and FF sources, I would say that while actual work might take 0.5 – 1 year, it would take 2-3 years before these apps would get the stability they have now. And THAT only if the new API is still C based. If Microsoft goes “.NET only”, it would mean complete rewrite from scratch.
OTOH, perhaps this would be good, as porting to any new Windows per your wishes would be then more difficult than porting to X11, so it would be nice final blow for Microsoft…
Think of this – would end-user cared? And would he really got any security here?
Realistically, how much serious is this problem on end-user machine? How much more often malware gets deliberately installed as “fast porn downloader”?
I still do not see where these security flaws are. And I guess I know quite a lot about Win32
Yep, there are possible buffer overruns, but they are generic for any C API. And it is a bug to fix in the API.
Do you really think so? Think, e.g. keyloggers only work because they were installed by some malware and the malware had required access rights to install it.
So the only option is to completely disallow installing keyboard handlers, even in admin mode. That would ruled out installing e.g. any keyboard utility programs.
Is that where you are heading?
System that is crippled in the name of false security feeling?
Well, I guess we got enough of it with Vista….
(1) notice I said they’d still have to support other languages. There’s still a lot of software generated for Windows using C that won’t get ported to .NET. So it’s in there best interest to continue supporting C.
(2) As far as any porting goes between Windows and X11 – that would depend on the designs of the API they employed. Though, given their history it would likely make things harder.
(3) Note that I said Win32 would still be around. They would just commit to not putting any new features into it – thus deprecating it – and put those new features into the new API instead. Win32 programs would still continue to run.
The basis of the Win32 API is essentially a HANDLE. The fact that an application can request a HANDLE to another application’s GUI or object without the permission of that application is what is flawed. That’s no a C API limitation either as C has no concept of HANDLEs just pointers and functions.
Under my proposed solution, keyloggers would still be able to log keys; but they would get every key instead of being able to subscribe to getting just the keys that another application receives. There’d still be an attack vector but it would be a lot harder to process it into an attack than present.
Not necessarily. It would mean that those utilities would have to work closely with other programs – or perhaps even be granted rights by the user to do those things. There are designs that can handle it.
Did Vista get it right? Not necessarily.
Was Vista a step in the right direction for Microsoft? Definitely.
The power of OSS is that they can probably move to whatever new api comes out without much issue. Firefox and OpenOffice are cross platform, they have no issues running without win32 now why would they have issues in the future. Developers will move to whatever they see fit to get their applications running on the platform, I really doubt an api change will deter them for long. The real issue are devs like Adobe, they are now stuck porting Photoshop to cocoa to get 64-bit support despite the countless warnings by Apple that cocoa was the way to go. Of course Adobe is getting their ass in gear now, and they would do the same on the windows platform if push came to shove. They aren’t going to do it if they don’t have to though. This is what scares MS though, things like what happened with Adobe may force adobe to look into a cross-platform solution or toolkit to avoid the same issue in the future, the easier it is for adobe to port their application with little expense the better the chances are that Adobe will start to get friendly with other OS’s out there, because it would be easy and cost effective to do.
They are crossplatform because they have quite fat library for each platform. In reality, both OpenOffice and FireFox implement emulated GUI on top of host-OS API.
That might sound simple, but developing such layer is not that trivial thing, especially if it has to use all the platform offers. It surely can be done, but it would take time to mature.
But they missed it.
Now a rewrite/breakage just won’t happen for at least five years.
KTHXBYE Windows!
Microsoft will not rewrite Windows, instead, they are going to remove stuff from Windows and put it in Windows Live!
The core of the OS will stay the same, same old support, same bloat. Heck, they are using Vista as the base for Win7, so it’s not going to be any better.
I just wish Microsoft had the same guts than Apple (when they shipped OS X). Scrap the current Window code and start over. And with Snow Leopard, Apple is showing that it can be done, to slim down the OS….
MS doesn’t have the same kind of guts because they simply don’t have too. The guys in Redmond are far too complacent and bloated to be able to make quick and innovative moves.
They may at some point be able to turn it around but it wont be until Linux and Apple have picked away enough at them that they really feel their future might be on the line.
Edited 2008-06-29 17:01 UTC
Even if they do decide on a rewrite they’ll get a system that won’t catch on immediately, nor will it be stable and usable from day one. All this knowing Microsoft of course… So that’s why they probably will never pursue that idea. And then the time to start programming a new OS would have been a year or two ago, not now.
The genius with using .net for their development going forward and moving away from com, etc is that they would be able to move to a legacy free environment eventually and just carry .net along for the ride. It will reduce the compatibility problems immensely.
You must understand that Apple was in a different position when it rewrote Mac OS9 to create OSX…
do you think Apple will be in a situation to rewrite OSX five years down the lane (seeing that it is gaining significant market share every year)???
MSFT has the baggage of supporting old systems & applications…or else they’ll face even bigger replusion from the users than they are facing now with Vista…
Wow… the stupidity continues. Again. They rewrote jack shit. See my previous post.
I’m glad someone corrected him. I was on my Treo Last night nowhere near a computer and I couldn’t post a response. Was driving me insane. lol.
It took Apple 10 years to even start working on a Modern OS, and it flopped. Anybody remember, Copeland, Raptor, NuKernel, Gershwin, and the Blue, Pink, Red chains? Eventually after failing almost 6 times, they gave up and pulled a quality Microsoft Move: If you can’t build it, buy it! They bought Steve Jobs’ company (NeXT) and took NextStep/OpenStep and added some OpenGL Flare to it (QI/CE).
They took an already developed operating system, some shiney, and splattered the world with the most rediculously false marketing campaing ever. I’ve never seen more lies in a set of commercials than the PC vs MAC Commercials over the past 4 years.
It seems people always forget the failures of their heroes.
Hmmm… I dont remember copland etc ever coming out in the public…
maybe that’s because it didnt? so how can it flop if it never came out?
If you’re going to bullshit for the sake of it… at least back it up with reality.
You don’t need a release for something to be a flop. The development process was a flop, hence it was a flop.
Wow, way too hostile there. He wasn’t bullshitting at all.
According to here… http://wordnet.princeton.edu/perl/webwn?s=flop
Verb: flop (fail utterly; collapse) “The project foundered”
Noun: flop, bust, fizzle (a complete failure) “the play was a dismal flop”
hey! It looks like all those projects mentioned above were *flops*!
He left out a few other flops, actually. The Star Trek project among others. A/UX was more or less a flop. It was actually a pretty darn good OS and had a lot of similarities to OSX, they just didn’t move it from 68k.
Edited 2008-06-30 16:10 UTC
I personally feel that Windows live is bloat itself.
This is what we call the software development lifecycle.
Let’s start with the misconceptions here: Microsoft basically *did* gut Windows and rewrite it *twice* (sorta, at least, when they ditched the 3.1 progman/windowing code for the 9x code, and then they swapped the entire underlying kernel/subsystem architecture (DOS/9x) and swapped to the NT kernel.
Bugfixing and patching is the process by which software *matures*… if they gut the whole thing and start over, then you lose this.
You also lose your existing customers, as they have come to learn, understand, and become comfortable with the existing system.
I got the distinct impression that Vista was largely a kernel rewrite as well… so where does this hold water?
I don’t use Vista personally, but I do spend a lot of time working with XP and Windows Server 2003, and I just don’t see what the big deal is – it’s a fairly healthy OS platform, fast, stable, secure if you know what you’re doing, but not free or Free – and I think this is why people find ways to attack it. Just don’t load it up with crapware from 3rd party vendors.
Although I agree they have gone down this road before the problem is they are never willing to really start over. They always toss in things like Windows on Windows and the like too keep old hardware, drivers, and software running. I know there are some places that require this kind of use but at some point things have to evolve.
I don’t disagree that Windows can be fast and secure “if you know what you’re doing”, but consumers by and large do not know what they’re doing. Nothing is going to change that — its just the nature of the market. As such, not being stable and secure in the face of clueless users is a design flaw for a consumer OS.
The UI brain-damage is something else, and there is nothing the user can do about it. You can be a competent user, and the Windows UI will still suck. See that Bill G e-mail about his trying to get Windows Movie Maker to work. Its pretty much exactly that sort of think that made me stop using Windows years ago.
Edited 2008-06-29 17:14 UTC
I agree, this *is* a flaw. And the worst part is, the infrastructure is already there. It has been there since NT. It’s the default setup (everyone is admin) that is flawed. It seems though this is slowly changing. Vista is a first step to a more sane approach. They could have done better, but I think (hope) the message here is “Vendors, make your software run as standard user, cause that’s what you will be getting in 7”. I am sick and tired of cleaning and reinstalling infected friends’ PCs.
A novice can not work with it anyway, an experienced user is aggravated by the increasingly more and more number of clicks (read: user friendliness) required to perform what is (for the experienced) a simple task. IMHO they should create a beginner and experts mode UI. Beginner should have much less options than the ones shown now. Expert should have everything with much less hand-holding. But then again, it seems they don’t want people to know or understand too much.
I believe that this one is a common misconception – the idea that “standard user” will somehow solve security problems.
In fact, this is quite stupid idea. The only thing that will be achieved this way is moving malware to “standard user” area as well.
And in the end, it is user’s data what is the most valuable in PC (with emphasis on “Personal” here). What is the point of securing admin when viruses and trojan can still damage user’s work?
Of course, with multi-user servers this is a different topic, but we are speaking about “personal OS” here.
BTW, I am speaking from personal experience. The only malware I ever had was Linux worm that happily lived in regular user acount with poor password… happily spreading ever after…
Sure,the user data is the most important. So, why would you like granting half the Internet access to them, by allowing a system wide, bot-net type infection?
Just imagine how much more powerful malware is when you grant it admin rights. The all admin model, is simply flawed.
I do not really argue that admin model is flawed, but for personal computer, it is rather “unelegant” than security flawed.
I other word, moving to “standard user” does not solve the problem of “granting half the Internet access to user data”, at least as long as standard users are allowed to have some access to Internet.
Also note that most of current malware is not that typical old viruses. What we have now is rather malicious scripts or even webpage links coming by email and requiring some sort of user interaction.
The real trouble is that if malware comes in email and even requests user to e.g. click that stupid vista security message box, about 0.1% of users will be glad to comply. Enough to spread the malware and steal data…
In short, moving to “standard user” solves much less than most geeks expect.
I agree. Unfortunately I don’t know if there is a better model. As long as the end user is allowed to make stupid decisions, you will always have broken computers. And unfortunately I think it would be a horrible idea to completely redesign the security infrastructure in Windows in one big step. They will be forced for the rest of thier existance at Microsoft to take baby steps. You can piss off the world a little bit, and change things a piece at a time until they get comfortable, but if you just kick em in the pants, break all their apps, and tell them to deal with it customers don’t return. I think Vista is more for the programmers, not the end Users. It causes enough havoc for the end users that Business will be slow to adopt. On the other hand, all those buying new PCs are still getting Vista on them. This forces all the software manufacturers to write for the new OS anyways, allowing the business world to eventually adopt and in the process the Paradigm shifts as well. As I’ve hinted at previously: Vista is just the precursor to Windows 7; It always has been. And I think deep down in the depths of Microsoft, they know it too.
Edited 2008-06-30 14:02 UTC
You know what else is the nature of the market people who bought machines with XP with only 256MB RAM and are not willing to upgrade until the RAM is no longer available.
It make me weep. :b
That’s because XP and Server 2003 are solid, proven platforms while Vista is, to put it nicely, not. In any way.
Vista wasn’t a kernel rewrite, it was more a core API rewrite.
and if you like 2k3, you’ll love 2k8 😉
But the thing is, they never gutted the whole thing; they have a great kernel and they crippled everything above it with the win32 api. There is nothing technically wrong with the core of the NT operating system. The problem the compromises that sit ontop in the form of win32.
The SDLC is as long as you want to make it. If they properly thought out the design from day one, didn’t compromise for the sake of retrofitting win32 on top – we wouldn’t even be debating this point. There SDLC paradigm doesn’t state that a system *MUST* be gutted and restarted again. It says that it can be an inevitable consequence from years of an inflexible design and things being added left right and centre, and to top it off, very poorly documented and maintained.
There have been numerous articles on this website (and others) pointing out the flaws – alot of them coming down to internal processes (or there lack of) and obsessive backwards compatibility, or more correctly, backwards compatibility that can be detrimental to ones products health.
The problem with Microsoft is that they lack strong centralised leadership in the same form as Apple. Apple says something, and it is done. None of this wishy-washy changing of minds with the case of Windows Vista development – it just gets done. Pissing and moaning from a few third whiny third parties? gets ignored – like it should. Microsoft need to have someone willing to stand up and say, “this is our 10 year vision, this is what we’re going to do – and by hell or high water, we’re going to get there no matter how many complainers start voicing their demands that their 20-30 year application to keep working”.
I totally agree here. Its the stuff that runs on top of the NT kernel that is the issue as well as MS being run by bureaucrats. Nothing can get done in that environment because any suggested significant change will go through five different departments and coming back with a resounding no for who knows what reason.
OSX is not a rewrite like it was pointed out here, they took quite a lot of code for NextStep, in-fact if you program for OSX a lot of the api calls are still have the nextstep name in them. It was a smart move by Apple to 1). go with a proven working OS and retrofitting it it to what Apple needed and 2). bringing Steve Jobs back into the fold. Apple had been floundering for years before OSX, they had no direction and were in the same situation that MS is in now. They tried to do what MS is doing now, they tried to update their OS piecemeal (and Classic OS definitely needed to be updated, since it wasn’t a modern OS). That didn’t work, it made more of mess of things that it should have. When Steve came back into the fold the company as a whole dropped all the unnecessary cruft (knowing Jobs, people were probably fired left ad right) and focused on what made Apple great to begin with and they had a leader with a vision to get them there (no this is not a Jobs fanboy rant, just facts). They started by focusing on hardware first and foremost, they consider themselves a hardware company after all. They hired great designers to bring their hardware quality back to what made Apple great. So not long after Jobs joins Apple again you have the iMac, which proved to be rather popular with people. While the hardware was being worked on so was OSX. Apple was trying to make OSX compatible with Classic, but instead went with a kind of virtualized approach (which was brilliant, imo). Those that needed compatibility got some form of it, while Apple let all developers know that OSX was clearly the future and that they should jump on the boat before it leaves them behind.
Now the reason why I went through this whole Apple section is because, it shows the two things that I think MS needs to do to survive as a company, they need to get rid of the cruft (both as a company and in their software as well) and they need a strong leader with a vision that can do that without worrying about stepping on people’s toes. Like Apple they can use an existing codebase (NT kernel) and build from there. All that really needs to be re thought is the UI layer and api. They should drop win32 completely and just focus on .net and for compatibility’s sake virtualize everything else. As Parallels has shown us virtualization can be seamless and in MS’s case it shouldn’t be too hard to do since they already have a virtualiztion solution in the works. Another thing I would like to see MS do is to stop babying their customers, yes the enterprise is a huge market and MS is a huge part of that market, but at some point the enterprise is going to drag MS down and they have no issues moving to another platform if it suits them in the end even though they may not want to due to the epense, but trust me they will more if forced. I wish that the anti-trust decision to split MS would have gone through, we would be looking at a whole different OS today, I’m pretty sureof it. Office would probably be ported to everything it can get its hands on and the windows OS would be forced to actually compete on features.
.NET is too slow for many client apps, and Microsoft internally thinks so too (but you won’t read it on MSDN).
They are too smart to eat their own dogshit for marketing reasons, unlike Sun who included some horribly slow Java tools in Solaris that even the most hardcore Sun-lovers I know hated.
I also doubt a slow virtualized Office would do wonders for MS sales, and this is what they make the most money from.
Edited 2008-06-30 06:02 UTC
They didn’t take “a lot of code” from NEXTSTEP (That’s how you spell it ), They took ALL of OPENSTEP and reworked it into what is now OSX.
OPENSTEP = Mach base with OpenStep world.
yes, NeXTs naming scheme sucked ass.
The only way they’d do this is if the situation becomes completely untenable, not heading in that direction, but actually hitting the wall. It’d involve a lot of kicking and screaming too.
While keeping the cruft is absolutely horrible from a purely technical perspective, ditching legacy support is absolutely horrible from a business perspective, and for a business the dollar is the only thing that matters. Not what someone thinks of you, unless of course it’s so overwhelmingly negative it affects your ability to bring in the dollars.
It’d represent the single greatest opportunity for dissatisfied users to flee.
I’d imagine they’d at least opt for a wine/classic type solution though.
Edited 2008-06-29 17:34 UTC
I think with Vista they ARE hitting the wall. This whole Windows Vista thing reminds me of Microsoft “Bob” back in the 16 bit era. “Bob” was essentially Microsoft’s LAST 16 bit OS/UI system on DOS before putting 32 bit Win 9x on top of it instead and was a monumental BUST in the days when Microsoft was a much more entrenched monopoly dictatorship than they are now with with the assorted Linux distributiuons, the BSDS, OS/X and Sun’s Solaris both closed source commercial and open around.
Vista is the “Bob” of the 32 bit era.
Wow, that’s harsh. I wouldn’t go as far as calling Vista the Bob of the 32-bit era. There are some design decisions in Vista that I genuinely am starting to appreciate, like the revamped windows explorer. I like the look and functionality of it (it reminds a bit of Nautilus) I didn’t lke the changes made to the display properties page at the beginning, but after messing around with it I like the fact that they split everything into a category, do I think they could have maybe thought through it more, sure but its not awful by any means. I like a couple of other things in Vista, which I find interesting. My issue with Vista is that for what it does have it takes away in resource usage. Its extremely heavy on system resources for very little added benefit. I’m a Linux and OSX user, between all the OS’s the one with the least resource requirements and usage is Linux by a long shot. Even OSX Leopard runs like crap on a 1st gen Mac Mini with a 1GB ram upgrade. It literaly runs like crap, the UI is smooth as hell but the machine stalls out quite a bit. Leopard is not easy on resources either. I find that it runs much better when you give it enough ram. Hopefully Snow Leopard will make things better. Linux on the other hand can run fine ona 512MB machine, I can do everything from running compiz, to compiling and the machine still chugs away with the occasional stall here and there when I’m getting crazy with the resources and it has to swap ram. I can have FF open with multiple tabs, a commoan line prompt oing some stuff, a couple of Nautilus windows open in Linux and I’m barely cracking 350MB of ram total. OSX right now is actually using about 1.59GB with only Firefox 3 open, 609MB of that is actually wired and 745MB of that is active with 259MB of that being inactive, I find that atrocious considering I’m not really doing anything. Vista on the other hand does use about 745MB of ram from 1GB total but I know it usually gussles all the ram up and distributes it as it sees fit, actually most OS do that anyway so the RAM usage can be misleading in that case. OSX has the added benefit of knowing what hardware its going to run on and if its a newer machine its going to have at least 2GB of ram included by default ( I have 4GB on my MBP). However, like I pointed out OSX’s UI stays smooth on older machines with generally modest graphics chipsets while Vista requires far more than is necessary for the UI trickery it does, its also rather slow on more modest grpahics chipsest such as embedded ones, which is rater disappointing considering I can run compiz with far more flair on older graphics chipsets with smooth animation and effects, Vista has issues going to Flip3d smoothly, considering the big hype they had around the UI tricks, they should have ensured that in the least the UI runs smoothly and without issue. A lot of what mkes OSX look sleek and fast is the fact the UI hardly ever stalls and the animations very rarely dip in framerate (unless you use an nvidia card, apparently the nvidia drivers suck. I have the Santa Rosa MBP so its an issue. Ati supports seems to be better becasue I think they write their own drivers then supply them to apple).
They seem to want everything all shiny and innovative… as long as it’s exactly the same as the old ways with a new load of paint. They go on for hours on end about “bloat” and ancient codebases… but the second you suggest the path forward doesn’t include some cherished piece of long unsupported software they scream bloody murder.
Unless he’s seen the source code, this is just giant speculation. (from the word “has” onwards)
Come on! They read it on Slashdot!
He is correct. Windows code base is huge and complex and that makes innovation harder due to complex inter-dependencies in components. There has been efforts like MinWin but there is no clear goals on when they will ship.
I’m confused with such articles….
on one hand these articles indicate that there is a dire need for Windows to be re-written…on the other hand we also see so many articles on incompatibilities arising due to Vista and how big failure Vista is and so on…
AFAIK MSFT did rewrite some components in Vista (may not be a major rewrite..but still!!!) which is drawing so much of flak for MSFT..
As indicated in the article, for Apple it was a no choice…they had to rewrite their OS as Mac OS9 was no good for future of Apple…while MSFT already have a decent OS (may not be as polished as OSX, or technically good as Linux)…but still it is quite good for majority of the computer users…which works for Microsoft…
I like what Apple is planning for Snow Leopard…which is also the right way for Microsoft….polish the OS…may be then think of a rewrite…
Edited 2008-06-29 18:50 UTC
The problem is MS is between a rock and a hard place. Vista although good isn’t good enough for the average person to want it over XP. Also the hardware requirements are too big for large corporations to want to make the move seeing as there is little advantage for them as well. Most people believe (and I agree with them) that one of the biggest problems with Vista is the bloat from supporting legacy applications, and the best way to solve this is a rewrite from scratch, But as you stated this would likely cause massive backlash from consumers.
So what is MS to do, it might have to accept that it is going to be the IBM of our generation.
The IBM of our generation supports Linux
It seems that people want to blame “Legacy” applications and avoid the real problms with both XP and Vista bloat.
These are the Product Activation schemes, spyware, phone home ware and DRM that modern Windows is loaded with.
I actually run more legacy apps on LINUX through DOSbox,
DOSemu and Crossover/Wine than most people run on Windows and have no bloat related problems with them.
This is because Linux does not have Product Activation, Spyware, phone home ware, DRM and other atributes of the software fascist state that Windows has become and that software fascist state is the REAL Windows bloat problem currently.
deppbv78 = we were thinking the same thing while reading the article. Didn’t see your post before I wrote below.
This is the difference between academia and business reality.
I doubt there is anything really ‘wrong’ with the windows kernel. I’d venture to say for most purposes almost all kernels are basically the same today. The fact that this article waste time on ‘micro-kernels’ is just a testament to its pointlessness. Does anything think OS X is successful because of a micro-kernel? I’d bet that OS X could have been just as good if built upon a monolithic kernel.
What matters are the things this aricle doesn’t talk about at all. All the middleware, api supports, applications, configurations, administration, backwards compatibility…
You know…all the crap windows has had to do over the years to make it easy for users/business to use windows. Yes it means some pain, slowly making changes and adding/deleting/virtualizing features… but that’s how things get done.
I’m reminded actually of some of my work in telecom. One of the main differences between say Nortel and say Cisco was that nortel wanted to operate in utopia. Trying to build the perfect piece of equipment. Cisco was different. It would plan various releases increasing the functionality as it could be developed. In this way, products were developed in manageable chunks.
This is the same with MS. Could MS have focussed on security with windows 3.1/95? Yeah, but it was not needed then and would have made the product more complex for the home user. So they didn’t. Yet, as security in a networked world became important, MS made the transition (albeit maybe a bit late).
After seeing several engineering projects… let’s just say I’ll take the MS/Cisco way of building projects anyday. it’s much more sustainable long term.
PS… i am aware cisco ditched their old IOS for a new IOX operating system. However, I think Vista was a good enough kernel rewrite. What MS needs to improve with vista is all the middle layer crap I talked about earlier.
Comparing Windows to Linux or the Macintosh is irrelevant in this case.
It’s easy to say that Apple pushed out N versions during the life-span of Windows XP, because that’s what the shrink-wrap box says. On the other hand, Microsoft was slightly more generous to its users than Apple was. If Microsoft did what Apple did, XP SP2 would have been a new product that users would have to go out and buy. If Microsoft did what Apple did, you would have to go out and buy a new version of XP simply to run .Net based software. Comparing the version number on shrink-wrapped boxes is completely irrelevant because Apple and Microsoft have different ways of establishing a new version.
It is also worth considering that Microsoft Windows is a very successful product. Sure it has its problems. But what operating system doesn’t have problems? It is also quite probable that some of the problems of Windows are overblown. If almost every Windows box was a malware infested stew, as some people would have us believe, then most people would not use Windows.
On the other hand, Windows has some distinct advantages over the Macintosh and Linux. Need to run an old application, perhaps because you have some custom code or perhaps because it is too expensive to justify and upgrade? You probably don’t want to use an Apple product, because Apple keeps pulling the rug from under it’s customers. (In the past 24 years, Apple has implemented two incompatible operating systems and two incompatible CPU architectures. That does not include the 680×0 to PPC transition, because it was relatively smooth. Nor does it include the Apple II to Macintosh transition, because noone really knew what the future held in the really early days.) As an end user with one or two machines, and running only shrink-wrap software, it probably won’t matter too much. But imagine a corporate setting with thousands of computers, likely tens of thousands of software licenses, and some code that was implemented 10 or 15 years ago, and you could imagine the headaches of a constantly re-written OS.
Windows is not a toy OS. Windows is a significant part of the driving forces in our economy. Microsoft simply cannot afford to play games with it. Nor can society afford Microsoft playing games with it.
Right off the bat, this article makes several key errors.
Mac OS X doesn’t have a microkernel. It has a hybrid kernel, just like Windows has. And as Ars has reported a few times already, Windows Vista actually made strides *towards* modularity, and *away* from a monolithic nature. The “7” isn’t a meaningless number, it’s v7 of Windows NT. Windows doesn’t need a new kernel, the NT kernel is just fine, and probably the most stable and well-tested kernel out there, with all sorts of advanced features Mac OS X and Linux got 7 years later than NT.
I can go on. Apple was in a much worse place with OS9 than Microsoft is with Windows at the moment. Windows Vista is an extremely advanced operating system, and theoretically it could do everything al those others can, but the problem is just that Microsoft seems unwilling to use its own stuff.
As I’ve written in many articles already, Microsoft should just move its backwards compatibility fluff into virtualised containers, and re-use those parts of Vista that make sense. There’s no need for a complete rewrite.
No, it’s not. It will be billed as “version 7,” yes. But while his “7 means nothing” argument is silly, this is not actually the seventh major version of Windows NT, because the first version of NT was 3.1. So, if anything, Vista is this is the fourth version of NT (NT 3, NT4, Win2k/XP, Vista).
Edited 2008-06-29 23:22 UTC
1) Windows NT 3.1
2) Windows NT 3.5
3) Windows NT 3.51
4) Windows NT 4.0
5) Windows 2000
6) Windows XP
7) Windows Vista
8) Windows 7
Of course I’m not counting ‘server’ versions… Only the workstation versions… And yes, there is a BIG difference between 3.1 & 3.5. Namely PCI support. 3.51 had a big improvment in performance. 4.0 had the 95 gui & moved video into kernel space. 2000 had the whole COM thing…. You probably were here for the rest.
As Thom said, 7 is the Windows version used:
* Windows NT 3.51 (3.51)
* Windows NT 4.0 (4.0)
* Windows 2000 (5.0) //cmd.exe ver
* Windows XP (5.1) //cmd.exe ver
* Windows Vista (6.0)
* Windoes 7 (7)
Wasn’t the first version of NT based on Windows for Workgroups 3.11? And then you omitted version 3.5 in the list, which is a bridge to 4.0 in reality but the driver model for the kernel worked differently.
“As I’ve written in many articles already, Microsoft should just move its backwards compatibility fluff into virtualised containers, and re-use those parts of Vista that make sense. There’s no need for a complete rewrite.”
Whot E said.
Oh, and piss off the x86 flavours of Vista and focus on the x64 which runs fine and has had f-all compatability issues as far as I have seen in supporting Vista systems.
I’m almost growing sick and tired of all the Windows is sooo bloated bull. The reality is if Microsoft makes large significant changes such as a rewrite of the code while they still own the game, they force vendors who write for thier OS to rewrite their code. We all know the money involved in rewrites of large apps is rediculous, and to be quite frank the Majority of Microsoft’s business would move to another System, if they lacked support for an old codebase. I’m not sure if this is a good thing or a bad thing. Read on please…
When this all started, we basically had several closed systems, DOS, Unix, and Apple. While Apple was busy trying to make something incredibly easy, UNIX geeks were writing incredibly stable code but a rediculously complex operating system to write code in. Microsoft being the marketing shop that it was took the “hindsight is 20/20” questionably better path by doing a little of both. They wrote an operating system that was simple enough for a normal semi-knowledgable person to use while leaving some of the unix-like concepts (CLI, Multi-User, Networking) into thier operating system. Now it wasn’t nearly as robust as UNIX or as simple as MacOS. It was, looking at userbase, marketshare, and stockprice, a smart move. It all boils down to what the people want. Microsoft gained the most important capital that an enterprise, the user, the developer, and thier stockholders need: a huge chunk of the userbase. This benefits all involved.
The enterprise knows that they don’t have to forklift thier entire infrastructure every year if they use the Microsoft product line. Nor do they have to worry that its going to dissipate because as we all know, people despise change, especially if it makes thier jobs more difficult. And don’t argue the symantics about which OS is superior in usability. The reality is change is difficult, and that makes any OS but MS difficult to move to, bringing me to the User base.
The Userbase stays happy because A) the user already knows how to use windows, and hopefully any new revisons shouldn’t be much different. Most importantly I know my new apps and old apps for the most part will work with the new OS as well. Again better for the enterprise, no need to buy all new apps on every revision. Granted the Vista experience had been less than satisfactory or a complete failure for a lot of people. I had no problems, as well as most of the people I know.
The developer on the other hand, would have to rewrite an unknowingly large amount of code to move to another operating system. I personally have ported hundreds of homebrew apps to MacOS and BSD. Trust me, it isn’t simple, and comes for the most part, without any particular financial gains. I do it so I can use what I want without reguard to the OS I’m on. Simple pleasures I guess…
..Anyways. Finally this brings us to Microsofts capitalists. The people who fronted Bill Gates, the Microsoft Corporation, and all things involving thier product lines. All those who want a return on their investment aren’t going to settle for lost revenue and failing stocks. They want their fair due, and any influence in the particular companies/corporations they have is going to follow this mindset. Most importantly, Bill Gates and Steve Balmer want to make those investors happy, so A) They continue to invest, and B) Their own stock holdings go up so one day they can afford to retire and buy that pony they’ve always wanted.
My big point here is, if they scrap the code base, that requires Adobe, Microsoft’s Office Team, IBM, Lotus, Macromedia, and evey other major manufacturer of software to suffer in a complex and costly rewrite. The security side of Windows has drastically improved over the course of the past 10 years, and Vista was a step in the right direction, but it was still only that: A STEP. MacOS still lacks the infrastructure to replace the Windows Empire in the datacenter completely. People can choose to migrate to MacOS, but the limitations are still far too great, IMHO. UNIX and UNIX Like operating systems are just too OPEN, and provide far too many avenues for the administrator to feel comfortable going one way or another… My guess is the flames are already making way in response, but I just don’t see anyone moving from basically a turn-key deployment to UNIX. Yes, it can be done, but not without adding additional administrative costs.
I’m not sure what will happen, but my guess is Vista was a turning point. It was the Windows 95 of modern OSs. It forces some significant paradigm changes in the programming community that will hopefully allow the next release of Windows to incorporate the featureset that should have been Vista, while providing a less difficult jump for the end user. Everyone got to see where they are lacking in support, or where they weren’t prepared and it makes vendors fear the move to a different product line by big business. This should kick everyone in the pants enough to make Windows 7 a far better release.
Most of the european cities are several hundreds or thousands years old and… THEY STILL “WORK”
If we use the same philosophy used when the software is getting old, we should destroy old the european cities and start new modern cities (well designed, secure, escalable, etc.) from the scratch.
Maintaining old code allows:
* Backward compatibility, a very important factor to keep the customer’s software still running.
* Good implemented features can be improved and improved instead of rewritten and rewritten.
* Bad code can be marked just as “deprecated”.
* Madurity. As someone wrotes above, the software madurity comes with bug fixing… and the old code is full of bug fixes.
Joel Spolsky wrote a nice post about “no starting from the scratch”:
http://www.joelonsoftware.com/articles/fog0000000348.html
Edited 2008-06-29 22:22 UTC
You’re joking aren’t you? You ever try driving around an ancient city? There are places you literally can’t even get a car into. OK, that’s maybe not such a bad thing smog-wise, but it can be a bit of a pain.
Let’s consider this example:
In Rome you found a very narrow street where your car cannot get in (and there are a lot of streets with similar problems)… but you have the Coliseum, the Saint Peter’s Cathedral and a lot of great things….
Do you thing that destroying Rome and starting “a new Rome” because those “design bugs” should be an option?
Wouldn’t be better build new streets with all the “bugs fixed” but keepin’ the story and all the great thing intact?
Terrible analogy.
The NT kernel is an efficient kernel that few others have been able to match. The design allows for a very efficient modular design. While I agree that some improvements could be done, I do think it is more efficient from a design factor than many Linux, Unix, and MacOS distributions. Before all you flame this post, understand my background.
I work as a Web Designer, Technician, and Technology Trainer for a local school district of 18+ schools. We have a small school of 300 desktops and many laptops running Windows Vista fine. There was only one minor problem preSP1 and we requested the patch for it (that was included in SP1) from Microsoft beforehand and then sent it over. Just a hotfix for that issue. We have been testing software and have had such a great migration from XP to Vista that we have 900 more computers being replaced this summer at 3 other high schools. Only Autocad has been a problem for us, of course we are still using Autocad 2000 here, time for an upgrade. That is well out of date. Not bad in all else.
Take under consideration that this is migrating from Novell to full AD support running at 2003 native and has plans to be at 2008 native soon.
I have experience of Linux and other OS’s and they have their use. We currently use Linux for cloning and other services. However those that say Windows should be rewritten don’t really understand the efficiency of the Windows kernel.
I agree with you that the NT kernel by itself doesn’t need to be rewritten.
I think what people are complaining about is the userland portion of Windows. It’s bloated due to it’s ongoing support for backwards compatibility and legacy programs. Layers upon layers of code to make sure that DOS and Win 3.1 programs still work makes no sense to me.
It’s our job as IT people to “encourage” businesses, and institutions to operate on a sense of functional changes to infrastructure in a timely manner. The big problem stems from businesses that compare computers with hand tools, feeling they don’t need to change something out that “works”.
The product itself works, but the underlying infrastructure supporting it doesn’t. If you built a house the way Microsoft builds an operating system, it would be condemned very quickly. All walls, but a poor foundation.
IMO, the foundation for Windows is bad, and needs to be redone. The kernel itself is good, but the userland is a mess.
As I read it I am thinking does the author comprehend what he is writing about?
Quoting this person and that person.
First he says the legacy code of windows is bad, yet it is what established Microsoft as one of the largest software companies in the world.
Then he mentions the OSX and how it is based on NEXT (in my mind a legacy architecture that works for what it was intended).
He mentions the positive of the NEXT relationship rather than saying how unimpressed the mac faithful were, who would dual boot to OS9 to get work done. (That reminds me a lot about how everyone wants to downgrade to XP rather than use Vista).
The only mistake I can see Microsoft making in my limited understanding is. They should have made Vista fully a 64-bit only release. After all at a retail level we are usually forced to use whatever OS is provided with the hardware.
Because Vista already broke a lot of things eg. drivers and some older programs. Vista should have been the OSX release.
Just scraping code and starting over is not the solution. You do not do this to your company’s main IP. What was once dubbed “Windows Engine” when they scrapped 9x.
Again just my limited understanding, just stating the obvious.
Edited 2008-06-30 01:42 UTC
Hi,
I’m no fan of Microsoft, but before blaming any OS developer for “bloated crud choked with legacy support” it’d be worth taking a look at the hardware the OS is designed to run on top of – it dates back to the 1970’s and started as an 8086 (with the rest of the system slapped together by IBM out of spare parts), with a continuous stream of extensions, appendages and band-aids to bring it “kicking and screaming” into this century…
Starting Windows again from scratch would help, but starting “80×86 PC” again from scratch would help a whole lot more.
It’s basically what they have to do, sooner or later, in order to change the model. It gets them out of the box they’re in: preserves compatibility while allowing them to migrate forward. Apple did a similar thing, and it worked well; then again, Apple doesn’t have quite the same degree of compatibility burden, but their solution was sound.
“built on an ancient frame. Adding features, plugging security holes, fixing bugs, fixing the fixes ” – no really.
with the powerful processors and cheap RAM, OS developers, (not just Microsoft) should have a very small OS and run legacy apps in virtualisation.
Hi,
AFAIK Microsoft have been doing something like this for ages – see http://en.wikipedia.org/wiki/Windows_on_Windows
Or for something more recent, see: http://en.wikipedia.org/wiki/WOW64
IMHO adding an extra layer of bloat (the virtualization layer) probably won’t reduce the amount of bloat….
EDIT: To be more constructive, the only sane way of avoiding this bloat would be to avoid the need to support legacy applications. For e.g. make application developers release updated versions of their applications to suit the new version/s of the OS that run as native applications (or just use open source software so others can port it or compile it for the target OS).
Edited 2008-06-30 12:28 UTC
cache:http://tuxtraining.com/2008/06/21/beating-sandvine-on-linux-with-ip…
err wrong thread
Supposing Vista=V , then in roman numbering:
V+II = VII (7)
In other words, Windows Vista version 2 (II)
For an example of what is possible with a Windows-like OS, look at ReactOS. No bloat there…
I downloaded the nightly build of that yesterday and was very impressed. Only a 15Mb download (~100 Mb uncompressed), and it is *really* coming along well now. Feels really stable, even though it is still in alpha.
They apparently synced a lot of code with Wine (during
the Wine code-freeze recently) and that seems to have helped a *lot*. They’ll apparently be using an increasing amount of Wine code too.
They are using XP as their “yardstick”, so eventually they will start to pick up the XP users who have just recently been abandoned by MS and do not want to use Vista.
My point here is – ReactOS (at ~100Mb or so) will (in say 6-12 months or so) surely give you 99% of the Windows functionality you need (in that 100 Mb), so what on earth are the extra X Gigs in Vista giving you? Where is the value-add in the extra bloat?
Edited 2008-06-30 09:32 UTC
Seriously doubt Microsoft has the coding talent to write a new operating system fron scratch.
I honestly expect them to use GNU/Linux as their next code base if such a code transition were to occur.
According to the GNU/Linux software license, there is absolutely nothing preventing them from doing so.
When they do, it will be an admission Microsoft was wrong and that Unix-like systems and Open Source were correct.
What? Are you serious? They ONLY pay thier programmers 20% over the average. I’m guessing if anyone has competant enough programmers Microsoft does. I’m sure even a few of the Linux/OSX groupies out here would suck up the pride a little bit to work for the big bad Microsoft. It all comes down to green in your pocket, and trust me Microsoft, being the largest software house in the WORLD, pays for quality talent.
Also on another note: People often forget the beaurocracy in a corporation that large usually underminds a lot of the decisions that should be made at the development team level. Unfortunately, Marketing, Legal, Sales, and the Stockholders usually have more say in how a product turns out than the actual programmers do. In hindsight I do kinda wish MS had been split up into a more productcentric model during the AntiTrust suit. Unfortunately that could have also come with bad implications in the Microsoft world as well, possibly slowing production. It’s a two edged sword. Produce an entire productivity turn-key solution (Server, Workstation, Office Suite) all in the same place and allow them to work together allowing faster production and better knowledge transfer; or Split them all up and make them use public channels (increasing the size of beaurocratic management) which could allow them to focus more on thier own individual team projects. I don’t know which method works better. I’m thinking either way we, the consumer, get the shaft.
Edited 2008-06-30 13:54 UTC
I’ve been criticizing Microsoft for years and having to support various versions of their operating systems in various environments hasn’t done much to improve my opinion.
However, I’ve said many times that Win2K was a huge step forward.
All that aside, Microsoft has a lot of talent. The fact that they don’t do something we think they should doesn’t mean that they can’t ( or that it isn’t in development – check out Microsoft Research some time ).
There is a mighty slim possibility that they might make a one-off device that runs some other OS but then they have Windows Embedded for that or Windows Server, Appliance Edition.
And if, in some weird parallel universe, they chose an opensource OS for some project, I’m betting they’d use an xBSB over Linux.
I could see them writing some Linux apps – maybe. But, to suggest they would ditch the whole evolutionary line that has led them to Vista and Server 2008 is crazy talk and if you truly believe that, you’re smoking some mighty fine stuff.
The issue is not a lack of talent at MS development. The prime imho is a large overhead of people who shouldn’t argue about the technical issues and related stuff regarding OS development.
Windows 7 will be the best version ever if they base it on Server 2008. Keep it modular and clean and let the users chose what they want on their computers. Hire some new ui designers adopt a debian like package management. I’d love to run a gnome or kde like environment top of a windows base. Sudo permission granting. OK just make windows like linux except keep the hardware and software industry support and you have a winner.
See http://shippingseven.blogspot.com/2008/06/new-york-times-gets-it-wr… for an interesting rebuttal.