Posted on Nov 1, 2007

Why I don’t use any Microsoft Products

I have not run Windows on any machine I am responsible for since 2002. This includes all of my home computers (and my wife’s) along with various desktops/laptops I’ve had at work. The first thing I do with a new computer that shows up in my office at work is to download another Operating System (Ubuntu right now) and replace whatever is on the disk. There are a number of reasons I prefer to use some other distribution.

First and foremost, I am a software engineer with a background in systems administration. I learned more about computing in the first 6 weeks of using UNIX/Linux than I did in my entire college career. It wasn’t that my college was bad, it was that a UNIX box lets you look “under the covers” at what is actually happening at the OS level instead of abstracting important details away from the user like Windows does. What Windows does well is make it easy for your average Joe to use a computer. As a Computer Scientist, I expect a bit more from my OS. I want it to be customizable, I want to be able to troubleshoot problems without looking at MS documentation, I want open standards, I want to see what makes the computer tick. I really believe that Computer Science/Engineering programs should use a Linux distribution as a teaching tool. I even wrote my Master’s thesis on the subject.

I am at the point now that I become frustrated almost every time I touch a Windows box because things don’t work as I expect them to. When a relative asks me for help with a PC, my first response is to tell them to buy a Mac. It doesn’t make sense to me, as an engineer I think logically and some of the things that Windows does don’t seem logically sound to me. I’m always asking myself why something would work like that instead of this. I don’t think I’m alone. Every time I speak with a junior Windows administrator, they seem to think there is some sort of magic that can only be understood by a small group of individuals that makes a computer function. If you talk to a junior UNIX administrator, he/she will likely be able to provide reasoning and solutions for problems because they better understand how things work. I don’t want to be “protected” from anything, I want my OS/Software to let me see what is going on and tailor it to my needs.

There are many reasons people hate Microsoft. The open source community is always a huge culprit. The underlying cause is this: Microsoft’s goal is to maintain market dominance which frustrates those people who are for the advancement of computing. It’s not just that Microsoft is willing to threaten with anyone who may decrease their market share by not using an MS product, it’s that they are less concerned with advancing computing than they are about maintaining their position. There are many, many examples of MS using questionable business tactics in order to secure their spot, all of which bother me. What bothers me more is their unwillingness to adopt open standards. The reason is that these open standards will give people a choice between using an MS product and one released by someone else.

Take for example this whole fiasco with the International Standards Organization (ISO) and OOXML. There is a perfectly reasonable standard for rich documents that had already been adopted by the ISO, Open Document Format (ODF). Because ODF was already in use by products like openoffice.org, and there was no way MS was going to give them a head start, MS said told everyone that they were all for open standards but ODF was insufficient so they would write their own. What they did next was to include their standard, OOXML, in their MS Office distro and then submit it to the ISO for approval. Their document for the OOXML standard is around ~6000 pages while the ODF format is ~700. Evidently the goal was to give themselves a head start and make sure it was a complicated enough standard that everyone else would have a hard time using it. Worse, when the standard failed miserably to pass the first time, they strong armed a whole bunch of nations into taking an active role on the ISO and voting in favor of OOXML. Worse yet, the ISO is now complaining that none of these nations have reviewed or voted on any other submitted standard (the ISO does not only provide computing standards) causing the failure of these standards because they did not get the required 50% vote to constitute a quorum.

I can find plenty of other examples like this but there are more exhaustive lists available for your perusal elsewhere. My main problem is that as a Computer Scientist, I am interested in how we can advance technology and make it better. Too many times Microsoft hinders this effort by using it’s power or just by ignoring the rest of the world’s call for standardization. I don’t want to spend my time trying to figure out why my CSS isn’t rendering as the ISO standard states it should in Internet Explorer. I understand that this is a business and Microsoft has been excellent in maintaining their status. This still doesn’t make me want to use their products though. I want open standards that encourage companies to improve their products to gain popularity instead of only having one choice, I want companies to keep the best interests of the rest of the world in mind.