Singing Potatoes
Wednesday, 2 October 2002
Good Old Microsoft

I was downloading the Microsoft Windows SDK this morning, and (as always) I read the End-User License Agreement carefully.

Microsoft's got an enormous hardon for the free software/open-source software movement. Not once, but twice, they included the following restriction:

Publicly Available Software. Your license rights to the Redistributable Components are conditioned upon your not incorporating into, combining with, or distributing in conjunction with the Redistributable Components or a derivative work thereof, or using in the development of a derivative work of the Redistributable Components, other software which is licensed pursuant to terms that (a) create, or purport to create, obligations for Microsoft with respect to the Redistributable Components or derivative work thereof or (b) grant, or purport to grant, to any third party any rights or immunities under Microsoft's intellectual property or proprietary rights in the Redistributable Components or derivative work thereof. By way of example but not limitation of the foregoing, You shall not (a) incorporate any Publicly Available Software in whole or in part into any part of a derivative work of the Redistributable Components; (b) use Publicly Available Software in whole or in part in the development of any part of a derivative work of the Redistributable Components in a manner that may subject the Redistributable Components or derivative work thereof, in whole or in part, to all or part of the license obligations of any Publicly Available Software, or (c) combine or distribute the Redistributable Components or derivative thereof with any Publicly Available Software. "Publicly Available Software" means each of (i) any software that contains, or is derived in any manner (in whole or in part) from, any software that is distributed as free software, open source software (e.g. Linux), or similar licensing or distribution models; and (ii) any software that requires as a condition of use, modification and/or distribution of such software that such software or other software incorporated into, derived from or distributed with such software be (a) disclosed or distributed in source code form; (b) be licensed for the purpose of making derivative works; or (c) be redistributable at no charge. Publicly Available Software includes, without limitation, software licensed or distributed under any of the following licenses or distribution models, or licenses or distribution models similar to any of the following: (a) GNU’s General Public License (GPL) or Lesser/Library GPL (LGPL), (b) The Artistic License (e.g., PERL), (c) the Mozilla Public License, (d) the Netscape Public License, (e) the Sun Community Source License (SCSL), (f) the Sun Industry Standards Source License (SISL), and (g) the Apache Server license.

I've colored three different sections in order to point out some interesting contrasts:

The first section, in blue, seems pretty reasonable. You're not allowed to use the SDK in a fashion which would create legal responsibilities for Microsoft. Nothing wrong with that.

But then look at the second section, in green, which purportedly contains "examples" of the first section. Part (b) is a reiteration of the first section, but part (a) states that works derived from the SDK may not "incorporate, be combined or distributed with Publicly Available Software in whole or in part". The use of the word "and" indicates that both parts (a) and (b) must be followed.

But what is "Publicly Available Software"? The red section shows that the "examples" extend their conditions quite a bit past mere legal responsibilities. We begin with a definition that includes "each of" clauses (i) and (ii), and clause (ii) can be either (a), (b) or (c). So all freeware fits the definition of "Publicly Available Software", because it is "distributed as free software" — thus falling under clause (i) — and because freeware by definition is redistributable without charge, it falls afoul of (ii)(c).

So looking back at the second section, we see that freeware violates part (a). But even if it doesn't violate part (b) due to license restrictions, the use of the word "and" means that their "example" prohibits the use of the SDK to develop freeware altogether.

Microsoft obviously feels threatened by free software (enough that they had to put that section in twice), and for good reason. The Apache Web server, open-source and free software, has a greater market penetration than Microsoft's IIS Web server ($999 for a five client access license); and it'll run on Linux or Windows, unlike IIS which is a Windows-only program. The PHP scripting language is more widely used than Microsoft's equivalent, ASP; not only does it run on all those Apache servers, it'll also run on Microsoft's IIS. (Does Microsoft offer ASP for other platforms? Nope!) Likewise for MySQL, which competes with Microsoft Access ($339); not only is it free, but again, it'll run just as happily on an all-Microsoft system as it will on a Linux machine running Apache.

So it's no wonder Microsoft hates free software. They want to control the Internet, but free software is offering people stable, viable alternatives — so Microsoft does everything in its power to hinder the production of free software. Are they a monopoly? Not quite, as long as there are groups like Apache out there who can't be bought out or driven into bankruptcy. But judging by Microsoft's license agreement, they desperately want to be a monopoly.

Posted by godfrey (link)