With the Microsoft antitrust trial moving toward a conclusion,
the question of what to demand of Microsoft if it loses is coming
to the fore. Ralph Nader is even organizing a conference about the
question (see http://www.appraising-microsoft.org/).
The obvious answers -- to restrict contracts between Microsoft
and computer manufacturers, or to break up the company -- will not
make a crucial difference. The former might encourage the
availability of computers with the GNU/Linux system preinstalled,
but that is happening anyway. The latter would mainly help others
proprietary application developers compete, which would only offer
users alternative ways to let go of their freedom.
So I propose three remedies that would help enable free software
operating systems such as GNU/Linux compete technically while
respecting users' freedom. These three remedies directly address
the three biggest obstacles to development of free operating
systems, and to giving them the capability of running programs
written for Windows. They also directly address the methods
Microsoft has said (in the "Halloween documents") it will use to
obstruct free software. It would be most effective to use all three
of these remedies together.
Require Microsoft to publish complete documentation of all
interfaces between software components, all communications
protocols, and all file formats. This would block one of
Microsoft's favorite tactics: secret and incompatible interfaces.
To make this requirement really stick, Microsoft should not be
allowed to use a nondisclosure agreement with some other
organization to excuse implementing a secret interface. The rule
must be: if they cannot publish the interface, they cannot release
an implementation of it.
It would, however, be acceptable to permit Microsoft to begin
implementation of an interface before the publication of the
interface specifications, provided that they release the
specifications simultaneously with the implementation.
Enforcement of this requirement would not be difficult. If other
software developers complain that the published documentation fails
to describe some aspect of the interface, or how to do a certain
job, the court would direct Microsoft to answer questions about it.
Any questions about interfaces (as distinguished from
implementation techniques) would have to be answered.
Similar terms were included in an agreement between IBM and the
European Community in 1984, settling another antitrust dispute. See
Require Microsoft to use its patents for defense only, in the
field of software. (If they happen to own patents that apply to
other fields, those other fields could be included in this
requirement, or they could be exempt.) This would block the other
tactic Microsoft mentioned in the Halloween documents: using
patents to block development of free software.
We should give Microsoft the option of using either self-defense
or mutual defense. Self defense means offering to cross-license all
patents at no charge with anyone who wishes to do so. Mutual
defense means licensing all patents to a pool which anyone can join
-- even people who have no patents of their own. The pool would
license all members' patents to all members.
It is crucial to address the issue of patents, because it does
no good to have Microsoft publish an interface, if they have
managed to work some patented wrinkle into it (or into the
functionality it gives access to), such that the rest of us are not
allowed to implement it.
Require Microsoft not to certify any hardware as working with
Microsoft software, unless the hardware's complete specifications
have been published, so that any programmer can implement software
to support the same hardware.
Secret hardware specifications are not in general Microsoft's
doing, but they are a significant obstacle for the development of
the free operating systems that can provide competition for
Windows. To remove this obstacle would be a great help. If a
settlement is negotiated with Microsoft, including this sort of
provision in it is not impossible -- it would be a matter of
This April, Microsoft's Ballmer announced a possible plan to
release source code for some part of Windows. It is not clear
whether that would imply making it free software, or which part of
Windows it might be. But if Microsoft does make some important part
of Windows free software, it could solve these problems as regards
that part. (It could also be a contribution to the free software
community, if the software in question could be useful for purposes
other than running other proprietary Microsoft software.)
However, having the use as free software of a part of Windows is
less crucial than being *permitted* to implement all parts. The
remedies proposed above are what we really need. They will clear
the way for us to develop a truly superior alternative to Microsoft
Windows, in whatever area Microsoft does not make Windows free
Copyright 1999 Richard Stallman
Verbatim copying and redistribution of this entire article is
permitted provided this notice is preserved.
Richard Stallman is the founder of the Free
Software Foundation, the author of the GNU General Public License
(GPL), and the original developer of such notable software as gcc
Some of the products that appear on this site are from companies from which QuinStreet receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. QuinStreet does not include all companies or all types of products available in the marketplace.