[bionet.molbio.bio-matrix] Drink Beer* with a Rich Genius, and Save the World, Too!

RickL@samson.cadr.amis.com (Rick Lathrop) (08/08/90)

    Date: Fri, 3 Aug 90 00:45:52 EDT
    From: rms@ai.mit.edu

[The US Mail address of the League for Programming Freedom is:]

    1 Kendall Sq #143
    PO Box 9171
    Cambridge MA 02139

    But even better is to pass out League literature to the people you are
    working with--as many of them as possible.

OK, good idea.  I am forwarding your reply around several places.

For the record, The League for Programming Freedom was founded by
Richard Stallman (Emacs inventor and McArthur "Genius" Grant winner),
and includes as board, officers or members: John McCarthy (Lisp inventor
and co-founder of AI); Marvin Minsky (frames inventor and co-founder of
AI);  Patrick Winston (director of the MIT AI Lab); Guy L. Steele, Jr.
(Common Lisp); a list of distinguished individuals too numerous to
mention; and in their footsteps myself (your humble scribe).  We share a
common concern with the legal precedents our profession in this decade
will endow to the next millenium.

			-=*=- Rick Lathrop

p.s. Standard disclaimer:  As always, I speak only for myself, and not
for any of the institutions with which I may be affiliated.

p.p.s. Some of the biologists on some of the forwarded networks may
wonder how issues of software legalism relate to them.  The answer is
that it will have a substantial impact on the programs they will be able
to run, throughout their entire professional careers.

    The first two pages are the invitation to join and membership form.
    We usually print them back-to-back.

    The following two pages are the two position papers, in Texinfo
    format.  To format these for printing, you need TeX plus the Texinfo
    macro package that comes with GNU Emacs.  If you just want to read them,
    you'll find it easy enough to read them without formatting them.

		   Fight "Look and Feel" Lawsuits
	       Join the League for Programming Freedom

    The League for Programming Freedom is an organization of people who
    oppose the attempt to monopolize common user interfaces through "look
    and feel" copyright lawsuits.  Some of us are programmers, who worry
    that such monopolies will obstruct our work.  Some of us are users,
    who want new computer systems to be compatible with the interfaces we
    know.  Some are founders of hardware or software companies.  Some of
    us are professors or researchers, including John McCarthy, Marvin
    Minsky, Guy L. Steele, Jr., and Patrick Winston.

    "Look and feel" lawsuits aim to create a new class of
    government-enforced monopolies broader in scope than ever before.
    Such a system of user-interface copyright would impose gratuitous
    incompatibility, reduce competition, and stifle innovation.

    We in the League hope to prevent these problems by preventing
    user-interface copyright.  The League is not opposed to copyright
    law as it was understood until 1986--copyright on particular
    programs.  Our aim is to stop changes in the copyright system which
    would take away programmers' traditional freedom to write new
    programs compatible with existing programs and practices.

    The League for Programming Freedom will act against the doctrine
    behind look-and-feel suits by any means consistent with the law and
    intellectual liberty.  We will write editorials, talk with public
    officials, file amicus curiae briefs with the courts, and boycott
    egregious offenders.  On May 24th, 1989, we picketed Lotus
    headquarters on account of their lawsuits against competitors,
    stimulating widespread media coverage for the issue.  If you have
    other ideas, please suggest them.

    The League is also opposed to software patents, potentially even more
    dangerous than look-and-feel copyright.  Patents threaten to make
    every design decision in software development a chance for a lawsuit.
    However, there is no way we can get rid of them except by organizing
    to make Congress hear our voice.

    Unless new forms of monopolistic practices arise, these are the only
    issues that the League plans to act on.

    Membership dues in the League are $42 per year for programmers,
    managers and professionals; $10.50 for students; $21 for others.
    Please give more if you can.  The League's funds will be used for
    filing briefs; for printing handouts, buttons and signs; whatever will
    influence the courts, the legislators, and the people.  You won't get
    anything personally for your dues--except for the freedom to write
    programs.  The League is a non-profit corporation, but because it is a
    lobbying organization, your contributions may not be tax-deductible.

    We also accept corporate (nonvoting) members; please phone or write
    for more information.

    The League needs both activist members and members who only pay their
    dues.

    If you have any questions, please write to the League or phone
    (617) 243-4091.  Or send email to league@prep.ai.mit.edu.

			   Richard Stallman, President
			   Chris Hofstader, Secretary
			   Denis Filipetti, Treasurer
    To join, please send a check and the following information to:

	League for Programming Freedom
	1 Kendall Square #143
	P.O.Box 9171
	Cambridge, Massachusetts 02139

    (Overseas, calculate the equivalent in your currency rather than
    writing a check in US dollars.)

    Your name:


    Your address, where we should write to you for elections and such:



    The company you work for, and your position:


    Your phone numbers (home, work or both) and email address, so we can
    contact you for demonstrations or for writing letters.  (If you don't
    want us to contact you for these things, please say so; your support
    as a member is helpful nonetheless.)


    Is there anything about you which would enable your endorsement of the
    LPF to impress the public?  For example, if you are or have been a
    professor or an executive, or have written software that has a good
    reputation, please tell us.



    Would you like to help with LPF activities?






    The corporate charter of the League for Programming Freedom states:

	The purpose of the corporation is to engage in the following
	activities:

	1. To determine the existence of, and warn the public about
	restrictions and monopolies on classes of computer programs where such
	monopolies prevent or restrict the right to develop certain types of
	computer programs.

	2. To develop countermeasures and initiatives, in the public interest,
	effective to block or otherwise prevent or restrain such monopolistic
	activities including education, research, publications, public
	assembly, legislative testimony, and intervention in court proceedings
	involving public interest issues (as a friend of the court).

	3. To engage in any business or other activity in service of and
	related to the foregoing paragraphs that lawfully may be carried on
	by a corporation organized under Chapter 180 of the Massachusetts
	General Laws.

    The officers and directors of the League will be elected annually by
    the members.
    
    \input texinfo
    @setfilename look-and-feel

    @center @titlefont{Against User Interface Copyright}
    @sp 1
    @center The League for Programming Freedom

    In the past few years, a few companies have begun to sue others
    for following what used to be standard practice in the computer
    field: implementing programs that are compatible with the competition.
    These plaintiffs claim to have a copyright on the user interface
    of a program---something unheard of before 1986.

    In June 1990, Lotus won a suit against Paperback Software, a small
    company that implemented a spreadsheet that talks to the user in the
    same terms used by 1-2-3; they immediately went on to sue Borland about
    Quattro, a spreadsheet whose usual interface has only a few similarities
    to 1-2-3, claiming that these similarities in keystroke sequences and/or
    the ability to customize the interface to emulate 1-2-3 are enough to
    infringe.

    Even more ominously, Apple Computer has sued Microsoft and Hewlett
    Packard for implementing a window system whose displays partially
    resemble those of the Macintosh system.  Subsequently Xerox sued Apple
    for implementing the Macintosh system, which derives some general
    concepts from the earlier Xerox Star system.  The Xerox lawsuit was
    dismissed because of the length of time that had elapsed since the
    release of the Macintosh system, but a monopoly of unprecedented scope
    could still result from this suit if the Xerox appeal is successful.

    @heading What Is a User Interface?

    The user interface of a program is the way in which you communicate
    with it.  Other machines also have user interfaces.  For example, the user
    interface of a typewriter is a collection of keys corresponding to
    letters, digits, and punctuation, and arranged in a well-known order. 
    The user interface of a car includes a steering wheel for turning and
    pedals to speed up and slow down, plus a lever to signal turns, etc. 

    In the case of a machine which is a computer program, the interface
    includes that of the computer---its keyboard, screen and mouse---plus
    those aspects specific to the program.  Those typically include the
    choice of commands, menus and programming language, and the way your
    data is presented on the screen.  

    User interface copyright would mean a monopoly on a user interface. 
    In the example of the typewriter, this would mean that each
    manufacturer would have to arrange the keys in a different order.  

    @heading The Purpose of Copyright

    In any discussion of what copyright law ought to mean, we must start
    by noting its purpose.

    In the United States, the Constitution says that the purpose is to
    ``promote the progress of science and the useful arts.''  Conspicuously
    absent is any hint of intention to enrich copyright holders to the
    detriment of the users of copyrighted works.

    The Supreme Court made the reason for this absence explicit, stating in
    @cite{Fox Film vs. Doyal} that ``The sole interest of the United States
    and the primary object in conferring the [copyright] monopoly lie in the
    general benefits derived by the public from the labors of authors.''  
    @refill

    In other words, since copyright is a government-imposed monopoly,
    which interferes with the freedom of the public in a significant way,
    it is justified only if it helps the public more than it costs the
    public.  

    The spirit of individual freedom must, if anything, incline us even
    less to accept such a monopoly.  So if either the Supreme Court or the
    principle of freedom is our guide, we have to ask: what value does
    user interface copyright offer the public---and what price would we
    have to pay for it?

    According to Infoworld magazine (mid January 1989), computer users in
    general have considered this question and reached a consensus: they
    expect user interface copyright to be harmful for them.  If we believe
    that the users should determine how their interests are to be served,
    the issue is already settled.  But so as not to take their word for it,
    let's now investigate how much good and harm user interface copyright
    would do in various ways.

    @heading Is More Incentive Needed?

    The developers of the Star, the Macintosh system, 1-2-3 and dBase claim
    that without interface copyright there would be insufficient incentive
    to develop such products.  This is disproved by their own actions.

    Until a few years ago, user interface copyright was unheard of.  The
    entire development of the computer industry took place under a system
    where imitating a user interface was standard practice, and lawful.  And
    it was under this system that today's plaintiffs made their decisions to
    develop their products.  When faced with the choice in actuality, these
    developers decided that they did, indeed, have ``enough incentive''.

    Everyone was free to imitate these interfaces, but this did not prevent
    most of them from being successful and producing a large return on the
    investment.  In fact, they were so successful that they became de-facto
    standards.  (The Xerox Star was not successful, but was not imitated;
    users simply did not like it.)

    Even supposing that interface copyright would increase the existing
    incentive, this does not mean that it will lead to much additional
    improvement in user interfaces.  The existing incentive is so great that
    it may well suffice to motivate everyone who has an idea worth
    developing.  Then the change would only increase the price of these
    improvements.  Once you suck a bottle dry, more suction won't get more
    out of it.

    @heading ``Look and Feel'' Will Not Protect Small Companies

    The proponents of user interface copyright claim that it would protect
    small companies from being wiped out by large competitors.

    One problem with this idea is that it won't work.  It is no coincidence
    that today's interface copyright plaintiffs are large, established
    companies.  The effect of user interface copyright is crushing when the
    interface is widely known---an effective standard.  However, a small
    company is vulnerable when their product is little used, and its
    interface is little known.  In this situation, user interface copyright
    won't make much difference.

    Thus, imagine that a small company with 10,000 customers is afraid that
    a large company will produce a compatible product and use their other
    advantages to take over the market.  The large company may believe there
    is a potential market of a million users that the small company has not
    reached.  Suppose that the small company tries to stop this with
    user interface copyright, forcing the large company to make the new
    product incompatible.  What effect will this have?

    Not much.  Probably only 20,000 potential customers already know the
    interface used by the small company.  The other 970,000 potential
    customers will see no disadvantage in the incompatibility with a product
    they have never learned to use.  So they will buy from the large company
    anyway.

    What's more, the interface copyright tactic will begin to backfire for
    the small company once the large company's product becomes an effective
    standard.  Then even people who know about the small company and have
    some reason to prefer them will be likely to choose the standard
    interface instead.  Now the small company will need to offer a
    compatibility mode---but, due to user interface copyright, this will not
    be allowed.

    Instead of supporting monopolistic measures, small companies would be
    wiser to rely on their own inherent advantages: large companies have
    high inertia, high overhead, and are more cautious.

    @heading What Will Interface Copyright Cost the Public?

    So much for the value of interface copyright; what about the cost? 
    Computer user interfaces will be less convenient and more incompatible.

    One cost we can be sure of is that future user interfaces will be less
    widely used by developers, because most developers will not be allowed
    to use them.  We will also lose much of the usefulness of the
    important interface concepts of the past decade.  The few systems
    permitted to use them will be more expensive due to the lack of
    competition---a windfall for a few manufacturers, but bad for the
    public at large.  

    But this is not the only cost.  Better interfaces may be hard to think
    of, but it is easy to invent interfaces which are merely different. 
    Interface copyright will surely succeed in encouraging more of this
    sort of ``interface development''.  The result will be greater
    incompatibility between computer systems---exactly what the user does
    not want.

    These ``improved'' interfaces may be slightly better or slightly worse
    if considered abstractly; but for the users who have already learned
    to use one well-known interface, they are inevitably worse, because
    they require retraining.

    Even an intrinsically superior interface may be unacceptable for the
    users due to incompatibility.  For example, the Dvorak keyboard,
    invented several decades ago, enables a typist to type much faster and
    more accurately than is possible with the standard ``qwerty'' keyboard.
    Nonetheless, few people use it.  Already-trained typists don't know how.
    New typists don't learn how, because they want to learn the standard
    layout they can expect to find on most keyboards.

    @heading Diversity in Interfaces is Not Desirable

    Here we can see one of the implicit assumptions behind the system of
    copyright, and why it does not apply to user interfaces.  Copyright
    was designed to encourage diversity; its details work toward this end.
    Diversity is exactly what benefits the public when it comes to novels
    and songs, and the other traditional domains of copyright.  Readers
    want new, different novels to be written so that there are more
    different things to read.  This is indeed a way to promote the art of
    creative writing.  

    But this is not the way to promote the art of programming user
    interfaces.  Computer users regard diversity in interfaces as a price to
    be paid, not as a measure of progress.

    Thus, when proponents of interface copyright say that this will force
    developers to find ways to vary the accepted interfaces, they are saying
    that the users will suffer.

    But that is not the whole of the problem.  A technology cannot fully
    mature without standardization of the modes of use, so that one can
    confidently expect to operate any piece of equipment almost in one's
    sleep.  It is not for nothing that so much effort is devoted to the
    development of industrial standards, including international symbols for
    information that guides users of various systems including automobile
    control panels.  Anything which impedes standardization impedes the
    social penetration of technology.  User interface copyright operates
    directly against the proliferation of computer use.

    @heading Incompatibility Does Not Go Away

    If there had been a 50-year interface copyright for the steering
    wheel, it would have expired not long ago.  During the span of the
    copyright, we would have got cars steered with joysticks, cars steered
    with levers, and cars steered with pedals.  Each car user would have
    had to choose a brand of car to learn to drive, and it would not be
    easy to switch.  

    The expiration of the copyright would have freed manufacturers
    ostensibly to switch to the best of the known interfaces.  In practice
    they would still be unable to do so without forcing all their old
    customers to learn to drive all over again.  It would take decades for
    the country to converge on a single interface, perhaps into the 21st
    century.

    @heading Who Invests in the User Interface?

    The plaintiffs like to claim that user interfaces represent large
    investments on their part.  

    In fact, designing the user interface of a computer program is usually a
    small part of the investment in developing the program itself.  The ones
    who do make a large investment in the user interface are the users who
    train to use it.  Users have spent many times more on learning to use
    1-2-3 than Lotus spent to develop the entire program, let alone what
    Lotus spent develop the program's interface per se.

    Therefore, if investment justifies owning the interface, it is the
    users who should be the owners.  And they should be able to permit
    everyone to clone it, as they would prefer to do.  

    @heading Discrimination Against Sharing of Software

    User interface copyright discriminates against freely redistributable
    software, such as freeware, shareware and public domain software.

    For a proprietary program it @emph{may} be possible to license the
    interface, if the owner is willing.  But there is no way to do this for
    programs that are freely redistributable---any means for collecting
    royalties from the users for use of the interface is incompatible with
    redistribution by them.  Thus, in practice, licenses will not be
    available for freely-redistributable software.  The result will be a
    growing body of interface techniques that are allowed in proprietary
    software but forbidden in non-proprietary software.

    This discrimination is harmful because non-proprietary software provides
    several advantages to the public: users can customize it, improve it,
    and study it to learn programming; they can also develop habits of good
    citizenship by lawfully passing on copies to their friends.

    Software developers who choose to encourage redistribution are choosing
    to serve the public fully rather than only themselves.  Today such
    public spirit is scarcer than innovation.  It does not make sense to
    encourage innovation by thwarting public spirit.

    @heading The Fear Factor

    The scope of interface copyright is so wide and vague that it will be
    difficult for any programmer to be sure of being safe from lawsuits. 
    Most programs need an interface, and there is usually no way to design
    an interface except based on the ideas you have seen used elsewhere. 
    Only a great genius would be likely to envision a usable interface
    without a deep resemblance to current practice.  It follows that most
    programming projects will risk an interface infringement suit.  

    The danger will be increased because the actual, de facto scope of
    interface copyright will be wider than supposedly intended.  This is
    due to the practice of intimidation.  

    When offered a choice between paying royalties and being sued, most
    businessmen choose to pay, even if they would probably win the case. 
    They know that customers and investors may avoid them because of the
    suit, so that an eventual victory will come years too late to save
    them from great loss or even bankruptcy.  They speak of suits ``putting
    their money in jail.''  They prefer the certainty of a payment they can
    bear, even if it is unjust.  

    This phenomenon is well known, and some companies take advantage of it
    by threatening to sue when they know they don't have a real case.

    If patents are any guide, intimidation will be widespread in the area of
    interface copyright.  @w{G. Gervaise} Davis (an attorney specializing in the
    field) estimates that 90% of all recent software patents would be
    overturned in court, if anyone dared to challenge them.  These patents
    are part of a strategy of intimidation; they were filed in order to gain
    a position for intimidation.

    @heading Barrier to Evolution

    Despite the high and many-fold social cost of user interface
    copyright, the reader may still feel that it must have some beneficial
    effect on progress in user interfaces, however minuscule.  However,
    interface copyright may actually retard progress, because of the
    evolutionary nature of interface development.  

    Fully fleshed-out user interfaces schemes don't often arise as tours de
    force from the minds of isolated masters.  They result from repeated
    implementations, by different groups, each learning from the successes
    and failures of previous attempts.  For example, the Macintosh interface
    was based on ideas tried previously by Xerox and SRI, and before that by
    the Stanford Artificial Intelligence Laboratory.  The Xerox Star also
    drew on the interface ideas that came from SRI and SAIL.  1-2-3 adapted
    the interface ideas of Visicalc and other spreadsheets.  dBase drew on a
    program developed at the Jet Propulsion Laboratory.

    This evolutionary process resembles the creation of folk art rather
    than the way symphonies, novels or films are made.  The ideas that we
    ought to encourage are most often ideas for small, localized changes
    to what someone else has done.  If each interface has an owner, it
    will be difficult to implement such ideas.  Even assuming the owner
    will license the interface that is to be improved, the inconvenience
    and expense would discourage all but the most determined.  

    @heading Evolution vs. Compatibility

    The careful reader will now notice an apparent contradiction between
    the usefulness of evolutionary growth and the undesirability of
    incompatible changes.  Why aren't the evolutionary changes rejected
    by users who do not want any change?

    To some extent, they are rejected.  For this reason, developers often
    try to satisfy both goals.  They make changes that are
    upward-compatible, or change only a small portion of the well-known
    interface.  

    Thus, on computer keyboards, we now have function keys, arrow keys, a
    delete key and a control key, which typewriters did not have.  But the
    layout of the letters is unchanged.  This is an upward-compatible change.

    When complete upward-compatibility is impossible, developers still strive
    for as much compatibility as is possible given the improvement to be
    made.  This reduces the retraining cost for the given amount of benefit.

    However, such partial changes as this would not be permitted by copyright
    law.  If any significant portion of the new interface were the same as a
    copyrighted interface, the new interface would be illegal.

    @heading What Do Interface Designers Think?

    At the 1989 ACM Conference on Computer-Human Interaction, Professor
    Samuelson of Emory School of Law presented a debate on the legal
    arguments for and against user interface copyright, and then asked the
    attendees---researchers and developers of user interfaces---to fill out
    a survey of their opinion on the subject.

    The respondents overwhelmingly opposed all forms of user interface
    copyright, in most cases by 4 to 1.  When they were asked whether user
    interface copyright would harm or help the field, on a scale from 1 to
    5, the average answer was 1.6.  For the full results, see the May 1990
    issue of the Communications of the ACM.

    The advocates of user interface copyright have a habit of trying to sell
    their scheme as a method of providing better security and income for
    user interface designers.  However, the survey shows that these supposed
    beneficiaries would prefer to be let alone.

    @heading Do You Really Want a User Interface Copyright, Anyway?

    Many organizations talk about aiming to have a major influence in
    shaping the world.  The way to have this influence is to encourage
    others to imitate what you do: if your way of doing things is appealing
    enough to draw the world after you, then you can shape it.

    If, on the contrary, you create obstacles to drive others away from your
    path, eventually they will succeed, leaving you in irrelevant isolation,
    no matter how inspiring your way might otherwise have been.

    For a business, ``locking in'' customers may be profitable for a time.
    But, as the vendors of proprietary operating systems have found out,
    this generates public resentment, and eventually drives customers to try
    to escape.  In the long run, this is not the way to succeed.

    @heading Conclusion

    We have seen that monopolies on user interfaces do not serve the users
    and do not ``promote the progress of science and the useful arts.''  It
    follows that user interfaces ought to be the common property of all, as
    they undisputedly were until a few years ago.

    @heading What We Can Do

    @comment Feel free to delete this section when sending a copy
    @comment to a politician

    @itemize @bullet
    @item
    Don't buy from Xerox, Lotus, Apple or Ashton-Tate.  Buy from their
    competitors or especially from the defendants they are suing.

    @item
    Don't own stock in these companies.

    @item
    Don't develop software to work with the systems made by these companies.

    @item
    Port your existing software to competing systems, so that you encourage
    users to switch.

    @item
    Above all, don't work for the ``look and feel'' plaintiffs, and don't
    accept contracts from them.

    @item
    Join the League for Programming Freedom and participate in further
    activities.  You can phone the League at (617) 243-4091, or send
    electronic mail to @code{league@@prep.ai.mit.edu}, or write to:

    @display
    League for Programming Freedom
    1 Kendall Square #143
    P.O. Box 9171
    Cambridge, MA 02139
    @end display

    The League is a grass-roots organization of programmers and users
    dedicated to preserving the freedom to develop software that does what
    users want.  The League opposes software patents and user interface
    copyrights, and advocates a return to the legal system for software that
    existed a decade ago.

    Annual dues for individual members are $42 for employed professionals,
    $10.50 for students, and $21 for others.  We appreciate activists, but
    members who have no free time to contribute are also welcome.

    @item
    Tell your friends and colleagues about this issue and how it threatens
    to ruin the computer industry.  Ask them to join the League.

    @item
    In the United States, write to Congress.  You can write to your own
    representatives, but it may be even more effective to write to the
    subcommittees that consider such issues:

    @display
    House Subcommittee on Intellectual Property
    2137 Rayburn Bldg
    Washington, DC 20515

    Senate Subcommittee on Patents, Trademarks and Copyrights
    United States Senate
    Washington, DC 20510
    @end display

    You can write to your own representatives using the following addresses:

    @display
    Senator So and So
    United States Senate
    Washington, DC 20510

    Representative Such and Such
    House of Representatives
    Washington, DC 20515
    @end display

    You can phone senators and representatives at (202) 225-3121.

    @item
    In Europe, there is no user interface copyright as of now, but the
    European Commission is proposing to institute it.  Express your
    opposition by writing to:

    @display
    Jean-Francois Verstrynge
    DG 3/D/4
    Commission of the European Communities
    200 Rue de la Loi
    1049 Bruxelles
    BELGIUM
    @end display

    Also write to your own representative to the European Parliament.
    @end itemize

    @bye
    
    \input texinfo    @c -*-texinfo-*-
    @comment %**start of header
    @setfilename patents.info
    @settitle Patents draft: @today{}
    @comment %**end of header 

    @sp 7
    @center @titlefont{Against Software Patents}
    @center (draft)
    @sp 2
    @center The League for Programming Freedom

    Software patents threaten to devastate America's computer industry.
    Newly-granted software patents are being used to attack companies such
    as the Lotus Development Corporation and Microsoft for selling programs
    that they have independently developed.  Soon new companies may be
    barred from entering the software arena, because the cost of licensing
    the dozens of patents necessary for a major program will make such a
    project economically impossible.

    As programmers, we believe that if the United States Patent and
    Trademark Office continues to grant software patents, we will soon be
    effectively forbidden from writing programs that are useful.

    @heading The Patent System and Computer Programs

    The framers of the Constitution established the patent system so that
    inventors would have an incentive to share their inventions with the
    general public.  In exchange for divulging an invention, the patent
    grants the inventor a 17 year monopoly on the use of the invention.  The
    patent holder can license others to use the invention, but may also refuse to
    do so.  Independent reinvention of the same technique by others does
    not let them use it.

    Patents do not cover specific programs: instead, they cover particular
    techniques that are used to build programs, or particular features that
    programs offer.  Once a technique or feature is patented, it may not be
    used in another program without the permission of the
    patent-holder---even if it is implemented in a different way.  Since a
    program typically uses many techniques and provides many features, it
    can infringe many patents at once.

    Until recently, patents were simply not used in the field of software.
    Software developers would copyright individual programs, or make them
    trade secrets.

    Copyright was traditionally understood to cover the particular details
    of a particular program; it did not cover the features of the program,
    or the general methods used.  And trade secrecy, by definition, could
    not prohibit any development work by someone who did not know the
    secret.

    On this basis, software development was extremely profitable, and
    received considerable investment, without prohibiting the development of
    new programs by others.

    But this scheme of things is no more.  Software patents became legal in
    the U.S. in 1981, and now enough time has elapsed for numerous patents
    to be approved.

    Many programmers are unaware of the change and do not appreciate the
    magnitude of its effects.  Today the lawsuits are just beginning.

    @heading Absurd Patents

    The Patent Office and the courts have had a very difficult time with
    computer software.  The Patent Office refuses to hire Computer Science
    graduates as examiners, and in any case does not offer competitive
    salaries for the field.  Patent examiners are often ill-prepared to
    evaluate software patent applications to determine if they represent techniques
    which have been previously used or are obvious---both of which are
    grounds for rejection.

    Their task is made more difficult because many commonly-used software
    techniques do not appear in the scientific literature of computer
    science.  Some seemed too obvious to publish, others seemed
    insufficiently general.  Complicated assemblages of techniques have
    often been kept secret.

    And what is obvious to a programmer is frequently not obvious to a
    patent examiner, many of whom view innovations in computer science the
    same way as they see innovations in chemistry or biology.  Computer
    scientists know many techniques that can be generalized to widely
    varying circumstances.  Based on patents that have been awarded, the
    Patent Office seems to believe that each separate use of a technique is
    a candidate for a patent.

    For example, Apple has been sued because the Hypercard program violates
    patent number 4,736,308, a patent that describes nested scrollable
    objects: windows that can scroll, containing tables that can
    individually scroll, containing items that can individually scroll.
    These three types of scrolling were all in use at the time that patent
    number 4,736,308 was applied for, but combining them is now illegal.

    Many well-known and widely used techniques have been patented.
    Unfortunately, the granting of a patent by the Patent Office carries a
    presumption in law that the patent is valid.  Patents for well-known
    techniques that were in use for more than 10 years before the patent was
    granted have been upheld by federal courts.

    For example, the technique of using exclusive-or to write a cursor onto
    a screen is well known, and has been used for decades.  (Its advantage
    is that another identical exclusive-or operation can be used to erase
    the cursor without damaging the other data on the screen.)  This
    technique can be used in just a few lines of program, and a clever high
    school student might well reinvent it.  But this, as well as other
    important graphics techniques, is covered by patent number 4,197,590,
    which has been upheld twice in court.

    English patents covering customary graphics techniques, including
    airbrushing, stenciling, and combination of two images under control of
    a third one, were recently upheld in court, despite the testimony of the
    pioneers of the field that they had developed these techniques years
    before.  (The corresponding United States patents, including 4,633,416
    and 4,602,286, have not yet been tested in court, but they probably will
    be soon.)

    Currently all companies who have developed spreadsheet programs are
    being sued because of a patent 4,398,249, covering ``natural order
    recalc''---the recalculation of all the spreadsheet entries that are
    affected by the changes the user makes, rather than recalculation in a
    fixed order.  This technique is very similar to the old artificial
    intelligence techniques of antecedent reasoning and constraint
    propagation, but we cannot rely on the courts to overturn the patent on
    these grounds.

    Nothing protects programmers from accidentally using a technique that is
    patented---and then being sued for it.  Taking an existing program and
    making it run faster may also make it violate half a dozen patents that
    have been granted, or are about to be granted.

    Even if the Patent Office learns to understand software better, the
    mistakes it is making now will follow us into the next century, unless
    Congress or the Supreme Court intervenes to declare them void.

    However, this is not the extent of the problem.  Computer programming is
    fundamentally different from the other fields that the patent system
    previously covered.  As a result, even if the patent system were fixed
    to operate ``as intended'' for software, it would still largely wipe out
    the industry it is ostensibly designed to encourage.

    @heading Why Software Is Different

    Software systems are much easier to design than hardware systems of the
    same number of components.  For example, a program of a hundred thousand
    components might be fifty thousand lines long and could be written by
    two good programmers in a year.  The equipment needed for this costs
    less than ten thousand dollars; the only other cost would be the
    programmers' own living expenses while doing the job.  The total
    investment would be less than a hundred thousand dollars.  If done
    commercially in a large company, it might cost twice that.  By contrast,
    an automobile typically contains under a hundred thousand components; it
    requires a large team and costs tens of millions of dollars to design.

    And software is also much cheaper to manufacture: copies can be made
    easily on an ordinary workstation costing under ten thousand dollars.
    To produce a hardware system often requires a factory costing tens of
    millions of dollars.

    Why is this?  A hardware system has to be designed using real
    components.  They have varying costs; they have limits of operation;
    they may be sensitive to temperature, vibration or humidity; they may
    generate noise; they drain power; they may fail either momentarily or
    permanently.  They must be physically inserted in their place in the
    machinery, and it must be possible to gain access to them to test or
    replace them.

    Moreover, each of the components in a hardware design is likely to
    affect the behavior of many others.  Therefore, is it very hard to
    figure out what a hardware design will do: mathematical modeling may
    prove wrong when the design is built.

    By contrast, a computer program is built out of ideal mathematical
    objects whose behavior is defined, not merely modeled approximately, by
    abstract rules.  When you write an if-statement after a while-statement,
    you don't have to worry that the if-statement will draw power from the
    while-statement and thereby distort its output, nor that it will
    overstress the while-statement and make it fail.

    Despite the fact that they are built from simple parts, computer
    programs are incredibly complex.  The program with fifty thousand lines
    probably has a hundred thousand parts, making it as complex as an
    automobile, though far easier to design.

    While programs cost substantially less to write, market and sell than
    automobiles, the cost of dealing with the patent system is not less.
    The same number of components will, in general, be likely to involve the
    same number of possibly-patented techniques.

    @heading What Is ``Obvious''?

    The patent system will not grant or uphold patents that are judged to be
    ``obvious.''  However, the standard of obviousness that the patent
    system has developed in other fields is inappropriate to the software
    field.

    Patent examiners are accustomed to considering even small, incremental
    changes as deserving new patents.  For example, the famous
    @cite{Polaroid vs.@: Kodak} case turned on differences in the number and
    order of layers of chemicals in a film---differences between the
    technique Kodak was using and those described by previous, expired
    patents.  The court ruled that these differences were unobvious.

    Computer scientists solve problems far faster than people in other
    disciplines, because the medium of programming is more tractable.  So
    they are trained to generalize solution principles from one problem to
    another.  One such generalization is that a procedure can be repeated
    within itself, a process known as nesting.  Nesting in software is
    obvious to computer programmers---but the Patent Office did not think
    that it was obvious when it granted the patent on nested scrolling, for
    which Apple was sued.

    Cases such as this cannot be considered errors.  The patent system is
    functioning in software just as it does in other fields---but with
    software, the result is outrageous.

    @heading Patenting What Is Too Obvious to Publish

    Sometimes it is possible to patent a technique that is not new precisely
    because it is obvious---so obvious that no one saw a point in writing
    about it.

    For example, computer companies distributing the free X Window System
    developed by MIT are now being threatened with lawsuits by AT&T over
    patent number 4,555,775, covering the use of ``backing store''.  This
    technique is used when there are overlapping windows; the contents of a
    window that is partly hidden are saved in off-screen memory, so they can
    be put back quickly on the screen if the obscuring window disappears (as
    often happens).

    In fact, the technique of backing store was used in an earlier MIT
    project, the Lisp Machine System, before AT&T applied for the patent.
    But the Lisp Machine developers did not publish anything mentioning the
    use of backing store
    until the
    programmers' reference manual was written some years later.
    They expected that any window system developer would have the same idea,
    given that the memory of the computer was large enough to make the idea
    practical.  (Earlier window systems, such as those at Xerox, did not use
    backing store because the computers in use had insufficient memory space
    to spare any for this purpose.)

    Without a publication, the use of backing store in the Lisp Machine
    System may not count as prior art to defeat the patent.  So the AT&T
    patent may be enforceable, and MIT may be forbidden to continue using a
    method that MIT used before AT&T.

    The result is that the dozens of companies and hundreds of thousands of
    users who accepted the software from MIT on the understanding that it
    was free are now faced with possible lawsuits.@footnote{They are being
    threatened by Cadtrak as well.}  The X Windows Project was intended to
    develop a window system that all developers could use freely.  Because
    of software patents, this public service goal seems to have been
    thwarted.

    @heading The Danger of a Lawsuit

    Under the current patent system, a software developer who wishes to
    follow the law must determine which patents his program violates and
    negotiate with each patent holder a license to use that patent.
    Licensing may be prohibitively expensive, as in the case when the patent
    is held by a competitor.  Even ``reasonable'' license fees for several
    patents can add up to make a project unfeasible.  Alternatively, the
    developer may wish to avoid using the patent altogether; unfortunately,
    there may be no way around it.

    The worst danger of the patent system is that a developer might find,
    after releasing a product, that it infringes one or many patents.  The
    resulting lawsuit and legal fees could force even a medium-size company
    out of business.

    Worst of all, there is no practical way for a software developer to
    avoid this danger---there is no effective way to find out what patents a
    system will infringe.  There is a way to try to find out---a patent
    search---but such searches are unreliable and in any case too expensive to
    use for software projects.

    @heading Patent Searches Are Prohibitively Expensive

    In a system with a hundred thousand components, there can easily be
    hundreds of techniques that might already be patented.  Since each
    patent search costs thousands of dollars, searching for all the possible
    points of danger could easily cost over a million.  This is far more
    than the cost of writing the program.

    But the costs don't stop there.  Patent applications are written by
    lawyers for lawyers.  A programmer reading a patent may not believe that
    his program violates the patent, but a federal court may rule otherwise.
    It is thus now necessary to involve patent attorneys at every phase of
    program development.

    Yet such involvement only reduces the risk of being sued later---it
    does not eliminate the risk.  So it is necessary to have a reserve of
    cash for the eventuality of a lawsuit.

    When a company spends millions to design a hardware system, and plans to
    invest tens of millions to manufacture it, an extra million or two to
    pay for dealing with the patent system might be bearable.  However, for
    the inexpensive programming project, the same extra cost is prohibitive.

    In particular, individuals and small companies cannot afford these
    costs.  Software patents will put an end to software entrepreneurs.

    @heading Patent Searches Are Unreliable

    Even if companies could afford the heavy cost of patent searches, they
    are not a reliable method of avoiding the use of patented techniques.
    This is because patent searches do not reveal pending patent
    applications (which are kept confidential by the Patent Office).
    Since it takes several years on the average for a patent to be
    granted, this is a serious problem: a company could begin designing a
    large program after a patent has been applied for, and release the
    program before the patent is approved.  Only later will that company
    find out whether its profits will be confiscated.

    For example, the implementors of the widely-used public domain program
    @code{compress} followed an algorithm obtained from the journal,
    @cite{IEEE Computer}.  They and the user community were surprised to
    learn later that patent number 4,558,302 had been issued to one of the
    authors of the article.  Now Unisys is demanding royalties for using
    this algorithm.  Although the program is still in the public domain,
    using it means risking a lawsuit.  And implementing the algorithms
    found in the journals is no longer safe.

    In addition, the Patent Office does not have a workable scheme for
    classifying software patents.  Patents are most frequently classified by
    the activity they are used in, such as ``converting iron to steel;'' but
    many patents cover algorithms whose use in a program is entirely
    independent of the purpose of the program.  For example, a program to
    analyze human speech might infringe the patent on a speedup in the Fast
    Fourier Transform; so might a program to perform symbolic algebra (in
    multiplying large numbers); but the category to search for such a patent
    would be hard to predict.

    You might think it would be easy to keep a list of the patented software
    techniques, or even simply remember them.  However, managing such a list
    is nearly impossible in practice.  The patent office has now granted
    more than 2000 software patents.  In 1989 alone, 700 patents were
    issued.  We can expect the pace to accelerate.

    When you think of inventions, you probably call to mind revolutionary
    inventions such as the telephone or magnetic core memory.  This is not
    the standard that the patent system uses, however.  What we would
    consider a minor cleverness or variation or combination of existing
    techniques, they consider patentable.  This leads to a profusion of
    obscure patents.

    Any capable software designer will ``invent'' several such
    improvements in the course of a project, and will say that they are
    straightforward---hardly inventions at all.  However, the number of
    avenues for such improvement is very large, so no single project is
    likely to find any given one.  Therefore, the Patent Office is not
    likely to classify them as obvious.  As a result, IBM has several
    patents (including 4,656,583) on certain fairly straightforward,
    albeit complex, speedups for well-known computations performed by
    optimizing compilers, such as computing the available expressions and
    register coloring.

    Patents are also granted on combinations of techniques that are
    already well known and in use.  One example is IBM patent 4,742,450,
    which covers ``shared copy-on-write segments.''  This is a technique
    that allows several programs to share the same piece of memory that
    represents information in a file; if any program writes a page in the
    file, that page is replaced by a copy in all of the programs, which
    continue to share that page with each other but no longer share with
    the file.

    Shared segments and copy-on-write are very old techniques; this
    particular combination may be new as an advertised feature, but is hardly
    an invention.  Nevertheless, the Patent Office thought that
    it merited a patent, which must now be taken into account by the
    developer of any new operating system.

    These sorts of patents are like land mines: your chances of running into
    any one of them are small, but soon there will be thousands of them.
    Even today it is hard to keep track of them, and a recent list published
    by lawyers specializing in the field omitted some of these IBM patents.
    In ten years, programmers will have no choice but to march on blindly
    and hope they are lucky.

    @heading Patent Licensing Has Problems, Too

    Most large software companies are trying to solve the problem of patents
    by getting patents of their own.  Then they hope to cross-license with
    all the other companies and be free to go on as before.

    While this approach will allow companies like Microsoft, Apple and IBM
    to continue business, it will shut future companies out of the
    marketplace.  A future start-up, with no patents of its own, will have
    no choice but to meet whatever conditions the giants choose to impose.
    And that price might be extremely high: companies currently in the
    market have an incentive to keep out future competitors.  The recent
    Lotus lawsuits against Borland and the Santa Cruz Operation (although
    involving an extended idea of copyright rather than patents) show how
    this can work.

    Even a system of industry-wide cross-licensing will not protect the
    software industry from companies whose only business is to buy patents
    and then sue people for license fees.  For example, the New York-based
    REFAC Technology Development Corporation recently bought the rights to
    the ``natural order recalc'' patent, solely so that REFAC could sue
    Lotus, Microsoft and other companies selling spread-sheet programs.
    Contrary to its name, REFAC does not develop anything except lawsuits.
    It has no financial incentive to join a cross-licensing compact.  The
    exclusive-or patent is owned by another such litigation company,
    Cadtrak, which is now suing Western Digital.

    REFAC is demanding five percent of sales of all major spread-sheet
    programs.  If some future program infringes on twenty such patents---and
    this is not at all unlikely, given the complexity of a computer program
    and the specificity of patents that have been recently issued---that
    program will never be used.

    To get a picture of the effects for yourself, imagine if each square of
    pavement on the sidewalk had its owner, and you had to negotiate a
    license to step on it.  Imagine trying to walk the entire length of a
    block under this system.  That is what writing a program will be like if
    software patents are allowed to proliferate.

    @heading The Fundamental Question

    According to the Constitution of the United States, the purpose of
    patents is to ``promote the progress of science and the useful arts.''
    Thus, the basic question at issue is whether software patents,
    supposedly a method of encouraging software progress, will truly do so,
    or whether they will instead hold progress back.

    So far we have explained the ways in which patents will make ordinary
    software development difficult.  But what of the intended benefits of
    patents: more invention, and more public disclosure of inventions?  To
    what extent will these actually occur in the field of software?

    There will be little benefit to society from software patents because
    invention in software was already flourishing before software patents,
    and inventions were normally published in journals for everyone to use.
    Invention flourished so strongly, in fact, that the same inventions were
    often found again and again.

    @heading In Software, Independent Reinvention Is Commonplace

    A patent is an absolute monopoly; anyone who uses the patented
    technique can be stopped, even if it was independently reinvented.

    The field of software is one of constant reinvention; as some people
    say, programmers throw away more ``inventions'' each week than other
    people develop in a year.  And the comparative ease of designing large
    software systems makes it easy for many people to do work in the field.

    As programmers, we solve many problems each time we develop a program.
    In the past, we would publish the important solutions in journals, and
    forget the rest.  All of these solutions are likely to be reinvented
    frequently as additional people tackle similar problems and try to do a
    good job.

    Today, however, many of these specialized solutions are being patented.
    If you then rediscover it in the course of your work, you are headed for
    a lawsuit that you cannot anticipate.

    Meanwhile, the prevalence of independent reinvention negates the usual
    justification for patents.  Patents are intended to encourage the
    development of inventions and, above all, the disclosure of inventions.
    If a technique will be reinvented frequently, there is no need to
    encourage more people to invent it; since some of the developers will
    choose to publish it (if it merits publication), there is no point in
    encouraging a particular inventor to do so---and certainly not at such
    a high price.

    @heading Could Patents Ever Be Beneficial?

    Although software patents are in general are harmful to society as a
    whole, we do not claim that every single software patent is necessarily
    harmful.  It is possible, though not certain, that careful study would
    show that under certain specific and narrow conditions (necessarily
    excluding the vast majority of cases) it would be beneficial to grant
    software patents.

    Nonetheless, the right thing to do now is to eliminate all software
    patents as soon as possible---before more damage is done.  The careful
    study can come afterward.

    This may not be the ideal solution, but it is close, and is a great
    improvement.  Its very simplicity helps avoid a long delay while people
    argue about details.

    Clearly software patents are not urgently needed by anyone except
    patent lawyers.  The pre-patent software industry had no problem that
    patents solved; there was no shortage of invention, and no shortage of
    investment.

    If it is ever shown that software patents are beneficial in certain
    exceptional cases, the law can be changed again at that time---if it is
    important enough.  There is no reason to continue the present
    catastrophic situation until that day.

    @heading Inventions Are Not the Important Thing

    Many observers of US and Japanese industry have noted that one of the
    reasons Japanese are better at producing quality products is that they
    assign greater importance to incremental improvements, convenient
    features and quality rather than to noteworthy inventions.

    It is especially true in software that success depends primarily on
    getting the details right.  And that is most of the work in developing
    any useful software system.  Inventions are a comparatively small part
    of the process.

    The idea of software patents is thus an example of the mistaken American
    preoccupation with the big invention rather than the desirable product.
    Patents will reinforce this misdirection of American attention.
    Meanwhile, by presenting obstacles to competition in the important part
    of software development, they will interfere with development of quality
    software.

    @heading Software Patents Are Legally Questionable

    It may come as a surprise that the extension of patent law to software
    is still legally questionable.  It rests on an extreme interpretation of
    a particular 1981 Supreme Court decision, @cite{Diamond vs.@:
    Deihr}.@footnote{This information comes from a paper being written by
    Professor Samuelson of the Emory School of Law.}

    Traditionally, the only kinds of processes that could be patented were
    those for transforming matter (such as, for transforming iron into
    steel).  Many other activities which we would consider processes were
    entirely excluded from patents, including business methods, data
    analysis, and ``mental steps''.  This was called the ``subject
    matter'' doctrine.

    @cite{Diamond vs.@: Deihr} has been interpreted by the Patent Office as
    a reversal of this doctrine, but the court did not explicitly reject it.
    The case concerned a process for curing rubber---a transformation of
    matter.  The issue at hand was whether the use of a computer program in
    the process was enough to render it unpatentable, and the court ruled
    that it did not.  The Patent Office took this narrow decision as a green
    light for unlimited patenting of software techniques, and even for the
    use of software to perform specific well-known and customary activities.

    Most patent lawyers have embraced the change, saying that the new
    boundaries of what can be patented should be defined over decades by a
    series of expensive court cases.  Such a course of action will certainly
    be good for the patent lawyers, but it is unlikely to be good for
    software developers and users.

    @heading One Way to Eliminate Software Patents

    We recommend that Congress pass a law that excludes software from the
    domain of patents.  That is to say that, no matter what might be
    patented, the patent would not cover implementations in software; only
    implementations in the form of hard-to-design hardware would be covered.
    An advantage of this method is that it would not be necessary to
    classify patent applications into hardware and software when judging
    them.

    People often ask how it would be possible to define software for this
    purpose---where the line would be drawn.

    For the purpose of this legislation, software should be defined by
    precisely the characteristics that make software patents harmful:

    @itemize @bullet
    @item
    Software is built from ideal mathematical components, whose inputs are
    clearly distinguished from their outputs.

    Ideal mathematical components are defined by abstract rules, so that
    failure of a component is by definition impossible.  The behavior of any
    system built of these components is likewise defined by the consequences
    of applying the rules to its components.  

    @item
    Software can be easily and cheaply copied.
    @end itemize

    Thus, a program which computes prime numbers is a piece of software.  A
    mechanical device designed specifically to perform the same computation
    would not be software, since the mechanical device might fail if it were
    not properly oiled, and would have to be constructed out of physical
    objects.

    There are areas of design which are between hardware and software in
    some ways: for example, gate arrays and silicon compilers.  These will
    fall on one side or the other of the line that is drawn.  If the line is
    drawn as proposed here, based on the needs of the field, there is reason
    to hope that these will fall on the side that is best.  However, these
    in-between areas are comparatively small, and what really matters is to
    solve the problem for the larger area of ordinary software as surely and
    expeditiously as possible.

    @heading What You Can Do

    One way to help oppose software patents is to join the League for
    Programming Freedom.  The League is a grass-roots organization of
    programmers and users dedicated to preserving the freedom to develop
    software that does what users want.  The League opposes software patents
    and user interface copyrights, and advocates a return to the legal
    system for software that existed a decade ago.

    Annual dues for individual members are $42 for employed professionals,
    $10.50 for students, and $21 for others.  We appreciate activists, but
    members who have no free time to contribute are also welcome.

    You can phone the League at (617) 243-4091, send electronic mail to
    @code{league@@prep.ai.mit.edu}, or write to:

    @display
    League for Programming Freedom
    1 Kendall Square #143
    PO Box 9171
    Cambridge, MA 02139
    @end display

    In the United States, another way to help is to write to Congress.  You
    can write to your own representatives, but it may be even more effective
    to write to the subcommittees that consider such issues:

    @display
    House Subcommittee on Intellectual Property
    2137 Rayburn Bldg
    Washington, DC 20515

    Senate Subcommittee on Patents, Trademarks and Copyrights
    United States Senate
    Washington, DC 20510
    @end display

    You can write to your own representatives using the following addresses:

    @display
    Senator So and So
    United States Senate
    Washington, DC 20510

    Representative Such and Such
    House of Representatives
    Washington, DC 20515
    @end display

    You can phone senators and representatives at (202) 225-3121.

    @heading Conclusion

    Exempting software from the scope of patents will prevent the patent
    system from turning an efficient creative activity into something that
    is prohibitively expensive.  Individual practitioners will be able to
    continue work in their fields without expensive patent searches, the
    struggle to find a way clear of patents, and the unavoidable danger of
    lawsuits.

    If this change is not made, it is quite possible that the sparks of
    creativity and individualism that have driven the computer revolution
    will be snuffed out.

    @bye