>The elephant in the room is Windows. Compared to the differences among AIX, Linux, Solaris, OS X, FreeBSD, NetBSD, OpenBSD, etc, Windows is a completely alien dimension. The world would be much better off if more projects stopped to trying to be portable to it. It's almost always a red-headed step child in a build, and the demand seems to come entirely from developers and techies who refuse to give up Windows as their personal development environment. Instead they weigh the burden on the rest of us in the form of crappy implementations.
The reason that developers try to support Windows is to increase their userbase and (hopefully) gain more developers, because the vast majority of open-source projects are hopelessly understaffed. Nobody really likes it, or likes being portable to it. But the fact is that a lot of people use it, and if we're writing software for people to use, we need to support it.
The fact that these developers -don't- use Windows as their personal development environment is the reason that implementations are so crappy.