Microsoft’s kernel is falling behind Linux because of a cultural problem at the Volehill of Redmond, claims one of its developers.
The anonymous Microsoft developer who contributes to the Windows NT kernel wrote a response acknowledging the problem and explaining its cause.
He later deleted the post because he felt it was too cruel and did not help make his point, which is about the social dynamics of spontaneous contribution. It was republished here by those who did not agree.
The developer said that Windows was slower than other operating systems in many scenarios, and the gap is worsening.
He wrote that the reason was social and while there are naive people at Microsoft who try to make things better, they always fail.
Microsoft will only improve kernel performance for specific scenarios that people with the ability to allocate resources believe impact business goals.
However, there is no formal or informal program of systemic performance improvement.
The only reason Microsoft started caring about security was because pre-SP3 Windows XP was an existential threat to the business. Low kernel performance was not a threat.
The developer also said that there was little incentive to create changes in the first place. On linux-kernel, if you improve the performance of directory traversal by a consistent five percent, you’re praised and thanked. In Redmond, if you improve performance and you do get your code past the Ob owners and into the tree, your own management doesn’t care.
Making a massive improvement will get you noticed by senior people and could be a boon for your career, but the improvement has to be very large to attract that kind of attention.
In Redmond, incremental improvements just annoy people and are, at best, neutral for your career.
As a result people stop trying to do unplanned work after a little while.
Microsoft also has a problem keeping talented staff – as Google and other large Seattle-area companies keep poaching the best and most experienced developers.
Redmond has solved this by hiring kids straight from college to replace them. These developers mean well and are adequately intelligent, but they don’t understand why certain decisions were made, don’t have a thorough understanding of the intricate details of how their systems work, and most importantly, don’t want to change anything that already works, the whistleblower wrote.
These junior developers also have a tendency to make improvements to the system by implementing brand-new features instead of improving old ones.
He said that Microsoft had some old-fashioned hardcore talented developers and the NT kernel is still much better than Linux in some ways.
But Microsoft’s good workers keep retiring or moving to other large technology companies, and there are few new developers achieving the level of technical virtuosity needed to replace those who leave.