Computer Associates International v. Quest Software, Inc.

333 F. Supp. 2d 688 | N.D. Ill. | 2004

333 F.Supp.2d 688 (2004)

COMPUTER ASSOCIATES INTERNATIONAL, a Delaware corporation, Plaintiff,
v.
QUEST SOFTWARE, INC., a California corporation, Michael J. Friel, an Illinois resident, Debra Jenson, an Illinois resident, Robert M. Mackowiak, an Illinois resident, Elizabeth W. Wahlgren, an Illinois resident, and Frank L. Bisotti, a Wisconsin resident, Defendants.

No. 02 C 4721.

United States District Court, N.D. Illinois, Eastern Division.

June 28, 2004.

*689 *690 *691 Jac A. Cotiguala, Luanne M. Galovich, John Friedrich Zabriskie, Jeanne Marie Gills, Therese Colleen King, Jason J. Keener, Foley & Lardner, Chicago, IL, for Plaintiff.

Brian Douglas Sieve, Arthur Gollwitzer, Michael John Newman, Joel Alan Blanchet, Colby Anne Kingsbury, Alma M. Lugtu, David Rokach, Ann Chen, Kirkland & Ellis LLP, Chicago, IL, for Defendants.

MEMORANDUM OPINION AND ORDER

MORAN, Senior District Judge.

Plaintiff Computer Associates International, Inc. (CA) brought this action against defendants Quest Software Inc. (Quest), Michael J. Friel, Debra A. Jenson, Robert M. Mackowiak, Elizabeth W. Wahlgren, and Frank L. Bisotti alleging copyright infringement and trade secret misappropriation. It now seeks a preliminary injunction enjoining defendants from using, selling, licensing, distributing or marketing Quest Central or any future product derived from CA's source code. Defendants filed a motion to strike the testimony of plaintiff's witness Martin Hubel, a motion to strike Hubel's reply brief and objections to Magistrate Judge Mason's April 5, 2004, order compelling the disclosure of certain communications. For the following reasons, plaintiff's motion for a preliminary injunction is granted, defendants' *692 motions are denied, and defendants' objections are overruled.

BACKGROUND

The creation of computer programs involves writing "source code." This code may be expressed in one of several languages that can be read and understood by trained programmers. Files written in the languages relevant to this case, C and C++, contain suffixes (.c and .cpp, respectively) indicating what type of file they are. After a program is written, these files of source code are converted into executable files with suffixes of .exe or .dll. Computers read and process the executable files, but they cannot be read by humans. When a customer purchases computer software, he or she typically receives only these executable files, not the readable source code.

In 1996, Platinum technology International, Inc. (Platinum) released its first version of the software program Enterprise Database Administrator (EDBA). This program allowed database administrators to automate numerous tasks that would previously have been extremely time-consuming. Following IBM's release of its DB2 database, Platinum began the process of modifying the EDBA source code so as to release a DB2-compatible version. Because DB2 was (and is) widely used by database administrators, such a program could be extremely valuable.

The individual defendants played important roles in both the development of the EDBA source code and the attempt to adapt it to DB2. Jenson was the manager of Platinum's EDBA development lab in Oak Brook, Illinois, and Friel was the head of the EDBA development team. Mackowiak developed the EDBA parser, a tool that allows the EDBA program to communicate with the DB2 database by breaking down DB2's language (known as Structured Query Language, or SQL) into its component parts so that EDBA can understand the commands. Wahlgren wrote the EDBA analysis engine, which determines what changes need to be made to a database. Bisotti created the job scheduler, a tool that ensures that the tasks requested by the database administrator are accomplished at the proper time.

In the spring of 1999, CA announced that it intended to purchase Platinum. By this time, Platinum's EDBA team had made at least some progress towards converting EDBA for use with DB2. When CA acquired Platinum, many employees, including Wahlgren, were fired, and others, such as Jenson, Friel, Mackowiak and Bisotti, chose to leave. Quest, who had decided to write database administration software for DB2 from scratch, hired the five individual defendants and assigned them to roles similar to (or the same as) those they had in developing the source code for Platinum.

