Berkeley Lab logo
spacer
Patent Group Home
Information for Inventors arrow
Forms arrow
Patents  
Confidential Information
Copyright arrow
Trademark
Computer Software arrow
Patent Publication Review (For LBNL Authors) arrow
Export Control
Humor
Patent Group Staff
LBNL Report /Publication Approvals (Patent Counsel only)
Intellectual Property Law Web Links
Copyright Notice & Disclaimers
Tech-Transfer
spacer
Webmaster
SEARCH
Phone Book A-Z Index Search
 
  Patent Group
  Computer Software and Intellectual Property Law
 

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.
[Up]

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?"

[Up]

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.

[Up]

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.