Shattered Strategy

Archives

Friday, March 15, 2002

I don't like Microsoft-bashing. Trust me on this. I'm fairly middle-of-the-road when it comes to many issues that other Open-Source advocates consider central. Also, I happen to work for a company that is both a Microsoft Partner, and actually works FOR Microsoft at times. I've trained their staff on numerous occasions. And I happen to believe that some of their software is by far and away the best in its category.


Still, some things are just farcical. What's upsetting me this week (and I'm going to stay focussed - I don't have links to the other stuff here in front of me) is their attitude to Open Source.


First, a little background. What is open source? Well, the source bit is easy. When you use a program like Internet Explorer or Netscape, it's running from a program file that's an EXE (for executable) on Windows, or a HQX (or something else) on a Mac. In Linux it will be some other sort of file, known as either an a.out or an ELF file. Don't worry about the details - the point is, these files are known as "binarys" because they are written in a language that only the computer platform - the Operating system and the Processor - can understand. Lots of ones and zeros. Now, the programmers who have written these programs didn't sit there writing ones and zeros, they use some form of programming language. Don't tune out, it's actually not that tricky. Something like


print ("Hello world!");

is a piece of programming language code, that quite simply prints

Hello world!

on your screen, just like that. However, such a programming language is not directly readable by computer platforms. So, in order to get from the programming language to the machine-readable binary, programmers use a thing called a compiler that converts or compiles the source code - the programming language stuff that programmers read and write - into a binary that suits the platform. With me so far?


Now, the thing about "Open Source" software, is that not only is the binary available, but the source code is also available. This means that any programmer can read and perhaps modify and redistribute the program. Open source software is particularly important where a program hasn't been written to run on all platforms, for example, a program may have been written for Windows, and because the source code isn't available, only the programmers can create a binary. If someone using a Macintosh wants to use that program, they have to ask the programmers. Now, if the source code was available, any programmer could re-compile the program to run on the Macintosh platform, and make any modifications necessary. A case in point: until two years ago, it was impossible to watch DVDs in Linux, until an independent Norwegian programmer created a program (called DeCSS - I linked to it last year for other reasons) that allowed Linux users to play DVDs.


By its very definition, Open Source software is available to anyone who wants it. That means people like Microsoft get uptight, because they insist that we pay for their software. There's nothing wrong with that - I'm willing to pay for quality, and I have bought Microsoft software a number of times. However, the existence of a widening market who appreciate the freedoms granted by Open Source software is very irksome for Microsoft and other proprietary software companies, who remain completely in control of the source code for their products. Microsoft have said on a number of occasions that the Open Source movement is a bad thing, even going so far as describing it as a "cancer". Here's a link to an article relating to Microsoft's opinion on Open Source.


Now here's the funny thing: Microsoft use Open Source code in their applications. This has been widely known in the Open Source community for some time, and has never been made a big thing. But in the last while, an exploit - a kind of "back door" that crackers can use - has been found in a well-used Open Source compression package called "zlib". This package controls functions like zipping and unzipping files and network traffic, and is used in various Linux and Unix applications. However, it has come to light that Microsoft have used zlib in a number of core applications. Effectively, Microsoft have been using the Open Source movement like a parasite, feeding on certain pieces of code, but not giving anything back, and at the same time, condemning its host, that same Open Source movement, because it could harm its business model. Can anyone else see a problem with that?


I'm not even going to START with how they're twigging the antitrust case in the states, how they're hiring every antitrust lawyer in the country in order to render them unavailable to their antagonists, how their case was completely sanitised after the republicans (who they donated to substantially) came to power, how the state of South Carolina dropped their side of the antitrust case three weeks after the Governor received a 6-figure donation from Microsoft, how the current prosecution is now arguing in favour of reducing the sentence imposed on Microsoft. All this after they have been found guilty of abusing their monopoly status, twice. As you can probably gather, I am incredulous. I can't believe this kind of thing can go on.


Still, they make good software....


posted by Jeremy Smyth 14:40  |