Despite Quest's rule prohibiting the new employees from bringing proprietary information with them to the new jobs, there is evidence that Mackowiak, Wahlgren and Bisotti brought copies of the EDBA source code to their new positions. There is also evidence that defendants repeatedly referenced the source code in developing the program for Quest, In fact, defendants concede that some of the developers had copies of the EDBA source code to use as a reference while writing their program.

In October 2000, Quest released the first version of Quest Central for DB2 (QCDB2), a database administration program for DB2. Since then, several new versions have been released, most recently version 3.0 in May 2003. There are currently four major competitors in the market for DB2 administration software: Quest, BMC, Embarcadero and IBM. CA does not sell a competing product.

*693 In early 2000, CA received information indicating that Quest may have portions of the EDBA source code. Following a letter from CA, Quest denied this allegation. In February 2002, however, CA received an unsigned letter detailing specific uses of the source code by Quest and the individual defendants. CA wrote another letter to Quest in March 2002, referring to this new information, and eventually filed this suit in July 2002. There is evidence that defendants, including Mackowiak, erased, or attempted to erase, files on their computers containing parts of the EDBA source code, after receiving the letters from CA.

Upon learning that the source codes for EDBA and QCDB2 were arguably similar, the defendants engaged in a "clean room" exercise to rewrite the parser code. They attempted to write the source code from scratch while closing the room to improper outside information. That lengthy process was completed on January 9, 2004, and Quest plans to incorporate the new code into QCDB2 version 4.0.1.

DISCUSSION

I. Defendants' Motions to Strike Testimony and Reply Brief of Martin Hubel

Defendants moved to strike the testimony of plaintiff's source code expert Martin Hubel pursuant to Daubert v. Merrell Dow Pharmaceuticals, Inc., 509 U.S. 579, 113 S.Ct. 2786, 125 L.Ed.2d 469 (1993). In response to that motion, Hubel submitted a reply declaration addressing the arguments raised in the initial motion to strike, which defendants also seek to strike.

A. Motion to Strike Hubel's Testimony

Plaintiffs introduced Hubel's declaration in an attempt to show that Quest copied large parts of the EDBA source code in QCDB2, and that Quest used commercially valuable information that CA knew, but was not generally known to the public or relevant community. Defendants raise four general arguments in favor of striking the testimony of Hubel. First, they claim that he does not have sufficient qualifications to serve as an expert witness. Second, they argue that Hubel's methodology in comparing the source codes was fatally flawed. Third, they point out substantive errors made by Hubel in preparing his report. Finally, defendants claim that he failed to take into account many key issues when reaching his conclusions.

At this stage of the litigation defendants' motion to strike is largely unnecessary as they have the opportunity to challenge or rebut the opinions presented in Hubel's report. See Fenje v. Feld, 301 F.Supp.2d 781, 789 (N.D.Ill.2003). In any case, Hubel is qualified to present opinions regarding the source code that assist the court in ruling on the preliminary injunction motion. This does not, of course, prevent defendants from seeking to prevent Hubel from testifying should this matter go to trial.

The admissibility of expert testimony is governed by Federal Rule of Evidence 702, and the principles set forth by the Supreme Court in Daubert. Smith v. Ford Motor Co., 215 F.3d 713, 717-18 (7th Cir.2000). Evidence presented by an expert must be both relevant and reliable. Id. at 718, quoting Daubert, 509 U.S. at 589, 113 S.Ct. 2786. The district court serves as a "gatekeeper," determining whether the knowledge is helpful. Id. The simple fact that a witness has never testified as an expert before is not enough to disqualify him. Hecny Transportation, Inc. v. Chu, 2003 WL 21823610, *1 (N.D.Ill.).

