+ All Categories
Home > Documents > LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs...

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs...

Date post: 21-Jan-2016
Category:
Upload: paul-chandler
View: 218 times
Download: 0 times
Share this document with a friend
28
COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research School of Computer Science Carnegie Mellon University
Transcript
Page 1: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Copyright in ComputerPrograms

Michael I. Shamos, Ph.D., J.D.Institute for Software ResearchSchool of Computer ScienceCarnegie Mellon University

Page 2: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Copyrightability

• Computer software is copyrightable• This was not clear in the 1976 Copyright Act (and book

authors argued to Congress against it)• It was repaired by the Computer Software Copyright

Amendments of 1980, which added a definition of “computer program” to the Copyright Act:

• “A ‘computer program’ is a set of statements or instructions to be used directly or indirectly in a computer in order to bring about a certain result.”

• Then a new section made it apparent by implication that computer programs were copyrightable

Page 3: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Computer Software Copyright

• Special copyright provisions for computer programs• Making of Additional Copy by Owner of Copy.— it is not

an infringement for the owner of a copy of a computer program to make … another copy or adaptation of that computer program provided:(1) such a new copy … is created as an essential step in the utilization of the computer program in conjunction with a machine and … is used in no other manner, or(2) that such new copy … 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. 17 U.S.C. §117(a)

Page 4: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Should Computer Softwarebe Copyrightable?

• Does the long term of copyright “promote the progress of science and useful arts” or hinder it?

• Are computer programs “works of authorship”?

• Isn’t it essential for programmers to use constructs created by others?

• Aren’t computer programs purely functional? They control machines, so aren’t they a “method of operation” and hence uncopyrightable?

• There is a constant tension between protecting expression and leaving methods of operation free of copyright

Page 5: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Protected Forms of Software

• Source code• Object code

– Is it a work of authorship?– Is it a derivative work?

• Code in RAM• Translations into other computer languages• Bytecode?

Page 6: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Functionality

• The “function” of a program cannot be copyrighted. (It might be patentable.)

• If the expression is “dictated” by the function, then there is no creative expression and no copyright

Page 7: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Idea/Expression Merger

• If an unprotectible idea can be expressed in only one or a very limited number of ways, then the “idea” and the “expression” of the idea “merge” and no copyright is possible

• To hold otherwise would give a long monopoly on an idea or process, which should be protected, if at all, by a much shorter patent (20 years v. life + 70 years)

Page 8: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Nichols Abstractions Test

• “When a plagiarist does not take out a block in situ, but an abstract of the whole, decision is more troublesome. Upon any work, and especially upon a play, a great number of patterns of increasing generality will fit equally well, as more and more of the incident is left out…there is a point in this series of abstractions where they are no longer protected.” [since they are ideas]

Nicholls v. Universal Pictures (2d Cir. 1930) in situ = Latin for “in place”

Page 9: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Abstraction-Filtration-Comparison

• A test for infringement of computer programs• Takes into account different structures and computer

languages• From Computer Associates v. Altai (2d Cir. 1992)• Abstraction: reducing the program to a set of

functional processes (e.g. modules, procedures)• Filtration: eliminating unprotectible elements• Comparison: seeing if the remaining portions are

substantially similar• Very difficult in practice because the jury doesn’t

understand abstraction and filtration

Page 10: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Abstraction-Filtration-Comparison

10,000 LINES OF SOURCE CODE

SORTING PROGRAM

RAW CODE

OVERALLPURPOSE

a.java b.java merge.java z.javaMODULES

fillbuffill a buffer from a file

compare compare two lines

mergelines merge arrays of lines into one array

PROCEDURES,DATA STRUCTURES

SORT MERGE SAVEHIGH-LEVELFUNCTIONS

Page 11: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Abstraction-Filtration-Comparison

“A computer program may be thought of as a set of individual instructions organized into a hierarchy of modules. At a higher level of abstraction, the instructions in the lowest- level modules may be replaced conceptually by the functions of those modules. At progressively higher levels of abstraction, the functions of higher-level modules conceptually replace the implementations of those modules in terms of lower-level modules and instructions, until finally, one is left with nothing but the ultimate function of the program.... A program has structure at every level of abstraction at which it is viewed.”

Computer Associates v. Altai

Page 12: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Abstraction-Filtration-Comparison

• Dissect the allegedly copied program's structure and isolate each level of abstraction contained within it.

• The process begins with the code and ends with an articulation of the program's ultimate function.

• Along the way, it is necessary essentially to retrace and map each of the designer's steps--in the opposite order in which they were taken during the program's creation.

Page 13: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Abstraction-Filtration-Comparison

• Eliminate unprotectible elements, such asthose– Dictated by efficiency

• Most succinct formula, best data structure for the task– Dictated by external factors

• Programming standards• Interface specifications, e.g. and API• Problem constraints: must use a particular protocol

– Drawn from the public domain Computer Associates v. Altai

Page 14: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Abstraction-Filtration-Comparison• “There may remain a core of protectable expression. In

terms of a work's copyright value, this is the golden nugget. … At this point, the court's substantial similarity inquiry focuses on whether the defendant copied any aspect of this protected expression, as well as an assessment of the copied portion's relative importance with respect to the plaintiff's overall program. (‘To determine whether similarities result from unprotectable expression, analytic dissection of similarities may be performed. If ... all similarities in expression arise from use of common ideas, then no substantial similarity can be found.’)”

Computer Associates v. Altai

Page 15: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Lotus v. Borland49 F.3d 807 (1st Cir. 1995)

