Microsoft And Peru

Wired magazine recently reported (on July 27, 2002), "Afraid that Peru may adopt a bill decreeing the use of open-source software in all government systems, Microsoft apparently enlisted the American ambassador in Lima to help try to convince the Peruvians to kill the legislation." Many people have stated they feel it was wrong (even evil) for a US ambassador to "lobby for Microsoft". Playing the devil's advocate for a moment, let me ask the following question: if an American citizen was having trouble in a foreign country would it be okay for an ambassador to help him or her out? What if an American company needed help in a foreign country? Is it okay then? Why would Microsoft be excluded? What is the purpose of an ambassador? My understanding is these people exist to further the goals and objectives of their country: including the government, individuals and companies. What is the job of the US government? To support it's citizens (a government has no other valid purpose). You could argue that supporting corporations directly or indirectly supports citizens. Ambassadors do not exist to stop wars or make war talk. They exist to further the goals of a government, and a government exists to further the goals of the majority of it's citizens. If I owned a company I would totally expect any US government organization to cooperate fully with my business, especially if by cooperating the goals of my country were also furthered. This bill seems to say that the government wants to use open source for it's systems. This is perfectly fine as a government should use whatever software it feels is the best fit for it's goals. Open source is not a product, it describes an idealized way to develop and maintain a product. Most so called open source is worthless junk that most people would not dare put on their computers. By far the great majority of this kind of code is never finished, poorly documented, virtually unmaintained and so full of bugs and security holes that it's laughable. That being said, the same is true, of course, of all other forms of software. Now there are some great open-source products, and when people speak of open source they usually mean something like Apache, Linux, Unix, OpenOffice and the hundreds (and perhaps thousands) of tools and utilities available. These are the products that have given open source a good name. However, I have never heard of open source accounting packages, SCADA systems (systems that control water, power and oil systems), factory control systems, military systems and so on. These things are either developed in house or purchased from a company. Peru may be making an error because they are thinking "open-source means good programs not created by Microsoft". It will be interesting to see what happens when they attempt to find an open source SCADA system to control a hydro-electric dam or an open source payroll system. Personally, I don't care whether or not something is open source, closed source, proprietary, GNU or anything else. The software must meet the needs of the project or it's useless. The Software must be maintainable and have a reasonable promise of future maintenance. It must perform all required functions and as many optional functions as needed. The product must have a good ROI (return on investment) as well. I've been managing large projects for 25 years, and return on investment is usually the part that is missed by most technical people. We look at the cost of a product and think, "wow, this is free and this is $425, I'll get the free one". That equation, unfortunately, does not work. The cost of a product must be measured over it's entire lifetime and includes many variables. These include training (teaching people how to use it and keep it going as well as changing it), maintenance, security, hardware, "fit" to the requirements, and dozens (if not hundreds) of other things. I've found that once ALL of the variables are factored in, Microsoft does not come out as bad as most people would like to think. Microsoft is being a little heavy handed here, and I'm somewhat surprised that the US Government is playing along. I don't see any vital US interests threatened. However, one must remember that there were no vital US interests threatened in Guatemala in the 1950s. There were just the Dole banana farms, which were in danger of being taken over by the democratic government. So good old president Eisenhower ordered the CIA to overthrow that government and replaced it with a much less democratic version, which, of course, was "smart enough" to leave the Dole banana farms alone. Don't believe me, read your history books. (This is one of the more despicable chapters in American history - aiding in the overthrow of a legitimate government so that some banana company would not be inconvenienced.) Point being the government may not in actually have a vital interest at stake, but the officials may, or large corporations which have contributed lots of money may as well. This might make the government do things which, on the face of it, make no sense (and on deeper analysis still don't make any sense). So am I opposed to Microsoft's attempt to stop Peru? Of course as it is meddling in the affairs of another country. Do I understand why it's doing this? Of course. And do I understand why the US government is playing along? Sure, it's pretty obvious.