While Hubel has significant experience working with database systems and with DB2 in particular, he does not have the same level of expertise in C or C++. Much of his report, however, deals with *694 the interaction between the database administration software and DB2, using the DB2 language SQL, with which he is clearly an expert. It may be extremely difficult to find an expert who is knowledgeable in both sets of languages.[1] Moreover, the report indicates that Hubel has at least some familiarity with C and C++ and that, when necessary, he was able to refer to reasonable sources for assistance. While this approach is not perfect, it allowed Hubel to prepare a report on the source codes that proved helpful to the court.

The methodology used by Hubel in searching for copying was reliable. There does not appear to be any perfect way to compare millions of lines of source codes, especially in a case like this where the plaintiff's claim both literal and non-literal copying of the code. Hubel began by attempting to use software programs to count the number of identical lines in the two codes. He claims that these programs were both over- and under-inclusive and returned results that did not make sense. He then manually compared the source codes, directing his attention to the areas of the program in which CA (and its attorneys) believed copying would be found. These suspicions arose because the code areas in question had been developed by the individual defendants. This is similar to the approach undertaken by defendants' source code expert, who used a software program to isolate some areas of code and them moved on to a manual analysis. While the direction by CA to specific parts of the code is certainly open to criticism by defendants, this goes to weight of the conclusions and does not undermine the overall methodology.

In searching for non-literal copying of the source code, Hubel looked for the functional rules of the EDBA software. He then compared these to the rules used in Quest's products to see if they were the same. While it was not formal, this methodology is essentially that endorsed by the Second Circuit in Computer Associates, Intern., Inc. v. Altai, Inc., 982 F.2d 693, 706-12 (2d Cir.1992). See also Gates Rubber Co. v. Bando Chemical Industries, Ltd., 9 F.3d 823, 834-42 (10th Cir.1993). In Computer Associates, the court approved the use of the "abstraction-filtration-comparison" (AFC) test, whereby non-literal copyright infringement is proven by reducing a computer program to its basic abstract levels, filtering out the functional elements and non-proprietary information, and comparing the remaining elements. While defendants and their experts disagree with his conclusions, this is basically what Hubel did when he broke down EDBA to its basic rules and compared them to those used in the Quest software.

Defendants also criticize Hubel for failing to research trade secret law and certain parts of copyright law before opining that certain parts of EDBA were "useful secrets." Hubel is clear that useful secrets was a term he invented for purposes of his report, and nothing more. His role was to apply his knowledge of DB2 to the facts, and to determine which parts of EDBA made it a desirable software program, and which of these were used by Quest in developing QCDB2. There was no reason for Hubel to put a specific dollar value on this information, only to determine what information can reasonably be considered to be valuable to competitors.

Finally, defendants point to a number of specific, substantive errors in Hubel's report. Some of these result from confusion about Hubel's process. Others *695 are simply typos or mathematical errors that Hubel admitted at his deposition. In any case, his opinion involves the comparison of millions of lines of computer source code. As this litigation is still in the preliminary injunction phase, some errors are inevitable. To the extent that such errors appear in Hubel's report, they go to the weight that we give his evidence rather than to the admissibility.

B. Motion to Strike Hubel's Reply Declaration

Defendants also seek to strike the reply declaration of Hubel that the plaintiff filed in opposition to the original motion to strike. That declaration contains two sections, one detailing Hubel's qualifications and one discussing his methodology. Both of these sections directly respond to arguments raised in defendants' brief in support of their motion to strike and do not represent any effort by the plaintiff to introduce new evidence. That motion is denied.

II. Plaintiff's Motion for a Preliminary Injunction

CA seeks to enjoin defendants from using, selling, licensing, distributing, and/or marketing QCDB2, or any other similar product derived from the EDBA software code, arguing that QCDB2 infringes CA's copyrights and incorporates CA's protectable trade secrets. CA bears the burden of demonstrating that it has a reasonable likelihood of prevailing on the merits of its claim, that it has no adequate remedy at law, and that it will suffer irreparable harm absent an injunction. AM General Corp. v. DaimlerChrysler Corp., 311 F.3d 796, 803-04 (7th Cir.2002). If CA meets those burdens, the court must consider any potential harm to defendants and whether injunctive relief would harm or foster the public interest. Id. at 803-04.

