Opinion on Microsoft

Ok, let's see if I can get through this without cussing.

Broadly speaking, I am not fond of Microsoft, Inc.--either the company or the software they create. I am confused why so many people accept the poor quality products they generally produce, and why people are generally so accepting of their business practices. Certainly there are a handful of things they do well. But I think that misplaced avarice guides their product development.

Monopoly

As far as I know, there is nothing wrong with achieving monopoly status in an open market. A company need not have the best product line to achieve functional monopoloy status, it need only have a good enough product with sufficient market share to make the cost of creating a rival product prohibitively expensive. As far as I understand it, that's basically what Microsoft has done with its windowing operating environments. However, US law prohibits using existing monopoly power to enter new markets. A US Federal court has determined that Microsoft has repeatedly done precisely this, and the Department of Justice and Microsoft are now arguing about what should be done about it. Originally, the first judge on the case ordered that Microsoft be broken up; that is currently under appeal because the first judge appeared to be hostile towards Microsoft.

Which markets did they leverage their functional monopoly to enter and drive out competition? Certainly they used Internet Explorer to drive Netscape basically out of business. They used Windows to drive the makers of DR-DOS out of business. They have attempted to use ActiveX to battle Sun's Java language. They are using Media Player to battle Quicktime and RealAudio. And they are using their desktop to battle AOL for home-user dialup accounts by preventing computer manufacturers who ship computers with windows pre-loaded from modifying the installation to display competitors products by default.

Let me reiterate the main point plainly. Microsoft has broken the law repeatedly. Even since they have been found guilty of anti-competitive practices.

I don't know what to do about it. Splitting the company up strikes me as being futile because in 10-20 years they will just rejoin, kind of like how many of the oil companies and phone companies are re-consolidating now. I think that a punitive fine would probably be the most effective deterrent from executing similar behavior, but I doubt that will happen. Under the Bill Clinton administration the Department of Justice vigorously litigated Microsoft, and sought a three-way breakup. Shortly after the George W. Bush administration came in, however, the tone of the DoJ changed drastically. I suspect that if the DoJ sought and was awarded stiff monetary penalties, big-business campaign funds would dry up significantly. For that reason, I suppose that a breakup is the most likely outcome.

Security

Microsoft's record on security is abysmal but improving. In the mid-1990's, there was a famous virus hoax called dubbed "Good Times!". According to the email, if you opened the email it would wipe out your hard drive and a lot of other nonsensical gibberish. I frequently replied to such messages (somewhat angrily at times) that there was no way that an email message could cause such havoc. That was before Microsoft release their email client named Outlook.

Outlook had a number of unique features that no other mail program had, including a macro language. The language was powerful enough to permit the macros to read, modify, and create files on the local system. It also had the ability to run other programs. It turns out that is exactly what was required in order to be to create an email virus like that described in the "Good Times!" hoax.

I found it galling beyond words that a company would release for general distribution a piece of software that gave so little thought to its users privacy and security. However, everyone makes mistakes, and that could potentially over time be forgiven. Except that it has happened repeatedly. The macro languages in Word and Excel have both been determined to have similar capabilities--the class of attack is known as a "Macro Virus". And they did it again in their web browser with the creation of ActiveX.

Business are now finding that using the software from a company that has little regard or understanding of security can be highly dangerous. From an attacker's perspective, the potential value of attacking a single individual is miniscule compared to the potential value of attacking a business' server. An individual's computer is likely to have personal correspondence, games, and perhaps personal financial information. A business' server is much less likely to have games, and significantly more likely to have either trade secrets (which can be sold to rivals or used for blackmail or both), or have some of the business' financial information. Given that businesses tend to deal with a lot more money than individuals, the potential payoff is much higher.

Many business have migrated their servers to Microsoft's server applications for perceived improvements in ease-of-use (thereby reducing the cost of use and maintainence) and familiarity. Unfortunately, many of Microsoft's server applications suffer from the same lack of security that their home-use applications do. Their web server is far and away the most vulnerable of any web server currently in wide use.

Actually, I should like that, because it means that I have job security. But I don't. My management repeatedly insists that they have projects that can only be done using Microsoft software. It takes significant, repeated effort to explain the risk behind its implementation and use.

Efficiency

Or, rather, the lack of efficiency. Microsoft writes applications that are extremely inefficient in nearly every quantifiable way.

