As a software engineer with 20 years' experience developing software for Unix, Windows, Macintosh, and Linux, I'd like to comment on the States' proposals. In general, the States' proposals appear to be a great improvement, closing many loopholes. However, in my opinion, they are too burdensome in some places, and ineffectual in others. In the follow sections I propose amendments to their Remedial Proposals to address these concerns.
Please note that this document is still evolving, thanks to thoughtful feedback from many readers.
Three Open Source projects merit particular mention here:
Wine is an open source, independent reimplementation of the Windows APIs. It's important because it lets operating systems such as Linux, FreeBSD, and Solaris run Windows programs without Windows. It currently only supports a few Windows programs, but is making good progress at supporting more. It still has difficulty with Microsoft Office, which uses many undocumented Windows APIs.
Kerberos is an open source authentication protocol. Microsoft has benefitted greatly from Kerberos, and has incorporated it into Windows 2000 and Microsoft Passport, with some propietary extensions. In May 2000, Microsoft threatened legal action against people who published technical information about these extensions. This may have hampered the development of products which can interoperate with Windows.
Samba is an award-winning, open source, fully compatible replacement for Windows network file servers. Samba actually outperforms Windows. The Samba team has expressed concern that the settlement negotiated by the DOJ specifically exempts Microsoft from providing any information that would aid the Samba project, and thus prevent Samba from maintaining interoperability with Windows.
Projects like Wine, Kerberos, and Samba need access to interoperability information just like any other software vendor. Unlike commercial vendors, however, open source products are neccessarily available for free, and any demand for secrecy or royalties would effectively prevent Open Source products from using the information. Thus provision 4a should be amended to read (new text in bold italics ):
"Microsoft shall disclose and license to ISVs, IHVs, IAPs, ICPs, OEMs and Third-Party Licensees, on an ongoing, basis and in a Timely Manner, in whatever media Microsoft customarily disseminates such information to its own personnel, all APIs, Technical Information and Communications Interfaces that Microsoft employs to enable:..."and a new subsection d should be added:
The aforementioned license shall grant a royalty-free, non-exclusive perpetual right on a non-discriminatory basis to use this information to create independent implementions of the APIs so disclosed.Similarly, Section 22r should be amended to read
"ISV" means any entity (including without limitation the Open Source community) other than Microsoft...Essentially, this says "It should no longer be a secret how to interoperate with Windows, and any Windows APIs used by Microsoft applications such as Office must be well documented."
In my opinion, nationalizing the source code for Internet Explorer is problematic for many reasons:
On the other hand, the part of Section 12 that requires Microsoft to disclose and license all APIs related to the browser is a good one; it does not require the disclosure of any browser source code, only browser and operating system interfaces. Thus this part of Section 12 should be retained.
I recommend amending Section 12 to read
Internet Browser Open-Source LicenseOpen Internet Browser Plugin API
Beginning three months after the date of entry of this Final Judgement, Microsoft shall disclose and licenseall source code for all Browser products and Browser functionality. In addition, during the remaining term of this Final Judgement, Microsoft shall be required to disclose and make available for license, both at the time of and subsequent to the first beta release (and in no event later than one hundred eighty (180) days prior to its commercian distribution of any Browser product or Browser functionality embedded in another product), all source code for Browser products and Browser functionality.an Open Internet Browser Plugin API to all interested ISVs, shall update Windows so that all Microsoft products which invoke Internet Browser functionality do so via the Browser Plugin API rather than invoking Internet Explorer directly, shall modify all Microsoft products that use Internet Browser functionality to work properly regardless of whether the Internet Browser functionality is provided by a Microsoft browser or by a third party's browser, and shall no longer require that any Microsoft Browser be installed. As part of this disclosure, Microsoft shall identify, provide reasonable explanation of, and disseminate publicly a complete specification of all APIs, Communications Interfaces and Technical Information relating to the Interoperation of Microsoft Internet Browser products and / or functionality and each Microsoft Platform Software product. The aforementioned license shall granta royalty-free, non-exclusive perpetual right on a non-discriminatory basis to make, use, modify, and distribute without limitation products implementing or derived from Microsoft's source code, anda royalty-free, non-exclusive perpetual right on a non-discriminatory basis to use any Microsoft APIs, Communications Interfaces and Technical Information used or called by Microsoft's Browser products or Browser functionality not otherwise covered by this paragraph.
It's not clear how short the lag need be to avoid disadvantaging the Macintosh. Four months would be a much easier target for Microsoft to meet. Absent compelling evidence that a four month lag would be much worse for the Macintosh than a two month lag, I recommend that Section 14a be amended to read
Continued Porting of Office to Macintosh.
Microsoft shall port each new major release of Office to the Macintosh Operating System within60 days120 days ...
There is a way to ensure that Office can run on many alternative operating systems within weeks of its release on Windows: require that Office work properly when installed and run under Wine for Intel-based systems. This would as a side effect enable many other Windows applications (for instance, Quicken) to also run on Wine within weeks of their release on Windows, thus greatly increasing the number of applications available on Linux, FreeBSD, and Solaris for Intel.
Because each new release of Office requires more Windows APIs, Microsoft should be required to ensure that each new release of Office installs and runs properly under the open source version of Wine no later than 30 days after Office is released. To do this, it should be compelled to engage an outside consulting house such as Codeweavers, Macadamian, or Transgaming to make the needed improvements to Wine. This will provide an excellent test of whether Microsoft has sufficiently documented the Windows APIs used by Office. The cost of enhancing Wine to support Office 2000 was estimated recently by a Wine developer at approximately US $2 million, approximately one ten thousandth of Microsoft's annual revenues.
Thus, I recommend that subsections 14b and 14c be struck, and replaced with a new subsection reading
Contracting with a Third Party to Enhance Wine to Support Microsoft Office.
"Within 60 days of entry of this Final Judgement, Microsoft must contract with one or more outside firms to enhance the Open Source Windows Emulator WINE to be able to install and run Office 2000 under Linux. The work shall continue, with new releases of Wine occurring every 30 days, until completed, or until the expenses incurred by the outside firms reach 1 percent of the total development and marketing costs of Office 2000. The resulting enhancements to Wine shall be released under the same license used by Wine itself.Furthermore, as soon as practicable, but in no case later than 60 days prior to the date each new version of Office becomes commercially available for use with a Windows Operating System Product, Microsoft shall again contract with one or more outside firms to enhance the Open Source Windows Emulator WINE to be able to install and run the new version of Office under Linux. The work shall continue, with new releases of Wine occurring every 30 days, until completed, or until the expenses incurred by the outside firms reach 1 percent of the total development and marketing costs of the new version of Office. The resulting enhancements to Wine shall be released under the same license used by Wine itself.
Furthermore, the license agreement for Microsoft Office and all other Microsoft products sold separately from a Microsoft Operating System shall not require the user to own any other Microsoft Software or Microsoft Operating System.
Dan Kegel
dank@kegel.com
10 December 2001
Return to "On the Remedy Phase of the Microsoft Antitrust Trial"