WMV (the same thing as ASF by the way), is held secret by Microsoft. But the open source community has reverse engineered the format, so apps based on ffmpeg or libavformat can read the format (notably VLC and MPlayer). Inside the format is a codec (which compresses the video and audio content to a managable size). The audio is pretty much always WMAv2, which was also reverse engineered. The video is either Windows Media 7 (WMV1), Windows Media 8 (WMV2) or Windows Media 9 (WMV3), or in ASF optionally MP41, MP42 or MP43, which are what became the original DivX 3 codecs. The above open source apps can read the MP4* codecs, and WMV1 (but with inferior post-filtering compared to WMP by visual assessment). They can play WMV2 but not some of the advanced features, so when there's a lot of action the decoder kind of craps out and you get heavy artifacting. They can't play WMV3 at all. So depending on the codec used to compress your WM file, the open source apps will be able to play it perfectly (MP4*), adequately (WMV1), partially (WMV2), or not at all (WMV3).
WMP is a poor app and has poor threading, but I've seen no evidence of spyware in it. If you have, I would appreciate some links.