The opinion of the court was delivered by: Walls, Senior District Judge
This lawsuit involves a dispute between two competitors, Syncsort Incorporated and Innovative Routines International, Inc. (known as "IRI"), which develop and sell data transformation software. Data transformation is the process of taking data in one form and changing into another form (such as editing or reordering the data). Syncsort produces and licenses a data transformation software product called SyncSort UNIX. IRI markets a directly competing product called CoSORT.
Users of the software are able to write and save job-control scripts, which are sequences of instructions and commands for particular data transformation tasks. The scripts are reusable, so users do not have to rewrite the scripts for each task they wish to perform.
The job-control scripts are written in a command language that is unique to the respective software product. The CoSORT command language is incompatible with SyncSort UNIX, and the SyncSort UNIX command language is incompatible with CoSORT.
The incompatibly between the two command languages creates a significant barrier to switching software vendors because creation of new scripts is a costly endeavor. If a customer decides to switch software products, the customer must recreate its job-control scripts so that they are compatible with the new software.
In response to this barrier to switching products, IRI developed a computer program- ssu2scl-which can translate scripts written in the SyncSort UNIX command language into the CoSORT command language. This translator allows SyncSort UNIX customers to switch to CoSORT without going through the effort of rewriting job-control scripts.
Syncsort has twice sued IRI in this Court alleging, among other claims, misappropriation of trade secrets and unfair competition; Syncsort seeks injunctive relief and damages. The first suit resulted in a bench trial and the fact findings and legal conclusions that follow.
Earlier, the Court had decided motions for summary judgment. The Court ruled that Syncsort's trade secret misappropriation and unfair competition claims could proceed to trial. Although Syncsort's demand for monetary damages was struck because there was no evidence to support a causal link between IRI's use of the translator and the monetary damages claimed by Syncsort.
The Court has reviewed the parties' proposed findings of fact and conclusions of law against the backdrop of the Court's notes, recollection and trial transcripts. Notwithstanding the micro-factual submissions of the parties, the Court believes and finds many submissions to be irrelevant, hyperbolic rhetoric, and not necessary to the Court's ultimate conclusions.
This opinion has concentrated on the material and supportive facts necessary to answer the primary questions: Is information sufficient to create the ssu2scl translator a recognizable trade secret? If so, did IRI misappropriate this trade secret? And, is Syncsort entitled to an injunction?
The Court has evaluated the credibility of all witnesses testing not only what they said but how they said it and what was not said against these criteria: Was this more likely so or not? Did what was said make sense in the totality of circumstances? To the extent any finding of fact reflects a legal conclusion, it shall be to that extent deemed a conclusion of law, and vice versa.
1. The plaintiff is Syncsort Incorporated, a New Jersey corporation with its principal offices in Bergen County, New Jersey. PTO Stip. ¶ 1.
2. The defendant is Innovative Routines International, Inc., a Florida corporation with its principal offices in Brevard County, Florida. PTO Stip. ¶ 2.
3. Syncsort is a developer and vendor of high-performance software for corporate data processing customers. PTO Stip. ¶ 5.
4. Syncsort develops and licenses data transformation software. Data transformation is the process of taking data, transforming and integrating it into another form to be used or further processed. Trial Tr. 57:5-57:11, 58:21-58:24, Jan. 19, 2011.
5. In 1993, Syncsort introduced SyncSort UNIX, which is data transformation software for the UNIX computer operating system. PTO Stip. ¶¶ 5-6.
6. SyncSort UNIX customers have large amounts of data to transform and are generally large institutions such as banks, investment companies, life insurance companies, government institutions and universities. Trial Tr. 470:23-471:4, May 10, 2011.
7. Syncsort relies in part on trade secret protection to maintain the proprietary nature of its software products, including SyncSort UNIX. Trial Tr. 70:17-71:1, Jan. 19, 2011.
8. Defendant IRI is a software company that competes with Syncsort in the data transformation software market segment. IRI markets CoSORT, a software product which competes directly with SyncSort UNIX. PTO Stip. ¶ 14. In this market segment, there are approximately twelve companies that offer products that compete with Syncsort's products. Trial Tr. 266:19-266:24, Jan. 21, 2011.
B.Development of SyncSort UNIX and the Reference Guide
9. Syncsort designed SyncSort UNIX so that a user could use the product by giving it commands coded in a particular command language. The SyncSort UNIX command language is an extensive symbolic system by which a user instructs the SyncSort UNIX program to perform specific data processing and sorting jobs. The language is comprised of (i) words and symbols that have particular meaning within the language ("options" and "keywords") (the respective meanings of which are referred to as the language "semantics"), and (ii) the specific rules or "syntax" for forming valid program expressions out of those options and keywords. PTO Stip. ¶¶ 9, 11.
10. SyncSort UNIX cannot perform the tasks desired by the user unless the command language statements used to invoke those tasks are specified correctly in accordance with the syntax and semantics of the language. See Pl. Ex. 584 ¶ 10.
11. The SyncSort UNIX command language is not generally known to others (unauthorized users and competitors) in the computer industry. Trial Tr. 58:13-58:15, Jan. 19, 2011.
12. SyncSort UNIX command language statements are particularly useful when used in combination, to perform a set of data transformation tasks that comprise a practical data processing task that the user wishes to perform. SyncSort UNIX users are able to create and save such a series of instructions for their particular data transformation jobs as text files. Such text files are called job-control scripts. These scripts consist of a series of statements that include options, keywords and user-supplied names and data, each arranged in accordance with the syntax of the language. The scripts save users the labor of physically entering the text of their desired commands line by line for each of their jobs and eliminate associated typing errors. These scripts are often run repetitively in a commercial data processing department. It is a practical necessity, therefore, to have the specifications for SyncSort UNIX data transformation jobs stored in the form of scripts. PTO Stip. ¶ 13; Trial Tr. 195:1-195:21, Jan. 20, 2011.
13. Syncsort developed the SyncSort UNIX Reference Guide that defines commands, parameters and syntax and formal grammar definitions of the SyncSort UNIX command language. PTO Stip. ¶¶ 10-12. The Reference Guide is nearly 400 pages. Pl. Ex. 114
14. The Reference Guide describes the syntax of the SyncSort UNIX command language in a comprehensive series of precise, formal definitions which, together, are known as a grammar. PTO Stip. ¶ 12. The Reference Guide sets out the rules for each "option" or "statement" in the language. In addition, there are other sections of the Reference Guide concerning program usage, and an extensive appendix that defines numerous keywords, specifies acceptable data types for various operations, and sets forth additional technical details concerning the language. See generally Pl. Ex. 114.
15. Syncsort invested over $13 million to develop SyncSort UNIX and the SyncSort UNIX command language approximately between 1992 and 2005. See Trial Tr. 481:3-481:16, May 10, 2011.
16. Before developing SyncSort UNIX, Syncsort had developed several mainframe computer versions of SyncSort. One such version, SyncSort MVS, was developed for the MVS mainframe operating system and was based on the sort language for IBM's DFSort, which is in the public domain. Trial Tr. 154:12-155:15, Jan. 20, 2011. The SyncSort UNIX command language is quite different from the languages that Syncsort created for use with its mainframe-based software, including SyncSort MVS. Trial Tr. 333:22-334:3, Jan. 21, 2011; Trial Tr. 155:4-155:6, Jan. 20, 2011. A full knowledge of the Syncsort MVS command language would not permit one to write a translator for SyncSort UNIX. Trial Tr. 333:25-334:3, Jan. 21, 2011.
17. In 1990, 1991 and 1992, IRI developed a command language for CoSORT known as SortCL. PTO Stip. ¶ 15. The SortCL command language has always been incompatible with SyncSort UNIX, just as the SyncSort UNIX command language is incompatible with CoSORT. PTO Stip. ¶ 21.
18. The SyncSort UNIX command language and IRI's SortCL each require that instructions be provided to them in precisely defined structures, in accordance with the term definitions and syntax of their respective command languages. Neither program has "artificial intelligence" capabilities to try to guess what a user intends. If the desired instructions are not stated in the correct form, the program will either fail or provide incorrect results. The proper "form" for these instructions is the form specified by the command language for the program. PI Hr'g Tr. 73:13-73:17, Jan. 4, 2005; PI Hr'g Tr. 38:15-38:20, Jan. 5, 2005.
19. Due to the specificity of the formal language requirements of SyncSort UNIX and the arbitrary nature of many of the words, symbols and syntax Syncsort selected in developing the SyncSort UNIX command language, it would be difficult for a computer programming company in the same industry as Syncsort to recreate the grammar of SyncSort UNIX from general knowledge of the industry without having access to the SyncSort UNIX Reference Guide, even if the developer had access to scripts written in the SyncSort UNIX language. Trial Tr. 331:6-332:11, Jan. 21, 2011.
C.Measures Used to Protect the Secrecy of the SyncSort UNIX Command Language
20. There is a custom in the software industry of keeping software intended for commercial use and all related materials protected by confidentiality agreements and trade-secret status. Trial Tr. 69:2-70:3, Jan. 19, 2011. Such is evident in use of legends on software manuals, use of non-disclosure agreements and contractual provisions with end users, resellers and other parties. The industry understands these legends and agreements to restrict one from using or disclosing information related to the software in an unauthorized manner. Trial Tr. 349:12-350:1, 350:8-350:25, Jan. 21, 2011.
21. Since creating its SyncSort UNIX command language in the early 1990s, Syncsort has taken precautions to prevent any detailed information concerning the elements and workings of the command language from becoming publicly known. Trial Tr. 104:3-105:8, Jan. 20, 2011. Some of the precautions and measures taken to protect the trade secret nature of the SyncSort UNIX command language include:
i. Requiring all users, including those who use SyncSort UNIX on a trial basis, to enter into a license agreement that restricts the use of SyncSort UNIX and its related manuals and materials and binds the licensee to maintain the confidentiality of "any information" related to SyncSort UNIX. Trial Tr. 468:23-469:16, May 5, 2011; Trial Tr. 104:15-104:17, Jan. 20, 2011; Pl. Ex. 441 ¶ 4.
ii. Requiring all Syncsort employees (including clerical employees), contractors or business partners to execute confidentiality agreements that forbid such parties to copy, remove from Syncsort's premises, or disclose to anyone outside Syncsort's direct employ, any information considered confidential, including software documentation without prior written approval by a vice president of Syncsort. Trial Tr. 104:3-104:8, Jan. 20, 2011; Pl. Ex. 469; Pl. Ex. 584¶ 14(c). Syncsort has also made clear to employees in its technical support group who assist customers with SyncSort UNIX that they are to keep the SyncSort UNIX language confidential. Trial Tr. 404:11-404:21, Jan. 25, 2011.
iii. Requiring all SyncSort UNIX resellers and distributors to enter into a Reseller Agreement containing confidentiality provisions that bind the reseller or distributor, its customers and its employees. Trial Tr. 108:9-108:13, Jan. 20, 2011; Pl. Ex. 470; Pl. Ex. 584 ¶ 14(d). The Reseller Agreement serves to ensure that resellers and distributors and their employees keep information, such as software documentation, confidential, and that they do not disclose such information to any third party without Syncsort's prior written approval. See, e.g., Pl. Ex. 470 § 3 ¶¶ 1.3, 1.6; § 4 ¶¶ 1.1, 12.3, 16.2, 16.3, 19.6.
iv. Placing confidentiality legends on all printed and machine readable materials related to SyncSort UNIX, including the Reference Guide Trial Tr. 104:23-105:2, Jan. 20, 2011; Pl. Ex. 584 ¶ 14(b); Pl. Ex. 114.
v. Taking measures, including the use of a firewall, to prevent outsiders from obtaining access to Syncsort's internal computer network. Trial Tr. 104:12-104:14, Jan. 20, 2011.
vi. Utilizing a software key mechanism that links a specific server to each licensee to prevent SyncSort UNIX from being run on any unlicensed server. Trial Tr. 104:18-104:22, Jan. 20, 2011.
D.Translation and ssu2scl
22. Data transformation software is generally licensed either for a set term or in perpetuity. Term licensees generally receive maintenance and support during the term, whereas perpetual licensees typically sign renewable maintenance agreements. Trial Tr. 71:15-73:2, Jan. 19, 2011.
23. Syncsort sells term licenses. IRI sells perpetual licenses.
24. Customers may switch from one software product to another at anytime. But, they may be dissuaded from doing so because of the cost of translating job-control scripts from the command language of one software product to another.
25. The incompatibly between the two command languages creates a significant barrier to switching software vendors because creation of new scripts is a costly endeavor. If a customer decides to switch software products, the customer must recreate its job-control scripts to be compatible with the new software.
26. In response to this barrier to switching products, in 2000, IRI developed a computer program-ssu2scl-which can translate scripts written in the SyncSort UNIX command language into the CoSORT command language. This translator allows SyncSort UNIX customers to switch to CoSORT without going through the effort of rewriting job-control scripts.
27. The trade secret status of the SyncSort UNIX command language is of great value to Syncsort because it prevents competitors from using that language to lure away Syncsort's customers. Where a customer has hundreds of scripts that must be made compatible with a competing software product, the cost of script conversion is a key consideration in evaluating the overall cost of switching to a competing product. Trial Tr. 76:7-76:19, Jan. 19, 2011.
Additionally, the cost associated with making SyncSort UNIX scripts compatible with a competing product may prevent Syncsort's current customers from using the threat of taking their scripts elsewhere as a bargaining chip in license renewal negotiations. Trial Tr. 79:22-81:24, Jan. 19, 2011.
28. Eliminating the SyncSort UNIX command language's trade secret status would increase competitors' ability to sell their own products to existing SyncSort UNIX customers. See R. Friedland Dep. 209:20-209:24, 210:8-210:11, May 16, 2006 (ssu2scl can be "an important aid in IRI's ability to sell CoSORT to SyncSort customers"). Allowing Syncsort's competitors to disregard the trade secret status of the SyncSort UNIX command language would allow competitors to reverse engineer, translate, and otherwise incorporate that language into competing products.
29. IRI has admitted that it provides the "useful" service of "convert[ing] [Syncsort customers' scripts] in an accurate way and in a timely way" before their SyncSort UNIX license periods ended. PI Hr'g Tr. 4:4-4:20, Jan. 5, 2005.
30. From May to July of 2000, IRI developed a computer program that was capable of translating scripts written in the SyncSort UNIX command language into scripts in the SortCL command language. This followed an earlier, unsatisfactory attempt by IRI to develop such a utility (ss2scl). The translation program developed as a result of IRI's effort is called ssu2scl. The creation of ssu2scl required extensive knowledge of the proprietary SyncSort UNIX command language. Trial Tr. 213:3-213:22, Jan. 20, 2011. IRI also developed a utility called rescript that would automatically run CoSORT on the SyncSort UNIX script that had been translated by ssu2scl. Haines Dep. 12:15-12:18, 13:1-13:7, 111:11-111:15, May 13, 2005. IRI distributes ssu2scl and rescript as a standard component in the CoSORT software package. PTO Stip. ¶ 20.
31. Rick Haines, the programmer who wrote ssu2scl and rescript, relied on two sources of information to learn the SyncSort UNIX command language: the SyncSort UNIX Reference Guide and SyncSort UNIX scripts. Haines Dep. May 13, 2005, 15:13-15:20; Trial Tr. 171:18-172:2, Jan. 20, 2011. Haines's primary source of knowledge of the grammar of the SyncSort UNIX command language was the SyncSort UNIX Reference Guide. Haines used scripts to test the effectiveness of ssu2scl and rescript after he created these utilities by copying information from the Reference Guide.
32. Notwithstanding earlier denials, IRI, through its counsel, conceded that it had access to and used the Reference Guide to develop ssu2scl. Trial Tr. 171:18-172:2, Jan. 20, 2011.
33. Certain translation mechanisms in the ssu2scl source code tracked the Reference Guide word-for-word. This tracking was not a coincidence. The source code demonstrates that IRI took significant parts of its translator code from the definitions of SyncSort UNIX command language as they were specifically set out in the Reference Guide. Trial Tr. 201:16-203:16, Jan. 20, 2011.
34. In late 1997 or early 1998, IRI obtained a copy of the SyncSort UNIX Reference Guide dated 1996 from an unspecified Brazilian distributor, instead of receiving a copy from Syncsort or another authorized source. PI Hr'g Tr. 19:19-19:25, 59:11-59:19, Jan. 5, 2005; Pl. Ex. 114. IRI later characterized the source as a reseller and claimed that it could not provide any further details concerning the circumstances of how IRI obtained the Guide. D. Friedland Dep. 292:14-292:20, May 19, 2006.
35. On the same page that identified the year that IRI's copy of the Reference Guide was published, there is an explicit statement that the Reference Guide, like all versions of the Reference Guide, is a confidential document for use only by licensees. See Pl. Ex. 114. Specifically, page 2 of the copy of the Reference Guide in IRI's possession contains the following legend:
This document contains proprietary and confidential material, and is only for use by lessees of the SyncSort proprietary software system. This publication may not be reproduced in whole or in part, in any form, ...