According to the Court of Appeals ruling, "a remedies decree in an antitrust case must seek to 'unfetter a market from anticompetitive conduct', to 'terminate the illegal monopoly, deny to the defendant the fruits of its statutory violation, and ensure that there remain no practices likely to result in monopolization in the future" (section V.D., p. 99).
Attorney General John Ashcroft seems to agree; he called the proposed settlement "strong and historic", said that it would end "Microsoft's unlawful conduct," and said "With the proposed settlement being announced today, the Department of Justice has fully and completely addressed the anti-competitive conduct outlined by the Court of Appeals against Microsoft."
Yet the Proposed Final Judgment allows many exclusionary practices to continue, and does not take any direct measures to reduce the Applications Barrier to Entry faced by new entrants to the market.
The Court of Appeals affirmed that Microsoft has a monopoly on Intel-compatible PC operating systems, and that the company's market position is protected by a substantial barrier to entry (p. 15). Furthermore, the Court of Appeals affirmed that Microsoft is liable under Sherman Act § 2 for illegally maintaining its monopoly by imposing licensing restrictions on OEMs, IAPs (Internet Access Providers), ISVs (Independent Software Vendors), and Apple Computer, by requiring ISVs to switch to Microsoft's JVM (Java Virtual Machine), by deceiving Java developers, and by forcing Intel to drop support for cross-platform Java tools.
The fruits of Microsoft's statutory violation include a strengthened Applications Barrier to Entry and weakened competition in the Intel-compatible operating system market; thus the Final Judgment must find a direct way of reducing the Applications Barrier to Entry, and of increasing such competition.
In the following sections I outline the basic intent of the proposed final judgment, point out areas where the intent and the implementation appear to fall short, and propose amendments to the Proposed Final Judgment (or PFJ) to address these concerns.
Please note that this document is still evolving. Feedback is welcome; to comment on this document, please join the mailing list at groups.yahoo.com/group/ms-remedy, or email me directly at [email protected].
Considering all of the above, one should read the detailed terms of the Proposed Final Judgment, and ask one final question:
In the sections below, I'll look in more detail at how the PFJ deals with the above questions.
The inclusion of Microsoft Java and not Microsoft.NET is questionable; Microsoft has essentially designated Microsoft.NET and C# as the successors to Java, so on that basis one would expect Microsoft.NET to be included in the definition.
The inclusion of Outlook Express and not Outlook is questionable, as Outlook (different and more powerful than Outlook Express) is a more important product in business, and fits the definition of middleware better than Outlook Express.
The exclusion of Microsoft Office is questionable, as many components of Microsoft Office fit the Finding of Fact's definition of middleware. For instance, there is an active market in software written to run on top of Microsoft Outlook and Microsoft Word, and many applications are developed for Microsoft Access by people who have no knowledge of Windows APIs.
"The Tablet PC is the next-generation mobile business PC, and it will be available from leading computer makers in the second half of 2002. The Tablet PC runs the Microsoft Windows XP Tablet PC Edition and features the capabilities of current business laptops, including attached or detachable keyboards and the ability to run Windows-based applications."and
Pocket PC: Powered by WindowsMicrosoft is clearly pushing Windows XP Tablet PC Edition and Pocket PC in places (e.g. portable computers used by businessmen) currently served by Windows XP Home Edition, and thus appears to be trying to evade the Final Judgment's provisions. This is but one example of how Microsoft can evade the provisions of the Final Judgment by shifting its efforts away from the Operating Systems listed in Definition U and towards Windows XP Tablet Edition, Windows CE, Pocket PC, X-Box, or some other Microsoft Operating System that can run Windows applications.
By not providing some aid for ISVs engaged in making Windows-compatible operating systems, the PFJ is missing a key opportunity to encourage competition in the Intel-compatible operating system market. Worse yet, the PFJ itself, in sections III.D. and III.E., restricts information released by those sections to be used "for the sole purpose of interoperating with a Windows Operating System Product". This prohibits ISVs from using the information for the purpose of writing operating systems that interoperate with Windows programs.
When selecting a method of porting a major application to Linux, one prospect of mine was comparing Wine [a competing implementation of some of the Windows APIs] and a toolkit called 'MainWin'. MainWin is made by Mainsoft, and Mainsoft licenses its software from Microsoft. However, this customer elected to go with the Mainsoft option instead. I was told that one of the key decision making factors was that Mainsoft representatives had stated that Microsoft had certain critical patents that Wine was violating. My customer could not risk crossing Microsoft, and declined to use Wine. I didn't even have a chance to determine which patents were supposedly violated; nor to disprove the validity of this claim.The PFJ, by allowing this unclear legal situation to continue, is inhibiting the market acceptance of competing operating systems.
Section III.A.2. allows Microsoft to retaliate against any OEM that ships Personal Computers containing a competing Operating System but no Microsoft operating system.
Section III.B. requires Microsoft to license Windows on uniform terms and at published prices to the top 20 OEMs, but says nothing about smaller OEMs. This leaves Microsoft free to retaliate against smaller OEMs, including important regional 'white box' OEMs, if they offer competing products.
Section III.B. also allows Microsoft to offer unspecified Market Development Allowances -- in effect, discounts -- to OEMs. For instance, Microsoft could offer discounts on Windows to OEMs based on the number of copies of Microsoft Office or Pocket PC systems sold by that OEM. In effect, this allows Microsoft to leverage its monopoly on Intel-compatible operating systems to increase its market share in other areas, such as office software or ARM-compatible operating systems.
By allowing these practices, the PFJ is encouraging Microsoft to extend its monopoly in Intel-compatible operating systems, and to leverage it into new areas.
However, Microsoft uses other exclusionary licensing practices, none of which are mentioned in the PFJ. Several of Microsoft's products' licenses prohibit the products' use with popular non-Microsoft middleware and operating systems. Two examples are given below.
... you shall not distribute the REDISTRIBUTABLE COMPONENT 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 ... 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: GNU's General Public License (GPL) or Lesser/Library GPL (LGPL); The Artistic License (e.g., PERL); the Mozilla Public License; the Netscape Public License; the Sun Community Source License (SCSL); ...Many Windows APIs, including Media Encoder, are shipped by Microsoft as add-on SDKs with associated redistributable components. Applications that wish to use them must include the add-ons, even though they might later become a standard part of Windows. Microsoft often provides those SDKs under End User License Agreements (EULAs) prohibiting their use with Open Source or Free Software applications. This harms ISVs who choose to distribute their applications under Open Source or Free Software licenses; they must hope that the enduser has a sufficiently up-to-date version of the addon API installed, which is often not the case.
Applications potentially harmed by this kind of EULA include the competing middleware product Netscape 6 and the competing office suite StarOffice; these EULAs thus can cause support problems for, and discourage the use of, competing middleware and office suites. Additionally, since Open Source or Free Software applications tend to also run on non-Microsoft operating systems, any resulting loss of market share by Open Source or Free Software applications indirectly harms competing operating systems.
"Distribution Terms. You may reproduce and distribute ... the Redistributable Components... provided that (a) you distribute the Redistributable Components only in conjunction with and as a part of your Application solely for use with a Microsoft Operating System Product..."This makes it illegal to run many programs built with Visual C++ on Windows-compatible competing operating systems.
By allowing these exclusionary behaviors, the PFJ is contributing to the Applications Barrier to Entry faced by competing operating systems.
"MSNBC Interactive grants you the right to install and use copies of the SOFTWARE PRODUCT on your computers running validly licensed copies of the operating system for which the SOFTWARE PRODUCT was designed [e.g., Microsoft Windows(r) 95; Microsoft Windows NT(r), Microsoft Windows 3.x, Macintosh, etc.]. ..."Only the Windows version appears to be available for download. Users who run competing operating systems (such as Linux) which can run some Windows programs might wish to run the Windows version of NewsAlert, but the EULA prohibits this.
MSNBC has a valid interest in prohibiting use of pirated copies of operating systems, but much narrower language could achieve the same protective effect with less anticompetitive impact. For instance,
"MSNBC Interactive grants you the right to install and use copies of the SOFTWARE PRODUCT on your computers running validly licensed copies of Microsoft Windows or compatible operating system."
Microsoft's original operating system was called MS-DOS. Programs used the DOS API to call up the services of the operating system. Digital Research offered a competing operating system, DR-DOS, that also implemented the DOS API, and could run programs written for MS-DOS. Windows 3.1 and earlier were not operating systems per se, but rather middleware that used the DOS API to interoperate with the operating system. Microsoft was concerned with the competitive threat posed by DR-DOS, and added code to beta copies of Windows 3.1 so it would display spurious and misleading error messages when run on DR-DOS. Digital Research's successor company, Caldera, brought a private antitrust suit against Microsoft in 1996. (See the original complaint, and Caldera's consolidated response to Microsoft's motions for partial summary judgment.) The judge in the case ruled that
"Caldera has presented sufficient evidence that the incompatibilities alleged were part of an anticompetitive scheme by Microsoft."That case was settled out of court in 1999, and no court has fully explored the alleged conduct.
The concern here is that, as competing operating systems emerge which are able to run Windows applications, Microsoft might try to sabotage Windows applications, middleware, and development tools so that they cannot run on non-Microsoft operating systems, just as they did earlier with Windows 3.1.
The PFJ as currently written does nothing to prohibit these kinds of restrictive licenses and intentional incompatibilities, and thus encourages Microsoft to use these techniques to enhance the Applications Barrier to Entry, and harming those consumers who use non-Microsoft operating systems and wish to use Microsoft applications software.
In the sections below, I suggest
amendments to the PFJ that attempt to resolve some of the demonstrated problems
(time pressure has prevented anything like a complete list of amendments).
When discussing amendments, PFJ text is shown indented;
removed text in shown in
[bracketed strikeout],
and new text in bold italics.
U. "Windows Operating System Product" means [the software code (as opposed to source code) distributed commercially by Microsoft for use with Personal Computers as Windows 2000 Professional, Windows XP Home, Windows XP Professional, and successors to the foregoing, including the Personal Computer versions of the products currently code named "Longhorn" and "Blackcomb" and their successors, including upgrades, bug fixes, service packs, etc. The software code that comprises a Windows Operating System Product shall be determined by Microsoft in its sole discretion.] any software or firmware code distributed commercially by Microsoft that is capable of executing any nontrivial subset of the Win32 APIs, including without exclusion Windows 2000 Professional, Windows XP Home, Windows XP Professional, Windows XP Tablet PC Edition, Windows CE, PocketPC 2002, and successors to the foregoing, including the products currently code named "Longhorn" and "Blackcomb" and their successors, including upgrades, bug fixes, service packs, etc.
Because Microsoft currently claims that it has intellectual property rights that protect the Windows APIs, but has never spelled out exactly which patents cover which APIs, the Final Judgment should force this to be spelled out.
To achieve the above goals, the PFJ should be modified as follows:
First, Sections III.D and III.E should be amended to remove the restriction on the use of the disclosed information:
... Microsoft shall disclose ... [Second, a new section IV.E should be created as follows:for the sole purpose of interoperating with a Windows Operating System Product,] for the purpose of interoperating with a Windows Operating System Product or interoperating with application software written for Windows,
E. Establishment of a Windows API Standards Expert GroupThird, in section VI, Definition A should be amended to read
- Within 60 days of entry of this Final Judgment, the parties shall create and recommend to the Court for its appointment a six person Windows API Standards Expert Group (``WASEG'') to manage the creation, publication, and maintenance of a Windows APIs Standards Definition (``WASD'') and associated Windows APIs Standard Compliance Test Suite (``WASCTS''), and to guide the WASD through the process of being adopted by a standards body such as ECMA or the IEEE.
The WASD shall be a document, suitable for approval by a standards body such as ECMA or IEEE, which accurately defines the inputs, outputs, and behavior of each Windows API, and enumerates any Essential Claims.
The WASCTS shall be software source code which, when compiled and run, automatically tests an operating system for compliance with the WASD, and produces a list of APIs which fail to comply with the WASD. The test suite should run unattended; that is, it should be capable of running without human interaction or supervision.
- Three of the WASEG members shall be experts in software design and programming, and three of the WASEG members shall be experts in intellectual property law. No WASEG member shall have a conflict of interest that could prevent him or her from performing his or her duties under this Final Judgment in a fair and unbiased manner. No WASEG member shall have entered into any non-disclosure agreement that is still in force with Microsoft or any competitor to Microsoft, nor shall she or he enter into such an agreement during her or his term on the WASEG. Without limitation to the foregoing, no WASEG member shall have been employed in any capacity by Microsoft or any competitor to Microsoft within the past year, nor shall he or she be so employed during his or her term on the WASEG.
- Within seven days of entry of this Final Judgment, the Plaintiffs as a group shall select two software experts and two intellectual property law experts to be members of the WASEG, and Microsoft shall select one software expert and one intellectual property law expert to be members of the WASEG; the Plaintiffs shall then apply to the Court for appointment of the persons selected by the Plaintiffs and Microsoft pursuant to this section.
- Each WASEG member shall serve for an initial term of 30 months. At the end of a WASEG member's initial 30-month term, the party that originally selected him or her may, in its sole discretion, either request re-appointment by the Court to a second 30-month term or replace the WASEG member in the same manner as provided for above.
- If the United States or a majority of the Plaintiffs determine that a member of the WASEG has failed to act diligently and consistently with the purposes of this Final Judgment, or if a member of the WASEG resigns, or for any other reason ceases to serve in his or her capacity as a member of the WASEG, the person or persons that originally selected the WASEG member shall select a replacement member in the same manner as provided for above.
- Promptly after appointment of the WASEG by the Court, the United States shall enter into a Windows API Expert Group services agreement (``WASEG Services Agreement'') with each WASEG member that grants the rights, powers and authorities necessary to permit the WASEG to perform its duties under this Final Judgment. Microsoft shall indemnify each WASEG member and hold him or her harmless against any losses, claims, damages, liabilities or expenses arising out of, or in connection with, the performance of the WASEG's duties, except to the extent that such liabilities, losses, damages, claims, or expenses result from misfeasance, gross negligence, willful or wanton acts, or bad faith by the WASEG member. The WASEG Services Agreements shall include the following:
- The WASEG members shall serve, without bond or other security, at the cost and expense of Microsoft on such terms and conditions as the Plaintiffs approve, including the payment of reasonable fees and expenses.
- The WASEG Services Agreement shall provide that each member of the WASEG shall comply with the limitations provided for in section IV.E.2. above.
- Microsoft shall provide the WASEG with funds needed to procure office space, telephone, other office support facilities, consultants, or contractors required by the WASEG.
- The WASEG shall not have direct access to any part of Microsoft's computer software source code that is not normally available to all ISVs. The WASEG shall not enter into any non-disclosure agreements with Microsoft or third parties. No implementations of any Windows APIs shall be written or published by the WASEG.
- The WASEG shall have the following powers and duties:
- The WASEG may require Microsoft to provide comprehensive answers to questions about Microsoft intellectual property claims.
- The WASEG may require Microsoft to provide comprehensive answers to questions about the inputs, outputs, and functionality of any Windows API; in particular, the WASEG may compel Microsoft to provide complete documentation for Windows APIs, including hitherto undocumented or poorly-documented Windows APIs.
- The WASEG may engage, at the cost and expense of Microsoft, the services of outside consultants and contractors as required to fulfill the duties of the WASEG.
- The WASEG shall establish a publicly available web site not owned or otherwise controlled by Microsoft, and will publish status reports and other information there at least as often as once per month. Documentation on the web site shall be made available subject to the terms of the GNU Free Documentation License; test suite source code made available on the web site shall be made available subject to the terms of the GNU General Public License.
- The WASEG shall compile to the best of their ability a complete list of Windows APIs, including for each API the DLL name, entry point name, entry point ordinal number, return value type, and parameter types, as well as which versions of Windows it is supported by and an estimate of what percentage of Popular Windows Applications use it. The WASEG shall publish this list on the WASEG web site subject to the GNU Free Documentation License, according to the following schedule: Within 90 days after the WASEG is convened, the WASEG shall publish this information for at least five hundred Windows APIs. On the 1st of each month thereafter, the WASEG shall publish this information for another five hundred Windows APIs. This shall continue until a complete list of Windows APIs is available on the web site. The WASEG shall update the list periodically to add previously unlisted Windows APIs. The WASEG shall periodically check the list for completeness by installing and running a representative sample of Popular Windows Applications and Microsoft Middleware while using tools such as Apius from Sarion Systems Research to watch the Windows APIs actually invoked by the product or its installer. The WASEG shall also set up a way for third parties to report Windows APIs which should be listed, and shall update its list of Windows APIs accordingly as appropriate.
- The WASEG shall compile a complete list of Essential Claims, and an evaluation of which Windows APIs each Essential Claim covers. The WASEG shall publish this information on the WASEG web site subject to the GNU Free Documentation License, according to the following schedule: Within 90 days after the WASEG publishes a portion of the list of Windows APIs on its web site, Microsoft shall deliver to the WASEG a list of the Essential Claims that cover the published Windows APIs. Within 90 days after the WASEG receives the list of Essential Claims, the WASEG shall publish its evaluation of which APIs those Essential Claims cover. This shall continue until such evaluations for all Essential Claims have been published on the WASEG web site.
- The WASEG shall compile documentation for the list of Windows APIs defined above in section IV.E.9.e, including a complete description of the meanings of the return values and parameters, and the effects of the API. The documentation should be composed in a style similar to that used for the Single Unix Specification documentation ( http://www.UNIX-systems.org/go/unix). Within 180 days after the WASEG is convened, and on the 1st of every month thereafter until complete, the WASEG will make available the currently completed portion of this documentation via its web site.
- When the three documents described above - the list of Windows APIs, the list of Essential Claims and which Windows APIs they cover, and the documentation for the listed Windows APIs - is complete, the WASEG shall undertake to submit them to a standards body such as ECMA or the IEEE as a Draft WASD Document, and to make such enhancements and revisions as needed to gain the acceptance of that document as a standard.
- The WASEG shall create a WASCTS, and publish it on the WASEG web site subject to the GNU General Public License, according to the following schedule: Within 180 days after the WASEG is convened, the WASEG shall publish test cases for at least one hundred Windows APIs. On the 1st of each month thereafter, the WASEG shall publish test cases for at least another one hundred Windows APIs. This shall continue until a complete WASCTS is available on the web site.
- In the event that a planned update to Windows or any other Microsoft product is expected to result in the creation of new Windows APIs or Essential Claims, or WASEG's list of Windows APIs is updated, the WASEG shall create addenda to the WASD and WASCTS covering the new Windows APIs or Essential Claims, make them available via its web site, and undertake to submit them to the same standards body as above as an addendum to the standard.
A. ``Application Programming Interfaces (APIs)'' means the interfaces, including any associated callback interfaces, that [and two new definitions should be added:Microsoft Middleware running on a Windows Operating System Product uses to call upon that Windows Operating System Product in order to obtain any services from that Windows Operating System Product.] Microsoft Middleware or Popular Windows Applications running or being installed on a Windows Operating System Product use to call upon that Windows Operating System Product or Microsoft Middleware in order to obtain any services from that Windows Operating System Product or Microsoft Middleware.
V. "Popular Windows Applications" means the top 10 selling applications as reported by NPD Intelect Market Tracking in each of the categories Business, Education, Finance, Games, Personal Productivity, and Reference, plus all Microsoft Middleware Products.W. "Essential Claims" shall mean all claims in any patent or patent application, in any jurisdiction in the world, that Microsoft owns, or under which Microsoft has the right to grant licenses without obligation of payment or other consideration to an unrelated third party, that would necessarily be infringed by implementation of the Windows APIs Standard Definition by a competing Operating System. A claim is necessarily infringed hereunder only when it is not possible to avoid infringing it because there is no non-infringing alternative for implementing the required portion of the Windows APIs Standard Definition.
The following are expressly excluded from and shall not be deemed to constitute Essential Claims:
- any claims other than as set forth above even if contained in the same patent as Essential Claims; and
- claims which would be infringed only by portions of an implementation that are not required by the Windows APIs Standard Definition, or enabling technologies that may be necessary to make or use any product or portion thereof that complies with the Windows APIs Standard Definition but are not themselves expressly set forth in the Windows APIs Standard Definition (e.g., compiler technology, object-oriented technology, etc.) or the implementation of technology developed elsewhere and merely incorporated by reference in the body of the Windows APIs Standard Definition.
2. shipping a Personal Computer that (a) includes both a Windows Operating System Product and a non-Microsoft Operating System, or (b) will boot with more than one Operating System, or (c) includes a non-Microsoft Operating System but no Windows Operating System Product; or ...
Dan Kegel
28 January 2002
Return to "On the Remedy Phase of the Microsoft Antitrust Trial"