• Lotus Development created the successful spreadsheet program Lotus 1-2-3 (a predecessor of Excel)

• 1-2-3 had 50 command menus with a total of 469 commands, such as “Copy,” Print,” “Quit”

• Borland created its own spreadsheet, Quattro• To provide customers with a smooth transition path

from 1-2-3 to Quattro, Borland needed to support importation of 1-2-3 files into Quattro.

Page 16: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.
Page 17: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Lotus v. Borland49 F.3d 807 (1st Cir. 1995)

• 1-2-3 had a macro facility in which users could record sequences of menu selections

• To support 1-2-3 macros, Quattro had to understand all 469 1-2-3 commands

Page 18: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Lotus v. Borland

• Borland copied the entire Lotus command hierarchy• Borland did not have access to, and did not copy, ANY

Lotus source code• Is the menu hierarchy and command set copyrightable?• It certainly contains creative expression• The District Court found that there were many

alternatives to the command names (e.g. “Exit” instead of “Quit”), so there was no idea/expression merger

• The District Court found that Borland infringed• Borland appealed

Page 19: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Lotus v. Borland

• Court of Appeals did not focus on idea/expression merger, but on functionality

• Is the menu hierarchy a “method of operation”?• “We think that ‘method of operation,’ refers to the

means by which a person operates something … a text describing how to operate something would not extend copyright protection to the method of operation itself; other people would be free to employ that method and to describe it in their own words.”

Page 20: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Lotus v. Borland

• “We hold that the Lotus menu command hierarchy is an uncopyrightable ‘method of operation.’ The Lotus menu command hierarchy provides the means by which users control and operate Lotus 1-2-3. If users wish to copy material, for example, they use the ‘Copy’ command. If users wish to print material, they use the ‘Print’ command. Users must use the command terms to tell the computer what to do.”

• “The Lotus menu command hierarchy does not merely explain and present Lotus 1- 2-3’s functional capabilities to the user; it also serves as the method by which the program is operated and controlled.”

• REVERSED. Menu hierarchy not copyrightable

Page 21: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Lexmark Int’l, Inc. v. Static Control Components

387 F.3d 522 (6th Cir. 2004) • Lexmark makes computer printers that use toner cartridges• Static Control makes microchips used by companies who

remanufacture toner cartridges• Lexmark didn’t like customers to use alternative cartridges.

It used technological means to prevent it.• It had a “toner loading program” which measured the amount

of toner remaining in the cartridge. The program is resident in the cartridge

• The program was 55 bytes long, much shorter than this slide

Page 22: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Lexmark v. SCC

• A much longer “Printer Engine Program” drives the printer and resides on the printer

• Lexmark registered the code to both programs• Lexmark sells two types of toner cartridges:

– “Prebate”: sold at a discount. User agrees to used the cartridge only once and return the used one to Lexmark

– “Non-Prebate”: no discount, no contractual restriction

• To enforce the Prebate agreement, the printer performs an authentication of the cartridge based on a hash value. If the hash value is incorrect, the printer will not operate

Page 23: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Lexmark v. SCC • SCC sells a “SMARTEK” chip which contains an identical copy of the

Lexmark Toner Loading Program• The SCC SMARTEK chip executes the Lexmark authentication sequence

and fools the printer into thinking that the cartridge is from Lexmark• SCC claims it is necessary for compatibility• Lexmark claims

– copyright infringement– circumvention of access controls on Toner Loading Program– circumvention of access controls on Printer Engine Program

• District Court found a valid copyright in the Toner Loading Program (could be programmed in multiple ways) and enjoined SCC from copying

Page 24: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Lexmark v. SCC • On appeal. the Sixth Circuit found that the 55-byte program was

uncopyrightable• Former CMU Prof. Bruce Maggs (not at Duke) was Lexmark’s expert.

He said the program could have been written 50 different ways– (1) different constants and equations could be used– (2) a lookup table could be used in lieu of equations– (3) some measure other than torque could be used to approximate toner level

(e.g., the number of pages printed); or– (4) the same equations could be used in a different sequence.

• SCC’s expert testified that the code was determined by external factors (e.g. the printer only downloaded 55 bytes, so the program had to fit in that space)

Page 25: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Lexmark v. SCC

• The appeals court sided with SCC• “Dr. Maggs’ first and third suggestions—that different

equations and values or a different means of measuring toner level altogether could have been used—do not appear to represent alternative means of expressing the ideas or methods of operations embodied in the Toner Loading Program; they appear to be different ideas or methods of operation altogether. Selection from among competing ideas or methods of operation generally does not result in copyright-protectable expression.”

Page 26: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Lexmark v. SCC

• “When a work itself constitutes merely an idea, process or method of operation, or when any discernible expression is inseparable from the idea itself, or when external factors dictate the form of expression, copyright protection does not extend to the work.”

• The Toner Loading program was simply lockout code dictated by the authentication constraint

• Not copyrightable

Page 27: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

Major Ideas

• Computer software is copyrightable in many forms, including object code

• Software elements that are “dictated by external factors” are not protectible by copyright

• “Methods of operation” are not protectible by copyright• Abstraction-Filtration-Comparison is a test for copyright

infringement particularly appropriate for computer programs

• When idea and expression merge, there is no copyright

Page 28: LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS Copyright in Computer Programs Michael I. Shamos, Ph.D., J.D. Institute for Software Research.

LAW OF COMPUTER TECHNOLOGY FALL 2015 © 2015 MICHAEL I. SHAMOS

QA&


Recommended