A. Likelihood of Success on the Merits

1. Trade Secret Misappropriation

The Illinois Trade Secrets Act (ITSA) allows the court to issue an injunction in the case of "actual or threatened misappropriation of a trade secret." 765 ILCS 1065/3(a); PepsiCo, Inc. v. Redmond, 54 F.3d 1262, 1267 (7th Cir.1995). In order to prevail, CA must establish that it has a strong likelihood of demonstrating that (1) the source code is a protectable secret under the ITSA, and (2) defendants used the source code in the course of business. Learning Curve Toys, Inc. v. PlayWood Toys, Inc. 342 F.3d 714, 721 (7th Cir.2003). In determining whether something is a trade secret, Illinois courts look to six guidelines: (1) the extent to which the information is known outside of the business; (2) the extent to which the information is known to employees and others within the business; (3) the measures taken to protect the information; (4) the value of the information to competitors; (5) the amount of time, money and effort expended in developing the information; and (6) the ease with which the information could be acquired by others. Id. at 722.

Despite defendants' claims to the contrary, the entire EDBA source code may qualify for trade secret protection. See Unix Systems Laboratories, Inc. v. Berkeley Software Design, Inc., 1993 WL 414720, 27 U.S.P.Q.2d 1721, 1733-34 (D.N.J.1993) ("even if all of the pieces of the 32V code had been thoroughly revealed in the publicly available literature, the overall organization of the code might remain a trade secret unless it too had been disclosed.") There is also no merit to defendants' argument that the specific aspects of the code are not protectable because they were not novel ideas. Though parsers, analysis engines and job schedulers are well known and commonly used in *696 programming, they were not widely used in database administration software. Moreover, the specific versions of these applications as they are used in EDBA are protectable — plaintiff is not attempting to claim intellectual property rights in the generic concepts.

The evidence indicates that these applications, as used by CA and the EDBA source code as a whole, were valuable trade secrets. When IBM released DB2, there was clearly a market for administration software that would be compatible, and the company to release the first software would have a competitive advantage in that market. Because it had already created EDBA, Platinum had resources to take advantage of that that were not widely available to other software producers.

The evidence also shows that Platinum (and then CA) took steps to protect this information from falling into the hands of outsiders. Confidentiality policies were set forth in employee manuals. These policies prevented outsiders from gaining access to source code and limited access to the code within the company. Employees were reminded of these obligations when leaving the company. Access to CA's Oak Brook facility was limited to employees with a security key card. The source code was never distributed with programs or made available to the general public. These procedures demonstrate reasonable efforts to keep the source code secret — all that is required under the ITSA. Learning Curve Toys, 342 F.3d at 725. Moreover, the deposition testimony of defendants indicates that they were aware of the measures taken by plaintiff and knew that the source code material was intended to remain secret. Quest maintains that it explicitly ordered its new employees to honor confidentiality agreements with previous employers.

Defendants manage to point out aspects of plaintiff's procedures that could have been stronger. Employees were allowed to work from home (as they are at Quest); the employee manual was written in a lighthearted manner; and another former Platinum employee may have taken some EDBA source code with him to a new job. Even if this demonstrates some weaknesses in Platinum and CA's confidentiality procedures, the ITSA requires only reasonable measures, not perfection. Learning Curve Toys, 342 F.3d at 725. CA's EDBA source code therefore contains protectable trade secrets under the ITSA.

The evidence also shows that plaintiff has a strong likelihood of proving that defendants misappropriated these trade secrets. The individual defendants were hired by Quest and assigned to tasks that were nearly identical to those they performed while at Platinum. While that in itself may have been permissible, Quest put itself at risk by placing the new employees in situations where the use of protected information was likely. See PepsiCo, 54 F.3d at 1269 ("a plaintiff may prove a claim of trade secret misappropriation by demonstrating that defendant's new employment will inevitably lead him to rely on the plaintiff's trade secrets"); RKI, Inc. v. Grimes, 177 F.Supp.2d 859, 875-76 (N.D.Ill.2001).

