Intellectual Property Boston College Law School March 9, 2009 Software - Intro, Scope
Software & Hardware Hardware OS Application E.g. Windows, Mac OS, PS2 OS E.g. Dell PC, Macintosh, PS2 E.g. MS Word, Netscape Navigator, PS2 Game, etc.
Software Creation Typical steps –(1) Requirements analysis –(2) Architecting / high-level design –(3) User interface design –(4) Writing code –(5) Validation and maintenance
Software Creation } Var {for variable function …} num, count, primes, …. Begin {of program} {*****initialize var … num :=2;{the prime num … count :=0;{number of pri … times :=0;{number of col … {*****ask user how many … write (‘How many prime … read (primes); writeln; writeln; {carriage returns} writeln; Compile Source Code Object Code
Network Effects
Definition: where value of a product to one consumer depends on number of other consumers using it Examples –Actual networks: e.g. telephone, fax machines, instant messaging, etc. –Standards: e.g. QWERTY keyboard, MP3, etc. –Compatible products: e.g. VCRs, DVD, computer operating systems, etc.
Costs and Benefits Benefits –Competing standards can be inefficient –Lower training costs, portability –Wider selection in complementary markets Costs –Lock in to suboptimal standard –Issues of market power where standard owned
Competing Strategies MAI MAI OS MAI Apps OS Hardware Apple Apple OS 3d PartiesApple3d Parties Microsoft 3d PartiesMicrosoft3d Parties
Copyright Protection CONTU Recommendations U.S.C. § 101. Definitions –“Literary works” are works … expressed in words, numbers, or other verbal or numerical symbols or indicia …. 17 U.S.C. § 102. Subject Matter –“(b) In no case does copyright protection … extend to any idea, procedure, process, system, method of operation, concept, ….”
Issues Copyrightability –Object Code –Source Code –Non-Literal Structures –Functional Elements –Screen Displays –User Interfaces
Apple v. Franklin } Var {for variable function …} num, count, primes, …. Begin {of program} {*****initialize var … num :=2;{the prime num … count :=0;{number of pri … times :=0;{number of col … {*****ask user how many … write (‘How many prime … read (primes); writeln; writeln; {carriage returns} writeln; Compile Source Code Object Code
Whelan v. Jaslow Dentalab v. Dentcom –Different object code and source code –Similarities in non-literal elements File structures (how data stored) Screen outputs (how results displayed) Five subroutines –Order entry –Invoicing –Accounts receivable –End of day procedure –End of month procedure
Whelan v. Jaslow Standard for idea/expression: –“the purpose or function of a utilitarian work would be the work’s idea, and everything that is not necessary to that purpose or function would be part of the expression of that idea.” Idea = purpose or function Expression = everything not necessary to purpose
Whelan v. Jaslow Main Purpose Program Structure Modules, Data Source Code Object Code No Protection Protected Unless Necessary
Computer Assoc. v. Altai IBM 370 CA-Adapter CA-Scheduler Zeke Oscar 3.4 CMSMVSVSE Oscar 3.5
Abstraction Main Purpose Program Structure Modules, Data Source Code Object Code
Filtration Main Purpose Program Structure Modules, Data Source Code Object Code - Ideas - Dictated by efficiency - Dictated by external factors - Public domain
Comparison Main Purpose Program Structure Modules, Data Source Code Object Code
Computer Assoc. v. Altai Not copied Not Protected CA-Scheduler Dictated by OS or apps P.D. or functional Flows from purpose Main Purpose Parameter Lists, Macros Source Code, Object Code Oscar 3.5 General Outline Services Required
Altai Test v. Whelan Test Object Code Purpose Altai Modules, Data Source Code Program Structure Whelan
Hypothetical Facts –You are general counsel to software company –Developing an application –Have obtained source code of competing product –Would like to save time by copying as much as possible Question –What, if anything, can we copy? –Giving advice to company’s software engineers
Issues Copyrightability –Object Code –Source Code –Non-Literal Structures –Functional Elements –Screen Displays –User Interfaces
Lotus v. Borland Global Insert Delete Column-Width Erase Titles Window A B C D E F G H I J K Worksheet Range Copy Move File Print Graph Data Quit
Lotus v. Borland Possible Grounds for Decision –Not Protectible Method of operation - no protection at all (majority) –Protectible but No Liability Merger - expressive elements merged with method Fair Use (Boudin) –Protectible and Liability Copied expressive elements (district court)
Apple Desktop?
Data East v. Epyx Data East: Karate Champ Epyx: World Karate Champ
Level of Protection
Apple v. Microsoft Windows 3.0 (1990) Mac OS (1987)
Administrative Next Class –Finish V – Software Skip V.D – Sui Generis Read In Re Bilski from handouts page on website Class cancellations –Wednesday, March 11 –Monday, March 16