When Bill Gates last week urged businesses to have their lawyers read the GPL before using open source software, it turns out he was speaking from a position of knowledge. Knowledge of having lots of lawyers, anyway, because Microsoft's legal team have clearly given themselves the most awful fright by reading the blessed thing.
Evidence of their trauma was unearthed late last week by Linuxtoday, which found that the new licence agreement for the beta of Microsoft's Mobile Internet Toolkit has a whole section devoted to Open Source, which it describes as "Potentially Viral Software." Naturally you're not allowed to have this kind of stuff (there's a pretty comprehensive list of what this kind of stuff is) anywhere near stuff you're developing with pure, Microsoft tools - oh, no sir.
Some people have viewed the expression as abusive, but here at The Reg we think it's pretty flattering. Microsoft's legal beagles are not saying Linux is a virus, they're describing how it spreads, and exposing their (and Microsoft's) deepest paranoid fantasies about how it might spread. Quite clearly, they're terrified.
The earlier Linuxtoday link appears not to work, and depending on how that came to be, this one might turn out to have a limited shelf life too. But no matter, the relevant text has already escaped:
(c) Open Source. Recipient’s license rights to the Software are conditioned upon Recipient (i) not distributing such Software, in whole or in part, in conjunction with Potentially Viral Software (as defined below); and (ii) not using Potentially Viral Software (e.g. tools) to develop Recipient software which includes the Software, in whole or in part.
Immediately, you wonder what these people are on. If we just take GPL (the main offender, but by no means Microsoft's only target), well yes, if you use GPL source to develop something you're bound by the GPL as regards the developed product. If you use GPL source together with Microsoft IP then you are in breach of the GPL. This does not mean Microsoft is in breach of it, or that Microsoft is obliged to open source its code. Microsoft licences do not say this and have never said this, GPL and proprietary software do not mix in this way, and cannot mix in this way. This is established - so why are they telling us it?
It gets better:
...For purposes of the foregoing, "Potentially Viral Software" means software which is licensed pursuant to terms that: (x) create, or purport to create, obligations for Microsoft with respect to the Software or (y) grant, or purport to grant, to any third party any rights to or immunities under Microsoft’s intellectual property or proprietary rights in the Software.
One almost begins to believe that there is some nightmare security hole in previous issues of Microsoft's development tools licence agreements. Could it be that Microsoft has carelessly conferred some kind of power of attorney or similar on its developers, thus actually giving them some kind of authority that might be construed as allowing them to open source Microsoft's IP? Had they not protested so vehemently, we would not have even begun to suspect this. Their suspicion that an indeterminate number of such holes exists, however, is quite possibly what's driving them.
Aside from that, it's a serious intellectual stretch to see how anybody's licence has terms that "create, or purport to create," anything of the sort. Or indeed to see what legal status such terms could possibly have.
They go on to cover contamination by juxtaposition:
By way of example but not limitation of the foregoing, Recipient shall not distribute the Software, in whole or in part, in conjunction 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 other software distributed with such software (A) be disclosed or distributed in source code form; (B) be licensed for the purpose of making derivative works; or (C) be redistributable at no charge.
Characteristically the lawyers can't resist saying this is only an example and implying there's probably tons more stuff they haven't mentioned that qualifies for exclusion too, but actually it amounts to a pretty specific definition of what they insist you should steer clear of. And cutely, it misses BSD.
As one Register reader points out, "Microsoft's TCP/IP stack is based on BSD socket code. So if they'd mentioned BSD, they'd be prohibiting use of Mobile Internet Toolkit with, er, Windows, because Windows would be 'derived in any manner (in whole or in part) from, any software that is distributed as free software."
It's a delicious thought, but it's a little unfair. Microsoft would not be required to open the source of code derived from BSD code, because that's not what the Ts & Cs say. Which is why BSD isn't on the death list.* We've also been contacted by a former Softway staffer who says he ported BSD programs to NT for Softway, but the same goes for that; not, however, for Softway's Interix.
Interix, now owned by Microsoft, includes a GPL'd copy of GCC, so Microsoft is obliged to make the source available, for free. Which it does - enough of you have told me you can download it to convince me, I don't know why I couldn't, but the hell with it, why would I want it anyway?
Microsoft is discharging its obligations, as it should do. But why is it ranting on at imaginary monsters, telling developers they can't do what they'd never dream of doing anyway, and rejecting responsibility for a bunch of stuff that nobody would ever dream of holding it responsible for? Maybe the monsters aren't so imaginary, and a lot closer to home than you you might think.
Think lawyer. Think lawyer thinking about developers. Other people's code gets into products. Other people's code has got into Microsoft products in the past; plagiarism happens, and there is absolutely no way any senior Microsoft manager could swear an affidavit saying that it never happens, and never will happen. This is not a criticism of Microsoft, the same applies to everybody, but think lawyer thinking about this.
And also, maybe, think Posix. It's been alleged to us that the NT 4.0 Resource Kit includes Posix utilities subject to the GPL. Were this the case, this would raise the question of why source for NT 4.0 has not yet been published under the GPL. If the lawyers haven't considered this one already, we're sorry to have scared them even more, but over all these years, with all of these people, there must be many such questions for Microsoft's lawyers to worry about.
If someone within Microsoft or contracted to Microsoft could be legally deemed to have the authority to accept the provisions of the GPL while incorporating GPL code into Microsoft software, then Microsoft would be bound by the GPL. Some punk could force them to GPL WinXP. It's even conceivable (well, if you think lawyer hard enough) that some of the many open source sympathising grunts in Redmond could plant the code deliberately. And you thought we were joking last week (Commie cell in MS secretly pushing GPL to customers).
That's what they see as viral about it. You commit to it, or somebody commits to it on your behalf, and it starts eating your business. That is of course what it's designed to do, and from the GPL perspective this is A Good Thing. From Microsoft's, it's death, but from the GPL perspective that is possibly An Even Better Thing. This is war, and nobody ever said it wasn't. ®
That death list in full:
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), and (F) the Sun Industry Standards License (SISL).