The file formats used by Microsoft are normally proprietary. They are generally documented, but if you type "Hello" into Word and save it, it takes about 20,000 letters on your disk. What' embedded in there is all kinds of stuff, including the typeface, position on the page, type of paper the document will be printed on, and so forth. Most people don't complain about it because 20,000 bytes is very small relative to the size of hard drives. Also, the word ".doc" format wasn't designed to be readable by people--only by other copies of MS-Word. But similar bloat happens when documents are saved in HTML--the ".doc" format used by Web traffic. Unlike .doc files, HTML is supposed to be readable by people--or at least people who know how to read HTML. Microsoft jams so much garbage in as to render it bloated and incoherent. As someone who reviews code from time to time, I find that very frustrating.

Microsoft created a networking protocol called SMB, which is generally used under the name of "Network Neighborhood". Ignoring for the moment the security ramifications of how this works, generally what happens is a when a computer boots up on a network, it shouts out "I'm Here!", then waits for instruction. Other Windows machines on the some local network will add that machine's name and address for future reference. The only problem here is that the entire process is stateless; the usefulness of the "I'm Here" message is only useful for the precise moment in which it was sent. If you wait 30 seconds or longer, the machine may have rebooted (no doubt to a crash or somesuch). To address this problem, every Windows machine must regularly spew out "I'm Here" messages to all the other machines on the local network. The messages are short, however, and most people never notice a degredation of performance. My problem with it, though, is that it sucks. It should have been implemented better, and reflects poorly on its designers.

Alternatives

Since Microsoft started selling operating systems, it has had a handful of competitors and rivals, many of which have faded into obscurity. Some still exist, notably Apple. It faces a small handful of new-ish threats. Interestingly, though, the only way to compete with Microsoft is to leverage anti-Microsoft fanatics.

Apple began well before IBM released the first "Personal Computer", and has undergone vast changes. Since the release of the Lisa (the precursor to the Mac), Apple has focussed on style combined with substance. What they have traditionally ignored is the somewhat-competent market segment, which is why I have more-or-less ignored their offerings for so long. To use their products, you needed to either want a very simple user interface or been technical enough to create your own. However, the release of their latest operating system (OS X) has intrigued me. I suspect that one of the reasons they are still a viable company is because they play nice with Microsoft. Apple sells hardware and an OS only. I suspect that if they were to develop and release a word processor and spreadsheet, they would find themselves facing a severe marketing campaign from Redmond.

Starting in the late 1990's many articles about a new operating system called "Linux" started appearing. If the talk about stability and security failed to get the average user's attention, the IPO of one of the distributors "RedHat" certainly did when its stock price increased something like 15 times in a week. Linux is a freely-available operating system, meaning you can either pay for a CD or simply download it off the Internet. It was designed to closely resemble the Unix operating system developed in the 1970's. I first started using it after Windows crashed one too many times while writing a final paper in college. It has more-or-less lived up to its hype as being stable and secure, but I think it poses a severe risk to Microsoft for other reasons.

One of the first examples in any book on computer languages does is show how to write a program that prints the statement "Hello, World!". The book normally continues by describing how to accept input, and then how to take action based on the input. The examples tend to get more and more complex and involved until most features of the language have been explained. The reader is then left to their imagination.

The neat thing there is that nobody would ever buy one of the sample programs. Thousands of people would have created their own versions of the sample programs, modyfing the original in slight ways to test the way the language worked. Well, the same thing is now applicable to operating systems. The original author of Linux wrote it just to see if he could, and distributed it to see if anyone else could learn from it or use it in other applications. One person used it to to develop a driver for a particular device which, another person used it to create an application. Eventually, a reasonably complete operating system developed. "Reasonably" being the key phrase of course: you had to have some base level of knowledge in order to use it. But as time progressed, that base level has decreased. I think that soon, it will be simple enough that anyone will be able to use it.

Assuming this is a free market (which, as long as Microsoft violates anti-trust laws, it is not), computer manufacturers will weigh the cost of making Linux user-friendly versus the cost of paying Microsoft for each computer they ship.

The neat thing is that there are actually at least four fairly popular free operating systems which can rival Microsoft:

If I owned stock in Microsoft, I'd be pretty scared about this stuff, and looking for ways of leveraging it. Or I'd be pretty mad at the people who run the company for not looking after my interests.