Subject: RE: copyrightable APIs? (was RE: namespace protection compatiblewit
From: "Lawrence E. Rosen" <>
Date: Fri, 20 Apr 2001 20:24:27 -0700

>> I have a slightly different question about API's and copyrights.
>Suppose one
>> has an API that acts as a specification for access to a library
>and perhaps
>> a sample implementation. I dont care if someone creates another
>> implementation of the API, in fact I want to encourage other people to do
>> so. What I do not want is for someone to modify the API and therefore the
>> specification of the libraries behavior. What is the role of
>copyrights in
>> achieving this.
>I think that's another way of phrasing my original question.  =)

However you phrase the question, the answer is the same: Copyright protects
expression and not the underlying ideas.  You can prevent someone from
copying your specification, creating derivative works of it, and
distributing same.  But you cannot prevent someone from implementing
something independently (without copying!) after they read your
specification.  Nor, obviously, can you prevent someone from implementing
something *different* from that which you describe in your specification.

Even if a company were to argue successfully that its API is *both*
expressive and substantive, and thus protectible as copyrightable subject
matter, I would argue that access to the API for the purpose of preparing
independent (compatible or incompatible) software, even including making
copies, is still allowed under the fair use provisions of the copyright act.
As the court held in Sega v. Accolade, 977 F.2d 1510, 1521-1524 (9th Cir.
1992), in analyzing the four factors justifying a fair use defense:

(1) Copying is permitted "in order to discover the functional requirements
for compatibility" for a "legitimate, essentially non-exploitative purpose,"
especially where there is a "public benefit" (in that case, "an increase in
the number of independently designed ... programs"); [this is the "purpose
or character of use" factor]

(2) "To the extent that a work is functional or factual," or where copying
of "expressive elements of the work ... 'must necessarily be used as
incident to' expression of the underlying ideas, functional concepts, or
facts," copying is permitted;  [this is the "nature of the copyrighted work"

(3) "Where the ultimate (as opposed to direct) use" of the copied material
"is limited," even the copying of the entire copyrighted work is permitted;
[this is the amount and substantiality of the use" factor]

(4) even where the copying is for the purpose of competing with the original
copyright holder, "an attempt to monopolize the market by making it
impossible for others to compete runs counter to the statutory purpose [of
the copyright act] of promoting creative expression and cannot constitute a
strong equitable basis" to disallow the fair use defense.  [this is the
"effect of the use upon the potential market" factor]

I fully understand the desire of some companies to prevent forking of their
APIs, and thus to prevent the creation of incompatible versions of programs
that purport to implement those APIs.  However, the copyright law is not
designed to protect against such competition.  Indeed, one can argue,
consistent with the fundamental principles of *both* the copyright act and
the open source definition, the public benefit is only served if such
creative forking is allowed.

I also appreciate that non-lawyers are eager to hear clear black-letter
answers to questions such as the one raised originally by Bruce Behlendorf
and rephrased above by Fred Patrick.  I, for one, am interested in possibly
seeking a black-letter decision by a judge if that will prevent companies
from locking up technology through the use of the copyright law.

Finally, one CAN use trademark law -- with all its strengths and
weaknesses -- to prevent third parties from applying your trademark to their
goods, or to prevent third parties from applying your certification mark to
their incompatible goods.  For example, legitimate trademarks or
certification marks for "Java" or "Windows," (if they exist; I haven't
searched!) could be used to prevent people from forking Java and Windows
APIs and still calling those imprecise implementations "Java" or "Windows."

I hope that other attorneys on this discussion list will help me evaluate
whether a court challenge to the use of the copyright law to protect APIs is
likely to succeed, and I hope that non-attorneys on this discussion list
will help me evaluate whether obtaining that "black-letter" decision will
benefit the open source movement.

/Larry Rosen