Some of it is also just dysfunction at Microsoft. There's discussion threads on HN about Microsoft's organizational problems. A big thing seems to be that trying to improve stuff when that's not your department is very frowned upon, because it creates work checking, verifying, building, documenting etc. over there. And Microsoft's management obviously has priorities, so the people actually responsible for some piece of software aren't working on it either most of the time.
Compare this with any free software project. The whole world is pretty much encouraged to send in patches. And if the maintainer has no time or is a dick, you can publish your patches even without them.
Some of it is also just dysfunction at Microsoft. There's discussion threads on HN about Microsoft's organizational problems. A big thing seems to be that trying to improve stuff when that's not your department is very frowned upon, because it creates work checking, verifying, building, documenting etc. over there. And Microsoft's management obviously has priorities, so the people actually responsible for some piece of software aren't working on it either most of the time.
Compare this with any free software project. The whole world is pretty much encouraged to send in patches. And if the maintainer has no time or is a dick, you can publish your patches even without them.