Computer Software and Copyright
9. Translations, Adaptations and Revisions Are Derivative
Works
A derivative work is defined as a work based upon one or more preexisting
works. In computer science this includes a translation of a computer program
into another language or an adaptation of an original program onto a new
platform. The derivative work is separately copyrightable. However, this
protection applies only to the new material added and the compilation of
the new and old elements.
A revision of a computer program is also a derivative work. It is based
upon the earlier version. If the program is registered with the
U.S.
Copyright Office, discussed in
§11, then
a new revision must be registered as a new copyright.
The original work remains protected by its original copyright and belongs
to the original author. Since the original author retains the right to
produce derivative works based on the original program, the second programmer
must obtain permission from the original author to use the program in a
new derivative work. To repeat, since the right to prepare derivative works
is part of the bundle of rights retained by the author of an original work,
a computer programmer who is not the original author must obtain permission
from the original author in order to create a derivative work based on
the original work. Don't panic yet; read on.
9.1 There Is a Limited Exception for Adaptations
9.2 Aren't Most Computer Programs Derivative Works?
9.2.1 How Much of Someone Else's Code Can I Use Without
Permission?
9.2.2 What If I Use Public Domain Source Code As Part
of My Code?
9.1 There Is a Limited Exception for Adaptations
Courts have fashioned an exception to an adaptation as a derivative work.
Since many computer programs are at least partially platform-dependent,
a legal purchaser of a computer program may have to "tweak" the source
code or object code in order to adapt it to a new platform. As such, many
courts permit this limited adaptation and do not consider it infringement.
9.2 Aren't Most Computer Programs Derivative Works?
It is rare that a programmer will write a computer program completely from
scratch. Most computer programs today represent an assemblage of routines,
modules and algorithms obtained from many sources. Many times the programmer
borrows routines from his or her previous completed programs or simply
from previous uncompleted code. Why reinvent the wheel? Other times the
code is taken from programs written by colleagues or from code in the public
domain. Some code is even provided in libraries that come with the programming
tools used to write the source code. Often, a programmer cannot even remember
where he got a particular routine.
Usually the programmer has to make a serious effort to connect the routines
together, modify them and "adapt" them to his program logic. This adaptation
usually goes far beyond mere tweaking. It is this creative effort to assemble
a working computer program that gives the programmer the right to copyright
it as a derivative work. Based on the definitions above, if such programs
should be considered derivative works, then most programs should.
Does this mean that the programmer has to find the authors of all routines
in what may be tens of thousands of lines of source code and get permission
to use the material? The idea that a programmer has to seek permission
from another programmer before he can use the original programmer's routines
to make a derivative work may surprise, anger and even terrify many programmers.
What about programs written by teams of individuals?
With that in mind, it is clear that the concept of derivative works
is critical to the computer programmer. Where are the lines drawn? What
are the programmer's rights and responsibilities here? As the typical programmer
working a tech support desk would say to a frantic caller with a crashed
system, "Stay calm; let¹s walk through this step by step. First, do
you know how to convert binary to octal?"
9.2.1 How Much of Someone Else¹s Code Can I Use
Without Permission?
Generally if your program uses a small amount of code that was previously
published
then it will probably be considered an original work and not a derivative
work. If your program uses a substantial portion of previous material or
if the portion that you use represents a critical element, then it will
probably be considered a derivative work. Who defines what ³substantial²
is? In the case of a federally registered work, the
US
Copyright Office may make an initial determination, but that decision
is ultimately determined by a court of law.
An Example
Julie, having access to Cliff's code, translates the code from
Fortran into C. This translation, requiring a significant amount of work
and input on her part, constitutes a derivative work . However, it is also
an infringment of copyright in the original work if it was done without
the original copyright holder¹s permission.
On the other hand, had Julie ended up using only 100 mechanical lines
out of 10,000 lines of the original code as part of another program that
she wrote, then in all likelihood, she can claim an original copyright
in the new program; however, that copyright would not include copyright
of the ³borrowed² portion of the program. We are assuming here
that the borrowed code is too insubstantial a portion of the original to
render the new work a derivative work.
9.2.2 What If I Use Public Domain Source Code as Part
of My Code?
By definition, you don't have to ask anyone for permission to use public
domain source code. It belongs to the public. However, you cannot claim
a copyright to that portion of your program that contains the public
domain source code. You can only protect your particular enhancements.
Anyone can use the part of your code that is in the public domain in his
or her code without your permission.
What is called ³public domain² source code or software, however,
is not always in the public domain. Some people use the terms public domain,
freeware and shareware very strictly. Others use the terms interchangeably.
However, these terms may connote different rights to copy or distribute.
In some cases an author may describe his or her work as being in the
³public domain² or available for public use; and at the same
time (contradictorily) including limitations or conditions upon that use.
Technically this source code or software is not in the public domain; however,
the conditions placed upon its use may be so easily or inexpensively complied
with as to give the software the appearance of ³public domain²
code. One use limitation, of a substantial nature, could be a prohibition
on the code being used commercially or incorporated into commercial software
without permission or without payment of a fee. Another limitation, of
a less substantial nature, might constitute a requirement that the author
of the borrowed code be acknowledged in the documentation of the newly
developed code.
Whether or not the code you intend to use is described as "public domain"
code or not, it is always best to be cautious in your assumptions as to
the ownership of borrowed code. A piece of code you thought was in the
public domain may have been subject to some copyright that was not abandoned.
Courts will generally consider 1) how much effort the previous programmer
made to protect her property interest in the portion of the public domain
source code she wrote (for instance did she place a copyright notice on
her code); 2) whether it constitutes a substantial portion of the public
domain code and 3) how diligent you as a programmer were in determining
prior ownership.
Here is the take-home message. Nothing in computer law is black and
white. If you use someone else's code, do your best to determine if any
limits were placed on its use by the original author. A copyright notice
is a clear indication that you should find the author and ask permission.
If you use public domain source code and want to establish a copyright
on the new code, make sure your enhancements or additions are substantial,
not trivial.
*Written by John E. Wehrli, formerly of the Patent Department, Lawrence
Berkeley National Laboratory. Available as LBL Report No. 38995.
|