Microsoft Developer Explains Why Windows Kernel Development Falls Behind
New submitter mha writes "In a response that truly seems to be from a core Microsoft developer, we are told about why Windows kernel development continues to fall further and further behind that of the Linux kernel. He says, 'The cause of the problem is social. There's almost none of the improvement for its own sake, for the sake of glory, that you see in the Linux world. ... There's no formal or informal program of systemic performance improvement. We started caring about security because pre-SP3 Windows XP was an existential threat to the business. Our low performance is not an existential threat to the business. See, component owners are generally openly hostile to outside patches: if you're a dev, accepting an outside patch makes your lead angry (due to the need to maintain this patch and to justify in in shiproom the unplanned design change), makes test angry (because test is on the hook for making sure the change doesn't break anything, and you just made work for them), and PM is angry (due to the schedule implications of code churn). There's just no incentive to accept changes from outside your own team. You can always find a reason to say "no," and you have very little incentive to say "yes."'"
"Oh god, the NTFS code is a purple opium-fueled Victorian horror novel [...]" -- lol!
I think therefore I am... a Linux geek.
The link's gone from HN, but it's still up here:
http://blog.zorinaq.com/?e=74
C++ is made by a standards committee mostly composed of industrials and a couple of academics.
The features that are added are added due to demand of members of the committee.
There are at least two major people on the committee that are from Microsoft.
I am a fairly active linux contributor. I have patches all over the kernel tree. I also review drivers/staging code.
Most of the patches that I send are things that I cannot test because I don't have the hardware. Even though I'm careful, there are still a few times where I have introduced bugs. The most recent example was code like this "if (!attributes & 0x4000)". That has a precedence bug so the condition is always false. Unfortunately changing it to "if (!(attributes & 0x4000))" disabled certain graphics card. The correct thing was to delete the condition.
Breaking stuff is just a part of development, you try your best but don't let fear of breaking things stop you from applying patches.
Probably over 5% of the 10,000 patches in every new kernel are cleanups. We're always merging API changes and unlike Microsoft we don't care if it affects out of tree drivers. There isn't any subsystem where the owner says, "This code is stable now and I'm only accepting actual bug fixes."
The other thing that helps is the short release cycle. If something does break, it's easy to fix.
Some people find linux development frustrating. One developer told me, "Ever since XXX took over the YYY subsystem he has been constantly changing the API and re-writing my code. Does he ever sleep? I don't know how anything works any more."
It's hard on reviewers as well. I have reviewed literally over 3000 cleanup patches to the comedi subsystem. I have mornings when I feel lazy and it doesn't fill me with joy to see 40 new cleanup patches in my inbox. The process is expensive.
But I do feel a great deal of pride in the work.
My understanding is this can be turned off. It is less Windows and more Windows Defender:
"Windows 8, set for release on 26 October, automatically deletes entries in the HOSTS file for specific domains. Try, for example, to prevent attempts to access Facebook.com, Twitter.com or ad servers such as ad.doubleclick.net by rerouting them to 127.0.0.1 by adding entries to the HOSTS file and the relevant entries will soon disappear from the HOSTS file as if by magic, leaving nothing but an empty line."
This behavior is due to Windows Defender in Windows 8 thinking it has discovered malicious modification of the Hosts file. Windows Defender is enabled by default in Windows 8. Users who would like to continue using the Hosts file as a simple, albeit effective method of blocking certain sites, can do so by adding the Hosts file to Defender's exceptions list. Of course, that means that Defender will never be able to notice any actual malicious changes to the Hosts file.
Windows 8 seems to be rather prejudicial about which entries in the Hosts file Defender will automatically delete. It automatically deletes Twitter, Facebook, doubleclick and other ad sites but other domains such as "heise.de" it leaves intact.
www.h-online.com/security/news/i927.html
Doctors destroy health, lawyers destroy justice, universities destroy knowledge, religion destroys spirituality
Great rant, except that over 75% of the Linux code contributed is contributed by paid corporate employees that are simply doing their job. They aren't contributing because they love the code and doing it of their own free will and volition. They're doing it to put food on the table just like MS employees are. They may or may not love coding and love their job just like MS employees. Working on open source doesn't mean you love open source or that you love coding. Correlation != causation.
Great rant, except that over 75% of the Linux code contributed is contributed by paid corporate employees that are simply doing their job.
Supporting evidence for this assertion:
Corbet, Jonathan, Greg Kroah-Hartman, and Amanda McPherson. Linux Kernel Development: How Fast it is Going, Who is Doing It, What They are Doing, and Who is Sponsoring It . San Francisco: Linux Foundation, March 2012. 9.