The forensic records also show that defendants repeatedly accessed the EDBA source code while developing their program. At the very least, the EDBA code acted as a guide to the defendants and made it easier for them to develop a competing product. This alone, even without actual copying, likely rises to the level of misappropriation. See Affiliated Hospital Products, Inc. v. Baldwin, 57 Ill.App.3d 800, 15 Ill.Dec. 528, 373 N.E.2d 1000, 1006 ("[e]ven accepting their denial of any literal copying of MPL drawings, these drawings aided defendants in the design of *697 Hypomed machinery, if only to demonstrate what pitfalls to avoid"). The forensic analysis shows that defendants went beyond this, attempting to erase files from computers in order to cover up the use of the EDBA code. Again, that behavior by defendants may constitute evidence of misappropriation. See RKI, 177 F.Supp.2d at 875.

Finally, and most importantly, Quest's product bears a strong relationship to CA's. QCDB2 uses a parser, an analysis engine and a job scheduler, all of which are similar to those used by EDBA. These applications, while, again, not novel, do not appear together in the competing software. These similarities exist despite the fact that Quest claims to have developed the QCDB2 source code from scratch. These similarities, combined with the unfettered access of defendants to plaintiff's source code, give strong support to plaintiff's claims of trade secret misappropriation.

2. Copyright Infringement

Federal law gives district courts the power to issue an injunction to prevent or restrain copyright infringement. 17 U.S.C. § 502. CA must prove its ownership of a valid copyright and the copying of original elements by the defendants. Feist Publications, Inc. v. Rural Telephone Service Co., Inc., 499 U.S. 340, 361, 111 S.Ct. 1282, 113 L.Ed.2d 358 (1991).

a. Valid copyrights

CA has registered copyrights in the various versions of the EDBA source code and its components. These registrations are prima facie proof that CA owns valid copyrights. 17 U.S.C. 410(c). Again, defendants argue that CA has no copyright protection for the EDBA code because it contains elements that were created by third parties. Defendants are correct that if plaintiff simply reproduces previously existing material, it has no rights to prevent a third party from doing the same. Here, the EDBA source code admittedly contains some elements that were developed by other parties and that are publicly available. While CA has no right to prevent Quest (or any other software manufacturer) from using these parts of the work that were in the public domain, it may have a perfectly valid copyright in the modifications to that third party code and in the finished product — the complete EDBA source code.

Defendants attempt to characterize plaintiff's claims as similar to those in Qad. Inc. v. ALN Associates, Inc., 974 F.2d 834 (7th Cir.1992), in which the Seventh Circuit affirmed the district court's decision to grant summary judgment for the defendant and dissolve an injunction. In Qad, the court found that the plaintiff was attempting to claim a copyright in a product that was essentially the same as previously existing software. Id. at 838. The court determined that even though the source code was different the fact that the program functions were virtually identical made the plaintiff's program a derivative work. Id. at 838-39. Unlike the plaintiff in qad, CA willingly admits that Platinum used elements of preexisting code in creating EDBA. The use of these elements and the final software product, on the other hand, was an original creation. The fact that EDBA contains previously known source code (even hundreds or thousands of lines) does not prevent CA from protecting its creation.

One publicly available program used in the creation of EDBA was Bison, a program distributed by the Free Software Foundation (FSF). The EDBA code contains a string indicating that it uses "GNU Bison version 1.25." Bison is open source code, meaning that it is distributed by the FSF at no cost. Any user of that code is, however, bound by the terms of the GNU General Public License (GPL). The GPL *698 puts restrictions on the modification and subsequent distribution of freeware programs. Essentially, once the programs are freely released into the public domain, the creators intend for them to stay free. Defendants claim that plaintiff's are violating the GPL by attempting to claim a copyright in a program that contains Bison source code.

