Why Vista Had To Be Rebuilt From Scratch
iliketrash writes "The Wall Street Journal has a long front-page article describing how Jim Allchin approached Bill Gates in July, 2004, with the news that then-Longhorn, now-Vista, was 'so complex that its writers would never be able to make it run properly.' Also, the article says, 'Throughout its history, Microsoft had let thousands of programmers each produce their own piece of computer code, then stitched it together into one sprawling program. Now, Mr. Allchin argued, the jig was up. Microsoft needed to start over.' And start over they did. The article is astonishing for its frank comments from the principles, including Allchin and Gates, as well as for its description of Microsoft's cowboy spaghetti code culture."
One of the best books I ever read on the Microsoft code culture was "Breaking Windows: How Bill Gates Fumbled The Future Of Microsoft" by David Bank. From the book, Jim Allchin is the Windows guy who quashed Brad Silverberg and the (relatively) innovative Internet team - although ironically he was an early advocate for getting TCP/IP support in Windows. He believed that all innovation in Microsoft should take place under the Win 2k banner and that the company should just keep making Windows bigger and bigger and bigger. Hmm, maybe it got too big.3 203151/qid=1127565487/sr=8-1/ref=pd_bbs_1/102-0616 241-1101748
http://www.amazon.com/exec/obidos/tg/detail/-/074
Tristan Yates
I have a friend at university who was recently hired by Microsoft, partially for a quality control role. While this's a single case, and in no way can be extrapolated to the whole company, from what he's said, it's apparent that they're reusing a large amount of their codebase, with the dodgy bits either rewritten or modified and thoroughly tested.
As you said, there's no way in hell you can have a 12 month rewrite. But, with any luck (for the end-users), this will hopefully turn out to be more than PR fluff.
Battling Google, Microsoft Changes How It Builds Software
Delay in New Windows Version Drove Giant to Develop Simpler, Flexible Product
Engineers Get Trip to 'Bug Jail'
By ROBERT A. GUTH
Staff Reporter of THE WALL STREET JOURNAL
REDMOND, Wash. -- Jim Allchin, a senior Microsoft Corp. executive, walked into Bill Gates's office here one day in July last year to deliver a bombshell about the next generation of Microsoft Windows.
"It's not going to work," Mr. Allchin says he told the Microsoft chairman. The new version, code-named Longhorn, was so complex its writers would never be able to make it run properly.
The news got even worse: Longhorn was irredeemable because Microsoft engineers were building it just as they had always built software. Throughout its history, Microsoft had let thousands of programmers each produce their own piece of computer code, then stitched it together into one sprawling program. Now, Mr. Allchin argued, the jig was up. Microsoft needed to start over.
Mr. Gates resisted at first, pushing for Mr. Allchin's group to take more time until everything worked. Over the next few months, Mr. Allchin and his deputies would also face protests from programmers who complained he was trying to impose bureaucracy and rob Microsoft of its creativity.
"There was some angst by everybody," says Mr. Gates of the period. "It's obviously my role to ask people, 'Hey, let's not throw things out we shouldn't throw out. Let's keep things in that we can keep in.'"
Ultimately, Mr. Allchin's warning proved cathartic and led to what he and others call a transformation in Microsoft's most important product. A key reason: the growing threat from rivals such as Apple Computer Inc. and makers of the free Linux operating system. In recent years these companies have been dashing out some software innovations faster than Microsoft. Google has grown particularly effective at introducing new programs such as email and instant messaging over the Internet, watching how they perform and regularly replacing them with improved versions.
Microsoft's Windows can't entirely replicate that approach, since the software is by its nature a massive program overseeing all of a computer's functions. But Microsoft is now racing to move in that direction: developing a solid core for Windows onto which new features can be added one by one over time.
As always, Microsoft's great fear is that it will lose its near-monopoly on computer operating systems and basic office software. In the short term, there is little danger of that. But the more Google and other software makers encroach on Microsoft's turf, the greater the chance that someday computer users will wake up and find Microsoft Windows superfluous.
"What happened when the American car companies failed to update their manufacturing lines? There was a more efficient way to bring cars to market for a lower price and they lost their market," says Microsoft Vice President Chris Jones. "We're in a little bit of a different industry but it's the same thing."
Microsoft's holy grail is a system that cranks out a new, generally bug-free version of basic Windows every few years, with frequent updates in between to add enhancements or match a competitor's offering.
The Longhorn crisis helps explain the sweeping restructuring that Microsoft Chief Executive Steve Ballmer announced this week to organize the company into three major business units. A key goal is to force Microsoft to be more nimble in producing and delivering software.
Mr. Allchin's reforms address a problem dating to Microsoft's beginnings. Old-school computer science called for methodical coding practices to ensure that the large computers used by banks, governments and scientists wouldn't break. But as personal computers took off in the 1980s, companies like Microsoft didn't have time for that. PC users wanted cool and useful features quickly. They tolerated -- or didn't notice -- the bugs riddling the softwar
Not sure if this is what you were interested in, but I think Paul Thurott has some great lengthy and detailed articles, along with some interviews with Microsoft engineers for some insight in the stress, problems, and achievements with various large Windows projects, and also with pictures of their build labs and test machines.
For example:
Windows 2000
Windows XP SP2
Windows Server 2003
A disclaimer bias-wise is that Paul Thurott is a guy who wants Microsoft to do well, but he's not afraid of criticizing them harshly when he doesn't agree with their decisions, so I think it's still not a case with "inside stories" being too biased to be useful. He was for example the guy behind the quote that Windows Vista had the markings of a shipwreck after seeing Beta 1. Although he has had some missteps IMO such as saying Windows Me should be far more reliable than Windows 98.
Beware: In C++, your friends can see your privates!
The same code is still there, and the same "start menu" philosophy. This wasn't a philosophical and technology change, it was an administrative one.
I'm glad they have good Quality Control now... maybe they'll apply for the ISO 9000 designation? Regardless, I don't think this points to a new thinking or revitilization in the company as the title and article seem to suggest.
It's not a new code base, just a new process.
There is a rage in me to defy the order of the stars, despite their pretty patterns.
From what I read on the net, the code base used was that of windows 2003 server.
Not quite true... In the mid 90's they did release a version of their own internal tool known as ChangeControl under the name Microsoft Delta... it flopped, big time. Needing something better, they purchased One Tree Software in 1994 and rebranded their One Tree SourceSafe to the more Microsoft style name of Visual SourceSafe.
Help Brendan pay off his student loans
So they took the clean code they had from their server core (maybe from the next server edition, maybe from 2003?) and then used that to create Longhorn. So no, they didn't start from scratch, but they aren't building upon the XP quicksand foundation either.
Every time a guy gets a threesome, somewhere in heaven an angel gets his wings. --Cary Tennis
As for SourceSafe, I've been told that it sucks. Badly. The source control in Visual Studio Team System is meant to be an awful lot better - they're trying to compete with things like Rational ClearCase. That said, it's both pricey and a 1.0 release. It might be worth looking at, though, if you have management insisting on a Microsoft solution.
Linux is open. So, you can actually answer your own question by looking at the code.
Microsoft is closed. You cannot answer the same, or really any question, about the code. I know Microsoft lies to its customers so I sure don't trust the unsupported claim that the code for its latest hodge-podge OS endeavor has really been written from scratch. I'd say, if anything, take what MS says and believe the opposite.
We all know this article would not have appeared if Microsoft's marketing department had not approved it. What was Microsoft's claim during the Anti-Trust Case? Oh, that evidence wherein we admit doing something against the law -- that's just marketing. We didn't really do something against the law. We just chose to describe in such a way to our customers for marketing purposed. Yeah, right.
Mac OS X is not that modular. GNU Hurd is far more, and even GNU/Linux.
Mac OS X’s kernel’ not modular at all. It has conflated the Mach microkernel, which has already been abandoned by the Hurd for its bad performance, with the monolithic BSD kernel. The result is something just as monolithic as BSD, but much larger, more complex and slow. Linux is not as fast or simple as BSD, but still much faster than Mac OS X — and both are just as modular.
In contrast, the Hurd on the Mach is a little bit slower but much more modular, and the new L4 version has the potential to be much faster and still much more modular, because it is a true microkernel with multiple servers.
The Mac OS X GUI’s not modular at all X is.
Leandro Guimarães Faria Corcete DUTRA
DA, DBA, SysAdmin, Data Modeller
GNU Project, Debian GNU/Lin
Ahem OpenStep was a joined effort of Sun and Next Systems...
Not exactly. NeXT tossed NeXTSTEP over the wall to Sun, who promptly botched it. Did you ever see OpenStep on Solaris? Let me tell you, it was not a pretty sight.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
There are some more technical details on the big map of windows and the quality gates in this blog post:
0 8/23/455193.aspx
http://blogs.msdn.com/larryosterman/archive/2005/
There's a carrot and stick approach. The carrot is that Microsoft touts all the cool new features that will make life so much easier. Features you won't be able to live without.
Then there's the stick. Part of it is to have Office use features of the new OS, so you won't be able to perform some spiffy operation without it.
Another part of the stick is to badmouth the prior version, but explain that all the issues being badmouthed are fixed and gone in the new OS.
So you get stories where Microsoft "finally admits" to various things, (like that DOS really does underly Win9x, despite assurances that it was gone)... You've read them.
There's certainly truth to what Microsoft claims, and it's nice to see real issues being addressed. For example, WinXP's move away from the Win9x base to the more solid WinNT base was a huge win for most users (although gamers complained about a lack of drivers).
But don't be fooled - fundamentally, you're just looking at PR spin designed to created demand for an new OS.
That should be easy, SourceSafe just can't handle large numbers of developers or files.
Microsoft doesn't even use SourceSafe. I'm pretty sure the VS guys did a study and found the vast majority of SourceSafe users were people like admins or secretaries who were backing up docs and spreadsheets on their department server.
When I started at Microsoft, they use SLM (source library manager) which convenient was pronounced SLIME. This thing was horrible: it used file locking, wrote little temp files to "lock" directories, used your volume label as part of your checkout, etc.
For Win2000, they threw that away and bought Perforce's code, and modified it a little bit. It was branded "Source Depot", and was about 100 times better.
But back to your question, SourceSafe just doesn't scale. Try using it with 200 developers and a couple thousand files. It'll die.
Microsoft got The Wall Street Journal to publish that free advertisement? That's incredible.
Look at MS's big challenge now.. They are a monopoly, they are not going to increase their market share any more, because they already own the market. Their challenge is getting people to stick with their stuff, despite the demonstrated long standing problems in security.
So, they throw in some tidbits critical to MS's past practices, because everyone is painfully aware of the problems they have had with security, viruses, etc. And they introduce our savior, Jim Allchin, who in a miraculously short amount of time, fixed all the development issues and got the company on track producing bug-free software.
Now, IT managers can breathe easy, assured that the next release of Windows will solve all that pains them, and will be well worth the high price MS demands.
This article is a great demonstration of why MS is on top. They have the clout to place a piece of propaganda in a national publication that will be read by a good percentage of corporate execs. That's innovation, MS style.
For the record, even though I only develop in a particular branch of Longhorn, I do have access to the whole source tree.
Microsoft has BEEN using automated integration and unit tests, for at least fifteen years. (I spent a year owning some of the unit tests for USER, back in NT 3.1 days.) Windows has one of the best systems for allowing modular code out there-- yeah, we know about DLL hell, but it's there because lots of programs *do* use the same shared libraries, and with the versioning stuff in Win2k and later it's mostly dealt with. Predetermined interfaces... gawd. COM was developed precisely to allow that, and it's been working its way steadily deeper into the OS over time.
Microsoft's existing dev practices would allow them to produce something the size of Apache, or PHP, or OpenOffice, with no trouble; they needed to do something better because the project they're taking on is so much larger.
Apple's own systems programming staff
;) ). A lot of the Carbon toolbox implementation comes from Copland (most of it via Mac OS 8.5). Much of the Darwin IOKit design (but _not_ the implementation) is derived from Copland's NuKernel driver architecture, and some small parts of IOKit are derived from Pink/Taligent designs (but not the implementation).
You misspelled executive management. Apple had plenty of fine programming talent who would have been happy to execute on a strategy. Any strategy.
It may surprise you to learn that many programmers at Apple -- including key members of the Cocoa team, the Carbon team, and the IOKit team -- worked on Copland. Difference between Copland and Mac OS X? Executive management. Define a goal and stick to it. Q.E.D.
In fact, a non-trivial amount of code and concepts from Copland is recycled in Mac OS X (excluding Classic for the purpose of this discussion