4 Va. J.L. & Tech. 6 (Fall 1999) <http://vjolt.student.virginia.edu>
1522-1687 / © 1999 Virginia Journal of Law and Technology Association
VIRGINIA JOURNAL of
LAW and TECHNOLOGY
|
UNIVERSITY OF VIRGINIA
|
FALL 1999
|
4 VA. J.L. & TECH. 6
|
The Protection of the Unpublished Application Protocol Interface Under Copyright
Law
by John Harllee
I. Introduction
- As the software industry begins to move towards a more commoditized economic model, certain aspects of software
development and marketing will become significantly more important in driving the manner in which software companies
are able to compete with one another, particularly in the corporate marketplace. As copyright law struggles to
apply itself to the software industry in a manner that is beneficial to the general community both morally and
economically, specific aspects of inter-software interaction will come to the fore in the application of copyright
law to software code.
- This discussion will focus on the difficulties associated with unpublished application protocol interfaces
("APIs") in light of the copyright laws. Specifically, the inquiry will examine the ability of a copyright
holder to protect and/or prohibit third party or end-user use of unpublished APIs embedded in such copyright holder’s
code. This discussion will pay particular attention to issues revolving around derivative works and the "fair
use" doctrine within the context of copyright infringement, although this discourse will not extend to the
flavor of infringement (i.e., contributory, direct, et al). In addition, this article will present a significant
amount of background material on APIs and copyright infringement to provide a context for analysis. The analysis
will focus on determining, from the potential defendant infringer’s perspective, the risks associated with using
a software copyright holder’s unpublished API, since this lies at the heart of how this matter will arise in the
court system, and any corporate software developer should understand the relative risks in proceeding with his
development using an unpublished API. Finally, following the more technical analysis, this article will discuss
certain broader policy issues from a law and economics perspective, since as the law continues to be formulated
in this area, the court system will weigh heavily economic and other impacts associated with establishing legal
doctrine in the copyright arena.[1]
II. The API
- This analysis requires detailed discussion on the technological aspects of the API. "The API is the interface
available to a programmer. The availability of an API depends on both the operating system being used and the programming
language."[2] An API provides a standard by which programs (or
portions thereof) can interact with one another.[3] "An API is
a set of rules to access some set of services. The rules [may] include function calls, data types, and any special
concerns in getting at the services. Put together, these rules make up a contract between the applications which
use a service and a service provider."[4]
- At a more abstract level, an API is like an electrical socket that enters a wall; the API is the socket and
the wall (and what is behind it) is the program. To use the socket, a programmer must know the shape and depth
of the socket so that a compatible plug can be made.[5] Thus, APIs,
as sockets, create an infrastructure amongst different programs.[6]
- Every program has its own internal set of functionalities resulting in processing outputs. These outputs are
only useful if they can be used among various programs (for instance, the output of these processes must in some
way be made available to your monitor, and thereby to your eye, another interface). An API provides standards to
which programmers can aim their development, in the knowledge that other developers are doing the same. Software
that is compatible with other software will result. While perhaps an overstatement, one might say that an end user
buys "an operating system because it supports an API needed to run some set of application programs."[7] The services discussed in the preceding sentences are queried and used
by other programs via an API. Therefore, if an API does not exist or is not published, the set of services in one
program will not be available to another program.
- With respect to availability, there are two varieties of APIs: published and unpublished. Generally software
developers make available their published APIs through documentation that accompanies their software and through
lists put up on websites.[8] However, there is little question in the
industry that many companies keep a certain portion of their APIs unpublished, presumably for competitive advantage.[9] Indeed, the fact that certain companies use unpublished API’s to their
competitive advantage has even become a concern of the Justice Department, and forcing companies to reveal their
unpublished APIs has been brought up as one way in which to level what has become an uneven development playing
field in the marketplace.[10] The next segment of this discussion
examines why and how the use of unpublished APIs can benefit the manipulating party.
A. Industry Background and Economic and Technological
Reasons to Use the Unpublished API
- As the software industry begins to mature as an economic force in the United States, the costs to end users
have become significant, and there have been rumblings, particularly in the end user corporate community, regarding
ways to control these costs. Many of the actual software costs are maintenance costs rather than the initial licensing
costs. Some of these costs are fixed, but many others arise as a consequence of being unable to easily manage a
large network of heterogeneous software and hardware. This heterogeneity also impact developers in different, but
equally problematic, ways.
- A brief discussion of the Java language illustrates these difficulties. The Java software language, developed,
licensed, and copyrighted by Sun Microsystems, Inc.,[11] has quickly
become one of the most popular development languages in the industry. This is partly because Java is very well
suited to the type of software requirements demanded by the growing World Wide Web. Additionally, Java’s "write
once, run anywhere"[12] theme is compelling to software developers.
Ostensibly this allows a single application written in Java to run across a variety of platforms. This eliminates
the need to write different versions of the same software to run on different platforms, avoiding the balkanization
that has impacted UNIX operating system software so significantly.[13]
In addition, it allows Java developers to reach significant economies of scale, since the end user marketplace
can generally run any Java application regardless of platform.[14]
Unfortunately, there still remain significant technological issues with Java[15],
and until these are resolved, proprietary software, in this author’s opinion, will remain dominant in the marketplace.
However, in a truly open environment (e.g., Java used in the manner in which it has been advertised) the copyright
issues associated with the use of unpublished APIs are probably irrelevant because software developers would have
greater difficulty leveraging their knowledge of unpublished API’s for competitive advantage. In such a truly open,
non-proprietary software environment there should be no unpublished APIs. Many in the industry would like to see
this software regime occur because of the difficulties associated with proprietary software technologies (including
unpublished APIs).
- Nevertheless, the computer industry is currently dominated by proprietary technology. The largest pure software
vendor of this proprietary technology (and favorite media and Department of Justice whipping boy) is the Microsoft
Corporation. Rather than shying away from the proprietary nature of its software, Microsoft touts the benefits
associated with the proprietary nature of its software in some very compelling ways, particularly in terms of expense.
Because Microsoft is able to provide a full suite of cradle to grave software it can offer a software solution
that eliminates the vast majority of the software heterogeneity that makes maintaining large corporate networks
so cost prohibitive. Unique in the marketplace, Microsoft is able to offer both PC and network operating systems,[16] applications,[17] Web
software,[18] and database software,[19] which, though proprietary, are built to interact with one another and are consequentially usually
relatively inexpensive to maintain. One need not be a software guru to understand why it is easier to maintain
the technologies from one vendor[20] than a heterogeneous system that
consists of Apple operating systems, Corel applications, Netscape Web software, and Oracle database products. However,
Microsoft might in many ways make the efficiencies native to its suite of software self- fulfilling. One way in
which Microsoft may accomplish this is through judicious publication of the APIs in its software.[21]
- When a single vendor controls the vast majority of the market for a particular software niche, the power to
leverage this position to enter or take control of another software niche exists. The two most obvious parties
with dominant positions in particular niches are Microsoft in PC operating system software and the Oracle Corporation
in database software.[22] In these cases, one party controls the foundation
upon which other software runs (or accesses, at a crucial level, in the case of the database). Applications run
on "top" of both operating systems and databases. Furthermore both Oracle and Microsoft make applications
that run on their respective software and compete with third party vendors who develop and sell applications with
substantially the same functions as the Oracle and Microsoft applications.[23]
In both cases, Oracle and Microsoft can establish significant technological, economic, and efficiency advantages
by keeping certain APIs embedded in their respective underlying software both proprietary and unpublished .
- An API allows one program to access the functionality and services of another program. For instance, a certain
API might allow access to native search abilities in an Oracle database. If that API is unpublished then only Oracle
developers could access the Oracle database's search ability, since such developers have ‘inside information’ unavailable
to the general developer public . An Oracle manufacturing application could thus use more of the functionality
of the underlying database than the competing SAP manufacturing application. As a consequence the SAP manufacturing
application would need that search functionality (presuming it was integral to the general function of the manufacturing
application) built into the SAP software’s native functionality. In that scenario, a server running the database
and the application would have redundant code installed, since the search functionality would exist in both the
SAP program and the Oracle database. However if the system ran an Oracle database with the Oracle application there
would not be any redundant code. Therefore the SAP application would need to be larger and consequentially have
a bigger "footprint."[24] The SAP system would also take
longer to run its queries and thus be slower in processing. This advantage for Oracle might well be compelling
to corporate IT purchasers, where larger memory requirements in a large system translate into higher costs, and
where speed of software operation is an important criteria in selecting software. A similar hypothetical could
be made in comparing Microsoft’s Internet Explorer to Netscape’s Communicator, both of which often run on Microsoft’s
Windows operating system. In addition,where one unpublished API is being leveraged, others likely are too.
B. The Hypothetical
- Imagine a software developer who has come across an unpublished API (in a legitimate but unauthorized way)
and wishes to use it to access services in a program in which the API resides. This developer wishes to know the
potential outcome if the copyright holder of the computer program where unpublished API resides takes him to court
on the grounds that use of the unpublished API infringes on his copyright in the computer program. Thus, our hypothetical
defendant needs to know whether he can or should proceed with a development path that uses one or more unpublished
APIs. The competitive disadvantage in not doing so could be significant to the developer, but the costs associated
with an infringement injunction as a consequence of the unauthorized use of an unpublished API are likely catastrophic.[25]
C. The Grant of License and the Unpublished API
- Software is almost universally licensed to end users by some type of end user agreement, in some type of contractual
form such as a shrink-wrap agreement or an agreement that both parties execute. The license agreement sets forth
the permitted contractual scope of use. Together with the scope of use granted under copyright, it defines how
the end user may use the software for which he or she has taken license. Legal precedent leaves unclear whether
a copyright holder can license his software under contractual terms more restrictive than the protective provisions
of the Copyright Act of 1976.[26] However, one can assume that the
license grant acts as the copyright holder’s authorization to the end user to use the software to the extent set
forth in the license agreement.
- The grant of license clauses in two major software companies' standard agreements make clear that general use
rights in the software and documentation are granted in the respective grant of license clauses, and that certain
uses within that context are specifically excluded (e.g., use of source code).[27]
Note that use rights in the official documentation are specifically granted. This documentation, along with updated
listings on company web pages, contains the published API’s.[28] Thus
one can reasonably infer that use rights in the published APIs have been granted in that those APIs are set forth
in the documentation and software and are specifically identified for use. This is not the case with the unpublished
APIs, which are by definition generally only available to the author. Because of this distinction between APIs,
and because there are specific use rights granted in the published APIs via use rights in the documentation, the
copyright holder is not authorizing the use of the unpublished API’s. Furthermore, the alternative manner for discovering
unpublished APIs is through some form of reverse engineering, which is specifically prohibited contractually.[29] Thus, the copyright holder in the unpublished API has not granted
the end user contractual authorization to use the unpublished API (to the extent that the enumerated agreements
are typical), and the hypothetical defendant is unlikely to successfully defend him or herself on contractual grounds
in the event that litigation arises revolving around use of the unpublished API. As a general matter, a party who
makes unauthorized use of copyright material is infringing on the copyrighted material;[30] however, as shall be seen, the Copyright Act of 1976 grants the copyright holder only limited
exclusive rights in the copyrighted work.[31]
III. The Copyright Act of 1976
- The "Copyright Act grants the copyright holder the ‘exclusive’ right to use and authorize use of his work
in five qualified ways [and] anyone who violates any of the exclusive rights of the copyright holder, that is,
anyone who trespasses the exclusive domain by using or authorizing the use of the copyrighted work in one of the
five ways set forth in the Acts is an infringer of the copyright."[32]
The defendant’s use of the copyrighted software outside of the context of these five exclusive rights will not
run afoul of the Copyright Act. Furthermore, there are limited doctrines that permit unauthorized use within the
context of these five exclusive rights provided certain conditions are met.[33]
- The five exclusive rights of the copyright holder are set forth in 17 U.S.C. 106.[34] There is strong legal precedent upholding the fact that these rights are exclusive in nature.[35] That is, the copyright holder is the only party who has the right
to authorize use of the copyrighted material in the five enumerated ways. Conversely, the copyright holder generally
has little or no authority under copyright doctrine to prevent the use of the copyrightable materials in ways outside
of these five exclusive rights.[36] The inclusion of use of the unpublished
API falls in one of the five enumerated exclusive uses that may only be authorized by the copyright holder is especially
important since the copyright holder is unlikely to contractually authorize the use of the unpublished API.[37]
- A copyright holder must establish ownership of the copyright as a precursor to enforcing rights under the Copyright
Act.[38] Clear precedent establishes computer software as copyrightable
material, and, as such, protectable under 17 U.S.C. 106. "(T)he copyrightablity of computer programs is firmly
established after the 1980 amendment to the Copyright Act."[39]
A "computer program, whether in object code or source code, is a 'literary work' and is protected from unauthorized
copying [and other infringements of the copyright holder’s exclusive rights], whether from its object or source
code version."[40] Since computer programs
are protectable under the Act the owner of the copyright in the software can seek to enforce his or her exclusive
rights under the Copyright Act, provided that ownership of the copyright has been established.
- Examining the copyright holder’s five exclusive rights under the Copyright Act in the context of the unauthorized
use of an unpublished API reveals that two of the exclusive rights clearly do not apply. Specifically, though the
Copyright Act likely deems the computer programs a literary work, the hypothetical defendant in this circumstance
is not using the unpublished API "to perform the copyrighted work publicly"[41] and is not "including the individual images of a motion picture or other audiovisual work,
to display the copyrighted work publicly."[42]
Furthermore, in this hypothetical, for the defendant to be distributing the copyrighted work "to the
public by sale or other transfer" under 17 U.S.C. 196(3), the defendant would first have to be violating the
exclusive rights set forth in 17 U.S.C. 106(1), since to distribute the copyrighted work, the defendant would have
to "reproduce the copyrighted work in copies."[43]
- Little legal discussion on the meaning of reproduction under the Copyright Act that is relevant to the copying
of a software program. However, revisiting the more technical aspect of the APIs clarifies that the copyright holder
in an unpublished API will be hard pressed to prove that copying is occurring in a party’s unauthorized use of
an unpublished API, particularly in light of the Act’s definition of a copy.[44] As discussed earlier, an API acts as an interface between programs, allowing the programs
to interact with one another and to leverage off one another’s functionality. The API sits in the copyright holder’s
program. The code and subroutines that allow another program to access the copyright holder’s program through the
instant API are not the same thing as the API, any more that a lamp plug is the same as the socket into which it
fits. Having knowledge as to the specifications of an unpublished (or published, for that matter) API allows a
developer to design the hooks necessary to access the program in which the API sits. In developing such hooks,
the developer is not re-creating the API but is instead developing code complementary to the API. Under the definition
of "Copy," there is no reproduction outside of the context of what occurs in the copyright holder’s program
as it runs and as it ran initially. Any use of the copyright holder’s program does not entail the creation of additional
identical code; using the unpublished API merely allows access to code already in the program. It is hard for the
author to imagine a legal rationale that would adequately establish that API access of the type envisioned constitutes
unlawful copying under the Copyright Act. If no copying occurs, unlawful distribution under the Copyright Act unlikely
occurs in the hypothetical discussed.
- One of the five exclusive rights remains: the right "to prepare derivative works based upon the copyrighted
work."[45] Standing case law relevant to derivative works reveals
considerable deltas in the manner of interpretation of the Copyright Act by the various lower courts. That being
the case, this author will proceed in this portion of the discussion with an eye towards the courts’ methods of
analysis of the relevant portions of the Copyright Act. This methodology seems all the more appropriate since the
available case fact patterns do not fit neatly into the fact pattern in the hypothetical API scenario under analysis.
- The Copyright Act defines a derivative work as follows:
A "derivative work" is a work based upon one or more preexisting works, such as a translation,
musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction,
abridgment, condensation or any other form in which a work may be recast, transformed, or adapted. A work consisting
of editorial revisions, annotations, elaborations, or other modifications which, as a whole, represent an original
work of authorship, is a "derivative work."[46]
- To properly understand the terminology used in this definition, one must also examine the definition of "created"
in the Copyright Act.[47]
- Creating a derivative work or using one without authorization constitutes an infringement of the underlying
copyrighted material.[48] Further, a "work will be considered
a derivative work only if it would be considered an infringing work if the material which it has derived from a
preexisting work had been taken without the consent of a copyright proprietor of such preexisting work."[49] Only one of the software license grants above specifically prohibits
the creation of derivative works.
- Since the use of the unpublished API allows the defendant’s software program to access functionality in the
plaintiff’s software program, the query becomes: Does use of the plaintiff program’s functionality, along with
the defendant program’s functionality, create a work that is separate from the underlying two works during the
time in which the plaintiff program’s functionality is being used by the defendant program, via access through
the unpublished API? If the defendant program needs to access the plaintiff program to use some portion of the
plaintiff program’s functionality, the defendant program does not have that functionality. Accessing a program
via the API thus creates a program with more functionality than the base defendant programs that is therefore a
different program (hereinafter "combined program"), and, potentially, a new work. To be infringing, the
infringing work "must incorporate a portion of the copyrighted work in some form."[50] By API access, in this situation, the defendant has incorporated a portion of the copyrighted
work in some form.
- Under the above analysis, the combined program created by the API access likely fits the ‘fixed’ criteria under
the definition of ‘Created’ under the Copyright Act, since the use of the plaintiff program's functionality is
in fact fixed, within the timeframe during which the combined program exists. However, the "definition
of ‘derivative work’ does not require fixation,"[51] so inquiry
about fixation as a possible loophole to avoid categorization of the combined program as a derivative work is not
fruitful.
- The definition of "Derivative Work" in the Copyright Act specifies that, among other things, the
derivative work must recast, transform, or adapt the underlying copyright work within itself. The court in Lee
v. A.R.T. Co., 125 F.3d 580 (7th Cir. 1997) states that the "legislative history of the Copyright Act
of 1976 indicates that Congress intended that for a violation of the right to prepare derivative works to occur
‘the infringing work must incorporate a portion of the copyright work in some form [(as we have previously
stated)].' The language ‘recast, transformed, or adapted’ seems to encompass other alternatives besides simple
art reproduction."[52] (emphasis added). The court appears to
mean that this language was drafted intentionally so that it can be flexibly interpreted, since the drafters could
not possibly foresee all of the potential issues that might become germane to the language. The Legislative History's
specification that incorporation must be "in some form" bolsters this interpretation; few expressions
leave more latitude for incorporation than the phrase "in some form." Since there is no authorization
for the use of the plaintiff’s program in the manner in which it is used via unpublished API access, based on the
meanings of the words ‘recast’ and/or ‘adapted,’ incorporation of the underlying work in the plaintiff work has
occurred. As a consequence, the combined program likely constitutes a derivative work and preliminarily violates
the copyright of the underlying work under the Copyright Act. However, as indicated earlier, there are several
circumstances under which the copyright holder’s exclusive rights can be nullified.
IV. Adaptation and Fair Use
- The doctrines of adaptation and fair use provide the primary defenses in a situation where infringement has
otherwise been established. Fair use is a general defense; adaptation, which this analysis examines first, specifically
applies to computer programs under the Copyright Act.
- Based on the definition of adaptation in the Copyright Act and the related case law, a defense based on adaptation
under the Copyright Act[53] unlikely will serve to protect the defendant’s
use of the unpublished API. 17 U.S.C. 117 permits limited additional use of a computer program, irrespective of
license grant, in two circumstances. First of all a party may make copies or adaptations of the copyrighted computer
program in the event that that copy or adaptation is used for archival purposes only. That is patently not the
case when one uses an unpublished API to access an underlying copyrighted computer program, so one cannot make
a defense under that theory.
- The second adaptation circumstance allowing use under the bifurcated provisions of 17 U.S.C. 117 at first glance
provides more encouragement for the defendant. It specifies that use of the copyrighted program can be made if
such use is "an essential step in the utilization of the computer program in conjunction with a machine."[54] However, one does not use a machine to gain access via an unpublished
API, and the essential use involved is tied to the defendant’s program in order to make the combined program rather
than being essential for the licensee to use the functionality of the plaintiff’s program. For the exception to
apply, the essential use must be tied to the use and functionality of the plaintiff’s program, which is not true
in this hypothetical. "Congress recognized that a computer program cannot be used unless it is first copied
into a computer’s memory, and thus provided the [section] 117(1) exception to permit copying for this essential
purpose,"[55] which bolsters this analysis. Congress’ intent
in carving out this exception in the Copyright Act was thus very narrow, so construing the Act broadly would be
inappropriate.
- A different court suggests that the adaptation exception be included on the basis that "allowing sophisticated
software users to enhance copies of copyrighted programs they have purchased eliminates the need to choose between
either buying the latest version of the program or possibly infringing the owner’s copyright. At the same time
allowing such enhancement [(which this author takes to mean the adaptations)] to be used only in-house preserves
the market for improvements made by the copyright holder."[56]
While this line of reasoning takes a broader view of the meaning of the clause, which the author finds puzzling
given the specificity of 17 U.S.C. 117’s language, it cannot overcome the lack of a machine in the hypothetical
under discussion. Thus, adaptation provides no defense for the use of unpublished APIs.[57]
- The fair use defense is significantly more complex than the adaptation defense, though it appears that it too
was created primarily as a reaction to the realities of the marketplace. The statutory basis for the fair use defense
is 17 U.S.C. 107.[58] It enumerates
four factors to consider in determining whether what would otherwise be an act of infringement is not an
infringement due to surrounding factors. The aim of the statute is to reach a conclusion that is best for public
policy. The courts have generally taken an empirical approach to determining whether fair use provides a defense
against infringement, examining the fact situation in light of the four enumerated factors.[59]
- "The doctrine of fair use allows a holder the privilege to use copyrighted material in a reasonable manner
without the consent of the copyright owner."[60] In this discussion’s
API hypothetical, this statement appears to create a potential defense to what would otherwise likely be deemed
to be an infringing action. In light of the case law precedent, the best manner of proceeding in a fair use analysis
is to examine the fact pattern against each of the four fair use factors.
- The first enumerated factor speaks to the character of the use, and whether or not such use is commercial or
non-commercial in nature. "[E]very [unauthorized] commercial use of copyrighted material is presumptively
unfair exploitation of the monopoly privilege that belongs to the owner of the copyright."[61] If one infringes a copyright holder’s exclusive right(s) for commercial purposes, then, it is
an unfair use, and this factor weighs against the defendant party in the fair use analysis. In using the unpublished
API to enhance the functionality of the defendant’s program the defendant uses a portion of the underlying copyrighted
material to further his commercial goals, since his program will be more viable in the commercial marketplace as
its functionality is enhanced. At a base level, there is a general correspondence between price and functionality:
if access via the API of the underlying copyrighted material allows greater functionality, the defendant presumably
can increase the cost of his product while maintaining the same sales volume. Thus, such use is commercial in nature,
and the first factor weighs against the defendant.
- The second factor encourages an analysis of the nature of the copyrighted material. Although the meaning of
"nature" is statutorily quite ambiguous, case law provides at least two interpretations. The first aspect
of the nature of a work is whether the copyrighted work is published or unpublished.[62] In the event that it is unpublished, the courts have stated that the defendant has a higher
burden to overcome in justifying what would otherwise be infringing use.[63]
Interestingly, this language seems to be very much on point for the purposes of this paper’s analysis, in that
the discussion centers around the use of an unpublished API. However, in the cited case, the concern centered around
the right and timeframe of publication; the "scope of fair use is narrower with respect to unpublished works
because the author’s right to control the first public appearance of his expression weighs against such use of
the work before its release."[64] In this article's hypothetical,
the right of publishing the API is not at issue; the issue is the right to use the API. Thus the defendant’s use
of the API is not particularly germane to any damage done to the plaintiff on the basis of the benefit the plaintiff
will receive in the event that the plaintiff chooses to publish the API.
- The other manner in which the courts have analyzed the nature of the copyrighted material being infringed centers
on whether the copyrighted material is fact or fiction. "In general, fair use is more likely to be found in
factual works than in fictional works."[65] This is because there
is a greater need to disseminate works of fact than works of fiction. This statement at face value seems to imply
that the nature of the copyrighted work, under this analysis, would favor a valid fair use defense for the defendant,
as a computer program is not a work of fiction, per se. However, the Act’s intent is to provide greater
protection to the creative works of a given party; a work of computer software, while not a work of fiction, certainly
could be characterized as a work of creativity.
- Thus, the analysis of the second factor is muddled, partly due to the fact that the statutory language is ambiguous,[66] and partly due to the fact that the nature of computer software
does not neatly fit into categories of works that have been analyzed by the courts in the past. The likely conclusion,
then, is that the second factor does not come out strongly in favor or against the of fair use defense.
- The third factor concerns how much of the copyrighted work is being used and infringed upon. This inquiry goes
to the portion of the copyrighted work being used and to how much of the derivative work is made up of the copyrighted
work; it is both a qualitative and quantitative analysis.[67] Since
this factor is by far the most empirical factor of the four (and the most straightforward), it is difficult in
a very general hypothetical to reach a nonarbitrary conclusion with respect to this factor. That being said, in
almost all circumstances where an unpublished API might be used to increase the functionality of a computer program,
the additional/borrowed functionality generally makes up a relatively small percentage of both the plaintiff’s
and the defendant’s programs.[68] Thus,
the third factor seems to favor the defendant’s fair use defense, although the weighting is not compelling.
- The fourth factor is "the effect of the use upon the potential market for or value of the copyrighted
work. The fact that a work is unpublished shall not itself bar a finding of fair use if such finding is made upon
consideration of all the above factors."[69] This factor, essentially,
is a determination as to the effect of the infringing use on the copyright holder’s ability to profit from the
use of his copyrighted material in the marketplace. Once again, the term ‘unpublished’ comes into play; here, however,
there is a specific statutory reference to the term, which means that it must be more carefully looked at in context.
The term ‘unpublished,’ as used in this context, seems to have a meaning not particularly applicable to the meaning
of the term ‘unpublished’ in the context of ‘unpublished’ APIs. This is because the copyright holder in the unpublished
API is not seeking to gain profit per se from the unpublished API as it applies to the copyrighted material in
which the API resides. Instead, the primary advantage in having exclusive access to the parameters of this API
is the advantage gained by other copyrighted material owned by the same entity. Most often the copyright owner
will use its access to the unpublished API to gain an advantage when in competition with another party in licensing
another computer program. The party with the knowledge of the unpublished API is able to utilize functionality
residing in the underlying program to provide functionality that must be native to the competing party’s computer
program. This seems altogether different than the analysis in, e.g., Narell v. Freeman, 872 F.2d
907 (9th Cir. 1989), which placed emphasis on "whether [the defendant’s] use of [the plaintiff’s] book has
any effect on [that book’s] value or marketability."[70] Thus,
although the term "unpublished" raises issues in this discussion, under this analysis it is not especially
relevant.[71]
- The case law relevant to this fourth ‘market factor’ effect under the ‘fair use’ doctrine makes it clear that
the market impact of the infringing action is by far the most important of the four elements of 17 U.S.C. 117 in
determining whether fair use excuses what would otherwise be an infringing action.[72] This market effect factor "focuses on the effect of the use upon the potential market for
or value of the copyrighted work . . . [and] . . .is undoubtedly the single most important element of fair use."[73] The Supreme Court in Sony v. Universal Studios, 464 U.S.
417 (1984), states that the plaintiff need not show actual harm, but merely the potential of future harm, to nullify
a fair use defense; the Supreme Court also points out that commercial use in an infringement situation is presumptively
unfair.[74] Note that the Court indicates that it is the copyright
holder who bears the burden of proof to establish, by a preponderance of the evidence, that there will be future
harm. However, this burden of proof switches if the infringement is for commercial benefit. While the defendant
in the instant hypothetical may not be using the unpublished API to the direct detriment of the copyright holder’s
copyright in the program containing the API, the defendant would be hard pressed to establish that use of the unpublished
API in the manner described does not constitute a commercial use. Consequently, in seeking resolution on this fourth
factor, the analysis must move forward on the assumption that the defendant bears the burden of showing that commercial
damage done to the plaintiff is non-existent or immaterial.
- The commercial damage analysis must, as stated earlier, focus on the damage done to the infringed work. To
proceed otherwise simply opens up too many possibilities; only a plaintiff with incompetent representation could
fail to show that there is something that the plaintiff might create in the future that would be harmed by this
infringement.[75] In light of this, and given our hypothetical, is
market damage being done to the underlying program containing the API? Once again, this is a very fact specific
inquiry for which unequivocal answer based on a general hypothetical is not feasible. However, the general answer
to this question would be no. This conclusion is based on the fact that there is no damage done, and that whatever
damage is done may be counteracted by the benefits that accrue to the infringed upon copyright holder. Indeed,
there is no obvious market impact as a consequence of the unauthorized use of the unpublished API that impacts
the copyrighted material containing the API, but there is at least one very substantial advantage to the copyrighted
material and the demand for it as a consequence of such unauthorized use. In the event that the defendant markets
his program on the basis that it has a certain suite of functionality, and that suite of functionality either contains
or is dependent upon some functionality that must be accessed via the unpublished API, then the defendant’s program
is dependent upon the customer having license to the plaintiff’s program as well. While in most circumstances this
is unlikely to drive the acquisition of the plaintiff’s program by entities wishing to license the defendant’s
program, it is not hard to imagine a scenario wherein the defendant has created a "killer app" that is
so compelling to users that they are driven to acquire the plaintiff’s program as well. The benefits to the plaintiff
in this circumstance are greater market penetration and visibility and, of course, increased license revenues.
- Thus, this fourth factor in the fair use analysis seems to weigh heavily in favor of the defendant. As the
fourth factor has been established as the most important of the four fair use factors, it is very likely that a
court would determine that should an infringement exist as a consequence of using an unpublished API, it is nonetheless
permissible under the fair use doctrine.
V. Conclusion
- It is one thing to conclude that, though an infringement likely exists under 17 U.S.C. 106 in the unauthorized
use of an unpublished API, such infringement would probably be permitted under the fair use doctrine of 17 U.S.C.
117; it is wholly another to base one’s corporate software development plans around such conclusion in the face
of potentially disastrous injunctive relief (as well as monetary relief) in the event that such conclusion is incorrect
in the eyes of the court of competent jurisdiction.
- A fundamental difficulty in interpretation lies at the heart of this discussion; to wit:
The current rage for video games was not anticipated in 1976, and like any new technology the video game
does not fit with complete ease the definition of derivative work in Section 101 of the 1976 Act. But the amount
by which the language of Section 101 must be stretched to accommodate speeded-up video games is, [the court believes],
within the limits within which Congress wanted the [Copyright Act] to operate.[76]
- One can easily substitute ‘video games’ for any other new technology in the computer industry, and substitute
other aspects of the Copyright Act for ‘derivative works,’ and the above statement is no less true. Until the Copyright
Act is updated (rather extensively, one supposes) to reflect the realities of the software industry, students and
scholars of intellectual property law as it applies to the software industry will have to muddle through the meanings
and intentions behind the Act to come to conclusions that are more than guesses but far less than definitive answers.
- The "Act creates a balance between the artist’s right to control the work during the term of the copyright
protection and the public’s need for access to creative works [and other copyrighted material] . . . The limited
monopoly granted to the artist is intended to provide the necessary bargaining capital to garner a fair price for
the value of the works passing into public use."[77] Indeed,
the "sole interest of the United States and the primary object in conferring the monopoly. . . lie in the
general benefits derived by the public from the labors of authors."[78]
In the hypothetical throughout this discussion, there is little or no issue that the owner has received value for
the copyrighted work containing the potentially infringed upon API. Indeed, presumably, there could be no infringement
unless the end user has paid for and been licensed to use the plaintiff’s copyrighted work.
- Furthermore, the holder of an unpublished API has incentives to release the API to third party developers.
Much of what drives the acquisition of software licenses by end users (and so, by extension, drives the software
industry) is the synergy among software programs. Withholding an API discourages software developers from developing
on the withheld platform (be such platform a database, operating system, some other type of software, or even a
hardware platform); this in turn impacts the richness of the software available to run with the withholder’s software,
making that software less compelling to end users in the same sense that a network is more valuable with more persons
on it. Unfortunately, this disincentive is severely lessened or goes away altogether in circumstances where there
is no significant alternative platform on which to develop. The software industry has such a situation currently
with respect to the operating system for personal computers. This is one reason why the Justice Department and
Capitol Hill are considering forcing Microsoft to release its unpublished APIs[79];
they seek to create a circumstance whereby the improper incentives extant due to the existence of a monopoly are
eliminated, forcing Microsoft to act as it likely would were it only to have 40% of the operating system market
for personal computers.
- It would be a grave mistake for judicial interpretation to create a circumstance where the application of the
Copyright Act acts in a manner contrary to the manner in which the market would act were it left alone, where the
market’s action would not otherwise be illegal, and where the goals of the Copyright Act are consistent with the
manner in which the market would operate. Use of a legally obtained unpublished API should be permitted under the
Copyright Act.
Footnotes
[1] Sony Corp. v. Universal City Studios, Inc., 464 U.S. 417,
448-456 (1984).
[2] W. Richard Stevens, UNIX Network Programming 258 (Prentice-Hall
1990).
[3] Laura Lemay, Official Marimba Guide to Castanet 292 (Samsnet
1997).
[4] Paul Yao, Borland C++ Programming for Windows 9 (Borland Press
1994).
[5] For the purposes of this discussion, as will become clear, it
is important to note that the API and the hooks (the plug, in the above example) that a developer uses are not
identical, in the same way that the socket and the plug are not identical.
[6] Robert Orfali & Dan Harkey, Client/Server Programming with
Java and Corba 24 (1997).
[7] Yao, supra note 4.
[8] Oracle Corporation, Oracle Offers API Technology for the OLAP
Market (April 2, 1998) <http://www.oracle.com/products/oracle7/Oracle_Universal_Server/press/html/lead.html>;
Microsoft Corporation, API Flags (April 2, 1998) <http://www.micorsoft.com/msdn/sdk/inetdk/help/itt/wininet/wininet.htm>.
[9] Jesse Berst, The (Shameful) Secrets of Microsoft’s Success, Jesse
Berst’s AnchorDesk (January 29, 1998) </http://www1.zdnet.com/anchordesk/story/story_650.html.
[10] Rajiv Chandrasekaran, Justice Dept. Browsing a Range of Options
in Microsoft Case, Washington Post, April 9, 1998 at C1, C6.
[11] Sun Microsystems, Java Computing (April 2, 1997) < http://www.sun.com/java/>.
[12] Sun Microsystems, Sun Microsystems, Inc. Introduces Java Naming
and Directory Interface API (April 2, 1998) <http://www.sun.com/smi/Press/sunflash/9703/sunflash.970310.10204.html>.
[13] For example there is a different version of UNIX for DEC hardware
platforms, IBM hardware platforms, Hewlett-Packard hardware platforms, Sun hardware platforms, Silicon Graphics
hardware platforms, and others, and each version of an application that runs on the each specific version of UNIX
must be specialized for that version. There is only one type of Windows NT (not counting version releases).
[14] In many cases, end users are locked into a specific proprietary
systems that allows them to use software that is only capable of running on their system. This means that a developer
in this proprietary systems can only sell to the portion of the marketplace which uses that proprietary system
(say 10%) as opposed to the close to 100% of the end user marketplace that can use a Java application. Obviously,
the larger the marketplace, the more potential profit available to the developer.
[15] Probably the most important technological hurdle for Java
is the fact that it, by its nature, is slower than most proprietary systems; unfortunately this is a Catch 22 situation.
Java has to have the native ability to compile and decompile its code in order to translate its operations for
each proprietary system. This creates an extra step in the computing process that proprietary software, in a sense
hardwired for its specific system, does not have to perform.
[16] Microsoft Windows 3.1, 95, and 98, and Microsoft Windows NT,
respectively.
[17] Microsoft Word, Microsoft Excel, etc.
[18] Microsoft Exchange, Internet Explorer.
[19] Microsoft SQL server.
[20] Microsoft Corporation, Microsoft Product Catalog (April 2,
1997) <http://www.microsoft.com/products/>.
[21] Berst, supra note 9.
[22] Please note that the two companies specifically named are
examples; other companies in similar situations exist, but Oracle and Microsoft provide the best examples for discussion
purposes.
[23] Oracle makes financial and human resource corporate applications,
which are also made by SAP and Peoplesoft (& others) respectively; Microsoft makes, for example, a web browser
that competes with Netscape’s web browser, and Microsoft also makes a word processor that competes with Corel’s
word processor.
[24] The term ‘footprint’ is computer vernacular for the amount
of computer resources (RAM, memory, et al.) used by a given piece of software when operating.
[25] Please note that for the purposes of this discussion, it is
assumed that the unpublished API has not somehow come into the public domain (perhaps resulting in implicit use
authorization of the API) and that the defendant developer has not discovered the API through breach of his licensing
agreement or through some other unlawful means.
[26] Vault Corp v. Quaid Software Ltd., 847 F.2d 255, 269-270 (5th
Cir. 1988); Foresight Resources Corporation v. Pfortmiller, 719 F. Supp 1006, 1010 (D. Kan. 1989).
[27] Please note that due to confidentiality considerations the
author has removed the specific company names associated with these grant of license clauses.
Company A:
(a) Subject to the terms and conditions herein, Licensor hereby grants to Licensee a nonexclusive and nontransferable
license to use in the Territory the executable code version of the Product(s) set forth on Attachment A and associated
user documentation provided with such Product, as revised by Licensor from time to time ("Documentation"),
for the purpose of allowing Licensee’s on-line users to conduct electronic commerce over the internet . . . (a)
Licensee agrees: (i) not to cause or permit anyone to modify or create any derivative work of the Product (Licensee’s
code written to published application programmer interfaces for the Product shall not be deemed derivative works)
or Documentation including any translation or localization, or (except to the extent expressly permitted by applicable
law) to reverse assemble, decompile, or reverse engineer, or otherwise attempt to derive the source code for
the Product, or to otherwise take any action in derogation of Licensor’s or its suppliers’ intellectual property
rights.
Company B:
A.Company grants to Customer a nonexclusive license to use the Programs Customer obtains under this Agreement,
as follows:
i. to use the Programs solely for Customer's own internal data processing operations on the Designated System
or on a backup system if the Designated System is inoperative, consistent with applicable licensed use limitations.
Customer may not relicense the Programs or use the Programs for third-party training, commercial time-sharing,
rental or service bureau use;
ii. to use the Documentation provided with the Programs in support of Customer's authorized use of the Programs;
iii. to copy the Programs for archival or backup purposes; no other copies shall be made without Company's prior
written consent. All titles, trademarks, and copyright and restricted rights notices shall be reproduced in such
copies. All archival and backup copies of the Programs are subject to the terms of this Agreement; and
iv. to modify the Programs and combine them with other software products.
Customer shall not copy or use the Programs (including the Documentation) except as otherwise specified in this
Agreement or an Order Form. Customer shall have the right to allow Customer's third party agents ("Agents")
to use the Programs for Customer's internal use purposes so long as Customer ensures that Agents use the Programs
in accordance with the terms of this Agreement.
B. Customer agrees not to cause or permit the reverse engineering, disassembly or decompilation of the Programs.
C. Company shall retain all title, copyright and other proprietary rights in the Programs. Customer does not
acquire any rights, express or implied,in the Programs, other than those specified in this Agreement.
[28] Oracle Corporation, supra note 8; Microsoft Corporation,
API Flags, (April 2, 1998), <http://www.micorsoft.com/msdn/sdk/inetdk/help/itt/wininet/wininet.htm>.
[29] See note 30.
[30] WGN Continental Broadcasting Co. v. United Video, 693 F.2d
622, 625 (7th Cir. 1982).
[31] 17 U.S.C. § 106.
[32] Sony Corp. v. Universal City Studios, Inc., 464 U.S. 417,
432-433 (1984).
[33] For instance, the ‘fair use’ doctrine, which will be discussed
below.
[34] 17 U.S.C. § 106:
Subject to sections 107 through 120, the owner of copyright under this title has the exclusive right to do and
to authorize any of the following:
(1) to reproduce the copyright work in copies or phone records;
(2) to prepare derivative work based upon the copyright work;
(3) to distribute copies or phonorecords of the copyrights work to the public by sale or other transfer of ownership,
or by rental, lease, or lending;
(4) in the case of literary, musical, dramatic, and choreographic works, pantomines, and motion pictures and
other audiovisual works, to perform the copyrighted work publicly; and
(5) in the case of literary, musical, dramatic, and choreographic works, pantomines, and pictorial, graphic,
or sculptural works, including the individual images of a motion picture or other audiovisual work, to display
the copyrighted work publicly.
[35] Mirage Editions, Inc. v. Albuquerque A.R.T. Co., 856 F.2d
1341, 1343 (9th Cir. 1988).
[36] Sony Corp. v. Universal City Studios, Inc., 464 U.S. 417,
432-433 (1984).
[37] Please note that there are several carve outs within these
exclusive rights; these will be discussed later in the paper.
[38] Narell v. Freeman, 872 F.2d 907, 910 (9th Cir. 1989). For
the purposes of this discussion, ownership is assumed not to be an issue.
[39] Apple Computer, Inc. v. Franklin
Computer Corp., 714 F.2d 1240, 1248 (3rd Cir. 1983).
[40] Id. at 1249.
[41] 17 U.S.C. § 106(4).
[42] 17 U.S.C. § 106(5).
[43] 17 U.S.C. § 106(1).
[44] The definition of "Copies" in the Copyright Act
is as follows:
"Copies" are material objects, other than phonorecords, in which a work is fixed by any method now
known or later developed, and from which the work can be perceived, reproduced, or otherwise communicated, either
directly or with the aid of a machine or device. The term "copies" includes the material object, other
than a phonorecord, in which the work is first fixed."
17 U.S.C. § 101.
[45] 17 U.S.C. § 106(2).
[46] 17 U.S.C. § 101.
[47] 17 U.S.C. § 101 states:
A work is "created" when it is fixed in a copy or phonorecord for the first time; where a work is
prepared over a period of time, the portion of it that has been fixed at any particular time constitutes the work
as of that time, and where the work has been prepared in different versions, each version constitutes a separate
work.
[48] Midway Mfg. Co. v. Artic Intern., Inc., 704 F.2d 1009, 1013
(7th Cir 1983).
[49] Mirage Editions, Inc. v. Albuquerque A.R.T. Co., 856 F. 2d
1341, 1343 (9th Cir. 1988) citing 1 Nimmer on Copyright § 3.01 (1986).
[50] Lewis Galoob Toys, Inc. v. Nintendo of America, Inc., 964
F.2d 965, 967 (9th Cir. 1992) citing 1976 U.S.Code Cong. & Admin News 5659, 5675.
[51] Lewis Galoob Toys, Inc. v. Nintendo of America, Inc., 964
F.2d 965, 968 (9th Cir. 1992).
[52] Mirage Editions, Inc. v. Albuquerque A.R.T. Co., 856 F. 2d
1341, 1343 (9th Cir. 1988).
[53] 17 U.S.C. § 117 states:
Notwithstanding the provisions of section 106, it is not an infringement for the owner of a copy of a computer
program to make or authorize the making of another copy or adaptation of that computer program provided:
that such new copy or adaptation is created as an essential step in the utilization of the computer program
in conjunction with a machine and that it is used in no other manner, or
that such new copy or adaptation is for archival purposes only and that all archival copies are destroyed in
the event that continued possession of the computer program should cease to be rightful.
[54] 17 U.S.C. § 117.
[55] Vault Corp. v. Quaid Software Ltd., 847 F.2d 255, 261 (5th
Cir. 1988).
[56] Foresight Resources Corp. v. Pfortmiller, 719 F. Supp 1006,
1010 (D.Kan. 1989).
[57] Note that this statement is true with respect to the fact
pattern in the hypothetical at the heart of this discussion. In fact, it might well provide a valid exception to
the exclusive right to prepare a derivative work in the event that it was the licensee of the copyright holder’s
program who was creating improvements to that program’s functionality via unpublished API access.
[58] 17 U.S.C. § 107 states:
Notwithstanding the provisions of sections 106 and 106A, the fair use of a copyrighted work, including such
use by reproduction in copies or phonorecords or by any other means specified by that section, for purposes such
as criticism, comment, news reporting, teaching (including multiple copies for classroom use), scholarship, or
research, is not an infringement of copyright. In determining whether the use made of a work in any particular
case is a fair use the factors to be considered shall include -
(1) the purpose and character of the use, including whether such use is of a commercial nature or is for nonprofit
educational purposes;
(2) the nature of the copyrighted work;
The fact that a work is unpublished shall not itself bar a finding of fair use if such finding is made upon
consideration of all the above factors.
[59] See Sony Corp. v. Universal City Studios, Inc., 464
U.S. 417, 448-449 (1984); Narell v. Freeman, 872 F.2d 907, 913 (9th Cir. 1989).
[60] Narell v. Freeman, 872 F.2d 907, 913 (9th Cir. 1989).
[61] Sony Corp. v. Universal City Studios, Inc., 464 U.S. 417,
451 (1984).
[62] Wright v. Warner Books, 953 F.2d 731, 737 (2nd Cir. 1991).
[63] Id.
[64] Id.
[65] Stewart v. Abend., 495 U.S. 207, 237 (1990).
[66] The statutory language is so ambiguous that this author would
be surprised if it was not deliberately drafted that way.
[67] Wright v. Warner Books, 953 F.2d 731, 738 (2nd Cir. 1991).
[68] That being noted, it might well make up a crucial portion
of the combined program, though a "portion [unlikely to be] essentially the heart of the copyright work."
Wright v. Warner Books, 953 F.2d 731, 738 (2nd Cir. 1991). One could say that a steering wheel is crucial to a
car’s functionality, but it is hardly at the heart of what is the car.
[69] 17 U.S.C. § 107.
[70] Narell v. Freeman, 872 F.2d 907, 914 (9th Cir. 1989).
[71] This author feels that the term ‘unpublished’ in 17 U.S.C.
107 is not of particular distinction in light of the above argument; however, the author was unable to find case
law on point on this matter, and thus is relying on analysis of the code as written, rather than case law. As is
often the case in examining the Copyright Act in the context of computer programs, the technology has moved beyond
the drafters' ability to see into the future (if not necessarily beyond the scope of the drafters' intent), and
the student of the statutory language has to rely on interpretation and outcome in analyzing the language. An additional
difficulty, specifically on point here, is that the while the lexicons of the law and the software industry often
use the same terminology, that terminology frequently has entirely different meanings.
[72] Stewart v. Abend, 495 U.S. 207, 238 (1990).
[73] Wright v. Warner Books, 953 F.2d 731, 739 (2nd Cir. 1991);
see also, Narell v. Freeman, 872 F.2d 907, 914 (9th Cir. 1989).
[74] Sony Corp. v. Universal City Studios, Inc., 464 U.S. 417,
451 (1984).
Thus, although every commercial use of copyrighted material is presumptively an unfair exploitation of the monopoly
privilege that belongs to the owner of the copyright. . . Actual present harm need not be shown; such a requirement
would leave the copyright holder with no defense against predictable damage. Nor is it necessary to show with certainty
that future harm will result. What is necessary is a showing by a preponderance of the evidence that some meaningful
likelihood of future harm exists. If the intended use is for commercial gain, that likelihood may be presumed.
[75] For instance, in a more specific hypothetical, Microsoft could
show potential harm done to the competitive stature of its browser in the event that Netscape browsers could access
all of the unpublished API’s contained in Windows that the Microsoft browser may access. Consequently, a major
technological and functional advantage that the Microsoft browser has would be removed. However, the crucial point
of distinction is that the Netscape browser, arguably, would be infringing Microsoft’s copyright in the Windows
operating system, and not in Microsoft’s Internet Explore browser.
[76] Midway Mfg. Co. v. Artic Intern., Inc., 704 F.2d 1009, 1014
(7th Cir 1983).
[77] Stewart v. Abend, 495 U.S. 207, 228 (1990).
[78] Sony Corp. v. Universal City Studios, Inc., 464 U.S. 417,
432 (1984), citing Fox Film Corp. v. Doyal, 286 U.S. 123, 127.
[79] Rajiv Chandrasekaran, Justice Dept. Browsing a Range of Options
in Microsoft Case, Washington Post, April 9, 1998 at C1, C6.