Interview of the Windows XP SP2 Dev Team
Masa writes "SuperSite for Windows has a nice interview called "Windows XP Service Pack 2: The Inside Story". The interview gives a good insight, what kind of a project the Service Pack 2 was, how it got started and how huge effort it actually was." The ITMJ Product Guide is part of OSTG, as is Slashdot.
It's interesting to know that there was a fair amount of thought involved in enabling the firewall in SP2. Who would've thought that could break a system? Not that I use Windows much any more, but it's still a welcome enhancement.
So at Microsoft, either something works and isn't secure, or is secure and doesn't work.
I know, this isn't really news, but it's not every day you hear it from Microsoft.
There's a Mercedes gap too. I want one and can't afford one, but it's not government's job to do anything about it.
A people that values its privileges above its principles soon loses both. Dwight D. Eisenhower
I've been reading The Old New Thing for a few months now. It's a blog written by a guy at Microsoft (I don't know what department), and among the things he writes about is why windows sometimes works in unexpected ways.
Yeah, Windows has lots of bugs. But some of those bugs can't be fixed, because certain major programs rely on those bugs . When you fix the bugs, you break the programs. Almost every bug fix windows gets these days is accompanied by a program breaking. MS has to try and decide whether enough users are affected by the bug to make the fix worthwhile.
MS has been pussyfooting it about breaking programs in the past, and I'm glad MS finally bit the bullet with SP2 and broke all those programs in the name of security. It was high time. Of course, it means I have to keep a second PC around for some older games, but hey, that's life.
That's what a billion users spending $50+ billion a year on Microsoft software get for their money. They could have hired tens of thousands of programmers just to do line-by-line code audits without making a dent in their budget.
Why I get 5 calls a night from one idiot or another who has enabled automatic update without knowing it, download SP2, and subsequently had their entire IP stack screwed. Is that a feature?
Todd: I'm talking Windows [Division] in general, or Microsoft in general. The Longhorn wave
As I had previously read this is not a joke, just look at this quote from a Microsoft worker: http://www.longhornblogs.com/robert/archive/2004/
Now, at the same time all this has been going on, there has been a lot of complaining about the constantly slipping Longhorn release date. I haven't weighed in on that too much yet, but I think it's time to break my silence. Microsoft shifted between 80-90% of the Windows Client Team off Longhorn development and onto Windows XP SP2.
Is not that the SP2 is a bad thing. Is a great improvement, but it took so many time, it was delayed so many times...that's all what Microsoft can do? I mean, they just put all they resources in the SP2 and it took them forever to release it.
Perhaps it's just me, but the open source world evolves much faster and has more resources than Microsoft. Every 6 months I see more evolution in the OSS field than what I saw in SP2 (and again, it's not that the SP2 was bad - it was great! But just look at fedora 3 with its SELinux integrationand all the rest. We're being faster than them IMHO, and how fast can you evolute is more important than "how good are you today"
I notice they left out some photos of the other team members. Maybe they actually looked like operating systems geeks instead of models?
One major problem is that the enduser needs an interface to navigate through and come to grips with every serious security feature. Since IE has trained millions of users in promiscuous computing, this is a particular challenge.
Every time something does not work, the enduser rarely cares why, in the technical sense. Instead, they want an abstracted answer to their unvoiced question along with a quick fix and the promise this will never happen again. For every feature, there also needs to be a user-handling sister feature.
A very simple example is a popup blocker, which must at once notify the user of a popup, prevent its display (the core functionality), and provide a way for the user to configure the feature (UI). While a popup blocker is a pretty much 2-second learning experience for myself, it takes other multiple sessions to come to grips with it.
uh... I'm going to have to disagree with you there...
:) Go visit http://www.night.net :) Those jokers are still running WindowsNT for most all of their servers... who knows why other than being unwilling to learn and change with the world... running some oreilly web server I can't recall. (Oh yeah, WebSite...) Servers rebooting several times a day. Simply remarkable the lengths and crap people will endure simply to avoid learning something new. Boggles my mind.
Drivers under XP are still running at Ring-0. The same Win32 API thing is still in operation which makes virtually any security problem, a system-wide compromise since the message queue is a problem that cannot be fixed without a complete rewrite/replacement of Win32.
Part of Windows's current set of problems involve the execution level of device drivers. Another part is the message queue problem. The integration of MSIE is a pretty critical failure too but wouldn't be were it not for the existance of the first two. The first two problems necessitate abandoning or virtualizing the Win32 API as it is today. The only safe way to continue using that API is to run it in a virtual machine that doesn't actually run that API itself. That way, the apps and drivers cannot corrupt the rest of the OS needlessly.
MS can win on Slashdot if MS would abandon its pride and admit when mistakes are made. It was a mistake to integrate MSIE too deeply into the OS. The shell itself should have be safely disconnected from the kernel. I remember when Win2k was first being introduced and discussed at some Microsoft thingy... I raised my hand during the Q&A session and asked if drivers were still running at Ring-0. The guy I asked didn't have a clue what I was talking about but another guy did and "admitted" '...yes...' with a sigh. So he knew as much as I did that drivers at Ring-0 is a critical problem. (even if all devices are certified by MS, people still write and use those damned VXDs as DLLs for their programs so they can get 'more' from the OS in the way of performance... thereby running their apps at Ring-0 and circumventing program protections.)
When Avalon (whatever that is) comes out I am sure there will be plenty of people bitching about it... no getting around it. But I think the world has adjusted to the fact that Win98 is an abandoned OS and should be regarded as such. Win2000 is not yet abandoned and should be supported where it is appropriate. (Did people actually use WinME??? Dear god...thought it was just a bad dream...)
MS forcing developers to start over again should be considered normal and acceptable. I don't think anyone should bitch about that at all. There are other reasons developers should bitch at Microsoft, however. In my view it's like people bitching that they need to go back to school to update their education. Sorry man, but the world is a changing place and if you don't change with it, you will die. But then again...
Well anyway... I know these people are out there and I admit you're probably right that MS can't seem to win on Slashdot, but I'd be willing to bet that people on Slashdot at one time did sing the praises of Microsoft as I once did. I hold that Microsoft EARNED Slashdot's disapproval and it would take a LOT to restore any good feeling we once had.
he's an MVP, not an MS worker. MVP's are people awarded by Microsoft for their efforts in helping others out. An MS employee can't be an MVP by definition.
FB, C# MVP
Never underestimate the relief of true separation of Religion and State.
Richard Stallman asserts that closed, proprietary - non-Free - software is an ethical wrong. That is to say, it reduces the amount of freedom in the world. By developing, supporting, selling, evangelising - etc, etc - proprietary, non-Free software, one actively HURTS one's fellow humans. I mean this in the RMS sense - I'm not talking about Windows being less secure or less stable than GNU/Linux, but being less free.
How do Microsoft (et al) developers, who are obviously intelligent, hard-working and - at the technical level, at least - well-intentioned people, reconcile this with their consciences? Do they...
Hope this doesn't sound like a troll. I just really want to understand why people go along with this system. I don't get it, but obviously most of the rest of the world don't care or have some other cognitive work-around. Please enlighten me someone!
"None are more hopelessly enslaved than those who falsely believe they are free." -- Goethe
Then the vendors can release patches for their apps so that they will work after the service pack is applied.
And before anyone goes off about how Microsoft would have to spend too much money and time testing every app out there, you're wrong.
There are lots of companies with contracts with Microsoft and Microsoft could ask those companies to run a quick diagnostic app on some of their machines with the apps those companies consider critical to their business running.
That way, Microsoft could see what apps were using the bug that they planned to fix and how many of their big customers would be affected by a fix.
Microsoft has the money, the contact info, the company info and the existing contracts to do just that.
The real reason Microsoft doesn't do that is because there are too many bugs that rely upon other bugs and Microsoft doesn't even know which are which or where they are.
For reference, look at this previous
Which is very different from a very specific video problem in Linux.
It is not the same trade-off as with Linux because it is possible to run a Linux server with only the command line interface.
With Windows, every implementation has those flaws.
With Linux, only a very specific sub-set of implementations have those flaws.
So Microsoft's security strategy is to put together death march development teams? Is this supposed to make me feel better?
Security is difficult and expensive and costly in terms of developer talent. Microsoft responded to a market situation with a team and a hard driven strategy. Fine. What about next year? What about when the tide of worms and trojans is stemmed, and everyone forgets about how bad it was in 2004?
Derek
I don't see how. You claimed it was up to the people who sold the software to fix it, and I pointed out that much software was not written to be sold as a product. It was written by the people who had a problem to solve.
Yes, and I just got back from the pub, where I was talking with a friend who claimed you don't need to bother applying security updates if you have a good firewall - in fact, he said, it's best not to because stuff might break. And this is with a huge amount of effort put into things like SP2 by Microsoft. He isn't the first person I've met with that attitude.
I work for Codeweavers and in fact this Windows 3.1 app (it was for a hospital) now runs quite well on Linux. We work hard to ensure Wine and CrossOver stay working on an incredibly unstable platform. Do you know that every single release from Red Hat 9 through to Fedora Core 3 has broken CrossOver/Wine in some way? Every single one? These typically weren't "bugs" and they weren't one line fixes. I myself put a lot of work into allowing Wine to run when exec-shield and prelink are active.
So, I'd like to think my opinion is an informed one because I work at the crossroads where Windows and Linux meet, and the differences in stability between them are like night and day.
Here's a simple experiment to try. Install IBM Domino Server and run it on any modern distribution. Any Fedora Core release will do. At least the release I have, won't run. It'll hang during startup in a way that looks like it's running, but actually it's not.
Now go to garagegames.com and download the Lore demo. Run it. It will fail to start with an error about libgcc_s.so. In fact most of the Loki games are now broken in some fashion.
Now try disabling NPTL, and they'll start working. Did you know about LD_ASSUME_KERNEL? Do you understand what it does?
Here's another experiment. Install a stock Red Hat 9 distribution and upgrade its copy of GTK+ to 2.4 - remember, this release is supposed to be backwards compatible. Observe that GNOME now hangs when it logs out due to a semantic change (bugfix) in GObject.
Final experiment. Write a program to create a menu heirarchy that works on every distribution out there. Actually, don't bother. The one that ships with CrossOver is over 3000 lines of Perl and covers the 6 or so different menu systems otu there as well as cases where a distro ships with more than one at once.
But which is dominant? I think you'll find it's Windows.
Sure. Stability and backwards compatibility don't matter much when you're selling a product that just has to serve web pages, or route mail. Everything you need comes out of the box. If stuff breaks it can be fixed by the distribution provider. The same is not true on the desktop which has a much less homogenous set of software in use.