Defendants' argument fails because plaintiff is not attempting to claim a copyright in the Bison source code. Instead, the creators of EDBA used the Bison utility program to create the parser source code. While doing so they made modifications to the Bison program to suit the specific task of creating a parser to use in database administration software. The GPL would prevent plaintiff from attempting to claim a copyright in that modified version of Bison. The output of that program (the parser source code), however, is not subject to the restrictions of the GPL — it is the creation of plaintiff. FSF explicitly allowed for such commercial use of the output by adopting the following exception to the GPL:

/* As a special exception, when this file is copied by Bison into a Bison output file, you may use that output file without restriction. This special exception was added by the Free Software Foundation in version 1.24 of Bison */

There is no indication that Mackowiak, or any other Platinum or CA employee, used a version of Bison older than 1.24. Therefore, even though the output lines contain some of the utility source code, CA is free to use the output files without restriction, as allowed by the exception to the GPL.

Defendants' claims of copyright fraud, and/or misuse, are also largely baseless. While plaintiff concedes that it did not list all of the third party software in its copyright applications (only listing previous versions of its own programs), such a disclosure is only necessary when a party uses a substantial amount of a preexisting work. (Copyright Office Circular 61.) Defendants' own expert witness concedes that such third-party work does not constitute more than 4 or 4.5% of the source code. Again, plaintiff's use of these preexisting elements is perfectly acceptable as long as the finished product is an original creation.

Defendants also claim that the date used on the copyright application for EDBA v. 2.2.0 was misleading. Because the effective date of that registration was June 20, 2002, the EDBA code could not have a publication date older than June 20, 1997 (five years earlier), if it was to enjoy the benefit of a presumption of validity. 17 U.S.C. § 410(c). The original application contained only the year 1997, but was later changed to say December 31, 1997. Plaintiff maintains that is was very difficult, if not impossible, to determine the exact date of publication, but that December 31, 1997, is the most accurate date according to the person most knowledgeable. Even if that date is inaccurate, it would only undermine the presumption of validity that plaintiff was entitled to. Moreover, such an error would have no effect on the other registrations that protect the majority of the intellectual property at issue.

Finally, there is nothing to indicate that plaintiff misrepresented its publication of the 1999 code when it confidentially distributed a copy of the work to GAD in May 1999. The Copyright Act defines publication as "the distribution of copies or phonorecords of a work to the public by sale or other transfer of ownership, or by rental, lease, or lending." 17 U.S.C. § 101. It is unlikely that confidentially giving one copy to another company would constitute distribution of the code to the "public." Even if it qualified, this publication of the code would likely only *699 result in a different type of registered copyright ("TX" rather that "TXu"), rather than an invalid copyright. (See Announcement from the Copyright Office — January 1, 1978). There is no reason to believe that the different type of registration would have any effect on this litigation.

b. Copying of original expressions

While the comparisons of the EDBA source code to different versions of the QCDB2 source code are not entirely complete, the evidence gathered so far indicates that plaintiff is likely to prove that defendants copied original parts of the source code. Plaintiff claims that defendants infringed on its exclusive rights to reproduce copies, prepare derivative works and distribute these derivatives to the public. 17 U.S.C. § 106. CA may prove copying by showing that Quest had access to its source code and that QCDB2 is substantially similar to EDBA, or by showing that Quest literally copied the code. Atari Games Corp. v. Nintendo of America Inc., 975 F.2d 832, 837-38 (Fed.Cir.1992).

CA has a strong likelihood of proving literal copying of the source code. First of all, Mackowiak and Bisotti have both admitted to some use of CA's source code in QCDB2. Secondly, while Hubel's comparison of the codes is not perfect, it shows that a large number of lines in the QCDB2 source code are identical to those in EDBA. The parser was the subject of the largest amount of this copying. For example, in the grammar source code of the parser (db2.y files), Hubel estimates that Quest's original code contains about 2897 of CA's 7369 lines. Likewise, he found that Quest's code contains 2626 out of 2791 lines of CA's lexicon source code (db2.1 files). In version 3.0 of WCDB2 (the version currently on the market), approximately 2/3 of those source code lines are still being used. In the job scheduler, Hubel estimates that Quest used 890 identical lines in version 1.0 and that 129 of these lines still remain in the code. Even if these numbers are not exact, they demonstrate repeated use of CA's source code by Quest in QCDB2.

