Source Code & Software Patents: A Guide to Software & Internet Patent Litigation for Attorneys & Experts
by Andrew Schulman (http://www.SoftwareLitigationConsulting.com)
Detailed outline for forthcoming book
Chapter 13: Purposes of, and general approach to, source-code examination
- Not a holistic exercise to understand the code, but rather a focused search for specific elements & steps to match patent claim limitations, or determine no such match
- Bottom-up vs. top-down approach
- Searching vs. tracing approach
- The source-code exam will generally yield one or more Bates-stamped print-outs of files extracted from a large source-code tree; the expert/examiner selects files to be printed, the producing party reviews them, and then produces to the requesting party
- Neither a doc production, nor an in-situ inspection (unless if PO requires that all code analysis be conducted within source-code room); source-code exam more like “quick peek” doc review
13.1 Purpose of the source-code examination in software patent cases
- 13.1.1 Not a holistic exercise to “understand” the code as a whole
- 13.1.2 Focused search for specific elements & steps to match patent claim limitations
- 13.1.3 Extraction
- 13.1.4 Translation
- 13.1.5 Comparison, matching, and “mapping” between patent claims and source code; in software copyright and trade-secret cases, comparison is between two source-code trees
- 13.1.5B Analysis, especially when PO requires that all code analysis be performed in situ (see PO article)
- 13.1.6 Similarity to “quick peek” review: inspect, select, review, produce
- 13.1.6b FRCP 34(a)(2): “permit entry onto designated land or other property possessed or controlled by the responding party, so that the requesting party may inspect, measure, survey, photograph, test, or sample the property or any designated object or operation on it”
- 13.1.7 Source-code exam output: Bates-stamped print-outs of files selected by requesting party from producing party’s larger source-code production
13.2 Examiner’s general approaches to source code
- 13.2.1 Top-down & bottom-up approaches
- 13.2.2 Function-call & data-flow approaches
- 13.2.3 Searching & tracing approaches
- 13.2.4 Searching: Using keywords, synonyms, and potential exemplary terminology
- 13.2.5 Tracing: Examining code with reduced dependence upon terms or names
- 13.2.6 Code reading
- 13.2.6 Element-by-element comparison of code with patent claims
- 13.2.7 In copyright and trade secret cases, comparing source-code trees against each other
13.3 Likely contents of source-code production — see chapter 15 on exam environment