While his estimates differ, Webster (defendants' source code expert) also found many lines in QCDB2 versions 1.0 and 3.0 that were identical to those in the EDBA source code. Defendants claim that these are the result of innocent factors: use of third-party code, technological restraints and common authorship. As stated above, Webster eventually found that only about 4.5% of the EDBA code was third-party code. This does not provide an adequate defense to such a widespread use of CA's code. Likewise, while technological restraints undoubtedly shape the creation of any source code, there are simply too many similarities here to ignore. Both parties concede that similar functions may be expressed in many ways within the same computer language. While the same programmer is likely to write programs in similar ways using his/her previous experience as a guide, there are far too many identical or nearly identical lines appearing in the two source codes (and in the same order) for the similarities to be a coincidence.

Also, many of the comments from EDBA have been copied into QCDB2. These comments are not part of the functional code; they instead act only as a guide to future programmers working with the source code. There would be no reason for two programmers to use the same language, even if expressing similar comments, but that is the case. For example, the source code in db2.y lines 002451-002465 is identical to that in udb.y lines002374-002388. Even creation by the same programmer would not explain the exact replication of these 15 non-functional lines.

*700 Plaintiff is also likely to prove non-literal copying of the EDBA code. As we discussed above, the best way to establish a substantial similarity between computer programs is the AFC test set forth by the courts in Computer Associates and Gates Rubber. This test allows the plaintiff to show that defendants copied protected elements of the source code by removing unprotected and essential programs from the code. While the plaintiff has not formally performed such a test, Hubel's report does attempt to break down the source codes into their functional parts and compare the two codes. For example, EDBA's analysis engine contains a number of "rules" as to how it processes each object. These rules are the fundamental blocks of the analysis engine. Hubel has found similarities in 53 of these rules. Again, even allowing for the fact that these rules are a good way to organize the program and may have been developed independently, this is a substantial amount of similarity between the two programs.

Hubel also found similar functions in the job schedulers of the two programs. He estimated that the first version of QCDB2 contained 8 identical functions in that area, one of which remains in version 3.0. Likewise, in addition to containing many identical lines of code, the parsers in the two programs function in a similar manner. For example, the parser contains a number of "reduction functions" that process certain parts of the SQL statements. After writing these functions, a CA employee created a manual detailing how they operate that eventually fell into Quest's hands. QCDB2, though it does not use identical source codes, uses a similar technique in implementing the reduction functions. These conclusions by Hubel indicate that a formal AFC test is likely to show substantial similarities between EDBA and QCDB2.

3. Summary

It is premature to attempt to detail exactly how much of CA's intellectual property was used by Quest in the creation of QCDB2. The evidence shows, however, that CA is likely to demonstrate that it controlled valuable information relating to the creation of database administration software and, particularly, for administration software for IBM's DB2. Even though they used previously existing ideas, the overall design of the EDBA source code and the parser, analysis engine and job scheduler used in the EDBA, are all likely protectable secrets. They are also likely to show that defendants improperly used this information. Quest and its employees clearly had access to the source code and other related information. Despite its claims of building the code from scratch, the QCDB2 program shares a number of characteristics with the EDBA program. A closer look at the programs shows that QCDB2 contains many source code lines and functions found in EDBA. While many of these similarities may be explained by innocent factors, there are simply too many to be explained away. For those reasons, CA is likely to prevail on the merits of its intellectual property claims.

B. Irreparable Harm/Balance of Harms

There is a presumption of irreparable harm to the plaintiff in cases of trade secret misappropriation and copyright infringement. See ISC-Bunker Ramo Corp. v. Altech. Inc., 765 F.Supp. 1310, 1329 (N.D.Ill.1990). The defendants may rebut this presumption by demonstrating that plaintiff will not suffer any harm if the injunction is not granted. Plaintiff does not need to market a competing product in order to demonstrate irreparable harm. Midway Mfg. Co. v. Artic Intern., Inc., 547 F.Supp. 999, 1014 *701 (N.D.Ill.1982). Platinum and CA expended significant resources in their attempts to create administration software for DB2. It would be nearly impossible to determine the dollar value of Quest's head start in that market. They filed this lawsuit seeking an injunction shortly after receiving credible information indicating that defendants were infringing. If Quest is allowed to continue marketing QCDB2 it will become more difficult for CA to become competitive in the market and make damages even more difficult to assess.

The clean room procedure does not remedy the irreparable harm. First of all, the clean room exercise actually gives credence to plaintiff's arguments that the parser was very difficult to create as it took defendants' teams about a year to write parser code without the help of the EDBA code. Secondly, the clean room exercise only involved the parser, and not other potential infringement by defendants. Finally, the QCDB2 version containing the cleansed source code is not yet on the market. The fact that Quest plans to release such a product does not eliminate the harm suffered from the sales of the infringing product.

The balance of harms is also clearly in favor of plaintiff. Quest has admitted to some use of the EDBA code, and the evidence shows that plaintiff is likely to prove material infringement. The harm to Quest's business and reputation is clearly offset by the irreparable harm it caused to CA through the use of an infringing product.

C. Public Interest

The granting of an injunction is in the public interest. The public is generally interested in upholding intellectual property rights, encouraging creativity and innovation, and rewarding the investment of resources in these pursuits. Moreover, the public is unlikely to suffer any harm from the removal of QCDB2 from the market as there are multiple competing products available to consumers.

III. Objections to the Magistrate's Order

On April 5, 2004, Magistrate Judge Mason ordered defendants to produce certain e-mails and transcribed phone messages, even though he found them to be attorney-client communications. Magistrate Judge Mason found that defendants' trial counsel, Mike Newman, had communicated with the team involved in the clean room exercise attempting to rewrite the parse source code. Defendants now challenge that order, arguing that the magistrate judge improperly found that the communications were "at issue," that he improperly determined that the communications were necessary to evaluate the integrity of the clean room, and that the order was inconsistent with a prior ruling concerning plaintiff's counsel Norm Rich.

Defendants attempt to use the clean room process as a defense to the claims seeking injunctive relief, and as a way to mitigate any harm caused by the copying of CA's source code. The clean room, however, is a valuable exercise only if procedures are followed to make certain that no improper material passes through the walls. Defendants' counsel Newman communicated with the clean room team during their exercise. He also had access to the EDBA source code because of his participation in this litigation. Though we have no reason to believe that Newman actually contaminated the clean room in any way, we agree with Magistrate Judge Mason that plaintiff has the right to inspect the questionable communications. When defendants chose to use the clean room exercise as a defense, they implicitly represented that the clean room's walls were effective.

*702 Defendants argue that this is an improper application of the "at issue" doctrine because that applies only when a party attempts to wield specific privileged communications as a sword, while hiding behind the privilege as a shield. That is essentially what defendants seek to do here by claiming that the clean room process was secure, while also preventing plaintiff from reviewing communications that passed through its walls. While the attorney-client privilege is certainly worthy of protection, we reiterate that Magistrate Judge Mason's order encompasses only conversations from Newman to the clean room team and not those conversations leaving the clean room.

Finally, we find no inconsistencies between the order requiring these disclosures and the order preventing defendants from obtaining conversations between plaintiff and its attorney Rich. Plaintiff did not (either explicitly or implicitly) place any communications at issue by asserting copyright claims. Defendants had every opportunity to review the copyright applications and plaintiff did not rely on any alleged conversations with Rich to help establish their validity.

CONCLUSION

For the foregoing reasons, defendants' motions to strike the testimony of Martin Hubel and to strike Hubel's reply brief are denied and their objections to the magistrate's order are overruled. Plaintiff's motion for a preliminary injunction will be granted upon the submission of an appropriate draft order and bond.

NOTES

[1] For example, while he is not the subject of this motion, defendants' source code expert Bruce Webster, while well-versed in C and C++, has no expertise in SQL.