Here is another of the paper exhibits, finally scanned and transcribed. By finally, I mean me. It's the June 23, 2004 Declaration of Joan Thomas, [PDF] in which she explains just how burdensome SCO's discovery request really is by describing how CMVC works. She walks the judge step by step through the process IBM would have to follow to provide all that SCO is asking for.
She estimates that the materials requested by SCO as additional discovery amount to "the equivalent of billions of lines of source code and at least ten million pages of paper." Later in the declaration, there is an estimate of 40 million pages of paper for another step in the process. It would take months to gather it all, she tells the court. And that's just the code. SCO is also asking for whitepapers, programmers' notes, and design documents. Of course, if you are not in any hurry, and SCO appears not to be, why not ask for billions of lines of code and millions of pages in discovery?
She tells us that there is no Dynix code in CMVC. More significantly, there isn't any revision control information for AIX source code pre-dating 1991. So, if the whole point of SCO's request is to trace the complete line going back to the very beginning to prove their stairstep theory, they can't do it this way anyway. This declaration was attached to IBM's Response to SCO's Memorandum Regarding Discovery as Exhibit A. It was responding to SCO's Memorandum Re Discovery.
There is a second Declaration of Joan Thomas, just so you don't get confused.
SNELL & WILMER, L.L.P.
Alan L. Sullivan (3152)
Todd M. Shaughnessy (6651)
[address, phone, fax]
CRAVATH, SWAINE & MOORE LLP
Evan R. Chesler (admitted pro hac vice)
David R. Marriott (7572)
[address, phone, fax]
Attorneys for Defendant/Counterclaim-Plaintiff
International Business Machines Corporation
IN THE UNITED STATES DISTRICT COURT
FOR THE DISTRICT OF UTAH
THE SCO GROUP, INC.
Civil No. 2:03CV-0294 DAK
Honorable Dale A. Kimball
Magistrate Judge Brooke C. Wells
DECLARATION OF JOAN THOMAS
I, Joan Thomas, declare as follow:
1. I am employed by International Business Machines Corporation ("IBM"), as Program Director, AIX and HPC Program Management and pSeries Software Development Operations.
2. This declaration is submitted in connection with the lawsuit brought by The SCO Group, Inc. ("SCO") against IBM, entitled The SCO Group, Inc. v. International Business Machines Corporation, Civil No. 2:03CV-0294 DAK (D. Utah 2003). I make this declaration based upon personal knowledge.
3. I have read SCO's "Memorandum Regarding Discovery" and am familiar with the scope of the additional discovery that SCO seeks from IBM relating to AIX and Dynix. As I illustrate herein, the material sought by SCO is massive by almost any standard, and it would be an enormous burden for IBM to produce it. I estimate that the materials requested amount to the equivalent of billions of lines of source code and at least ten million pages of paper. It would take months for us to prepare this information for production and it could be produced only at the expense of significant time, money and energy.
4. Contrary to SCO's suggestion, it would not be a simple matter for IBM to produce the materials SCO seeks. Those materials are not all contained in a single or even a few places. Moreover, they cannot easily be retrieved from the locations in which they are found. Producing the materials requested would require
the concentrated efforts of a team of persons over a lengthy period of time and require searches of the files of the hundreds of persons who worked on the development of AIX over the course of several decades.
5. Configuration Management Version Control ("CMVC") is the source code revision system currently used by IBM's AIX development organization, as well as by many other areas inside of IBM. CMVC has been used in AIX development since 1991. IBM does not maintain revision control information for AIX source code prior to 1991. CMVC does not contain any Dynix code.
6. CMVC provides shared access to source code files used in the development of the AIX operating system, allows IBM to keep track of changes that are made to source code files, and ensures that the files are available for viewing or updating only by those with the proper authorization. When an authorized user "checks out" a source code file from CMVC in order to work on the file, and then "checks in" the file back into CMVC, CMVC keeps track of the changes that were made to the file. CMVC keeps track of the changes that are made to each of the hundreds of thousands of source code files, whether or not those changes actually end up in a version or release of the AIX operating system.
7. The particular CMVC server at IBM that contains source code for the AIX family also contains a large amount of material unrelated to the AIX operating system. First, it contains source code for hundreds of products other than the AIX operating system. Second, in addition to source code, CMVC contains documentation for both the AIX operating system and for products other than the AIX operating system.
8. The source code that is part of the AIX operating system is not segregated in a single location within CMVC, but rather requires extraction from the tens
of thousands of other source code files that are not part of the AIX operating system. Identifying which files are part of the AIX operating system and which files are not requires a thorough and painstaking review of the CMVC database by persons who are intimately knowledgeable about the AIX operating system.
9. Isolating and producing all of the AIX operating system source code that is stored on CMVC would not be a simple task. The opposite is true. First, an engineer would have to go through the CMVC server that includes the AIX operating system -- which, again, contains a large amount of code other than the AIX operating system -- and identify each of the "components" that are part of the AIX operating system. Second, a script -- a small computer program -- would have to be written in order to map those components to specific files, estimated to be in the hundreds of thousands. Third, one or more knowledgeable persons would have to confirm that the source files identified by the script are in fact part of the AIX operating system. Fourth, the list of source file names and identifiers would have to be correlated to their corresponding Source Code Control System ("SCCS") files. Each of these hundreds of thousands of SCCS files provides the complete file development history since 1991 for the particular corresponding source code file in the AIX operating system. As noted above, IBM no longer maintains revision control information for AIX source code pre-dating 1991. Finally, those SCCS files would have to be extracted from the database, and transferred to an appropriate storage medium.
10. I estimate that the SCCS source code files extracted from CMVC would consist of at least approximately two billion lines of code or the rough equivalent of more than 40 million pages of paper. I arrive at this estimate based on the expected
size of the SCCS files (40 gigabytes). Since we have not actually undertaken the work effort of extracting these SCCS files, it is impossible to state with precision in advance the quantity of code involved.
11. It would take many weeks of effort to complete the task of identifying and extracting from CMVC all of the SCCS source code files that are part of the AIX operating system and to transfer that information onto industry-standard data tapes. This is the format that IBM uses to provide source code to original equipment manufacturers and software vendors and is easily readable using standard data tape drives. Copying the source code files onto CDs or DVDs instead -- which hold far less data -- would entail many additional weeks of work, once the effort of identifying and extracting the AIX operating system source code files from CMVC were complete.
12. Gathering and reviewing for production the design documents, whitepapers and programming notes requested by SCO would be a similarly burdensome task. There is no single location at IBM that contains all design documents, whitepapers, and programming notes for AIX. There are some design documents and programming notes stored on CMVC, and gathering and reviewing those for production would, as with the AIX source code, require sifting through large amounts of other unrelated material that is stored on CMVC. For example, I estimate that there are probably at least ten million pages of programming notes relating to AIX stored on the CMVC server.
13. In addition, to collect whitepapers, design documents, and programming notes relating to the areas of AIX functionality identified by SCO, IBM may have to identify, collect, and review documents from each of the several hundred
people who ever worked on AIX marketing, product management and development, as well as search any relevant IBM repositories, archives, or web sites.
14. SCO's request for whitepapers, design documents, and programming notes is estimated to require collecting, reviewing, and producing many millions of pages of documents, a process that would take at least several additional months to complete.
15. I declare under penalty of perjury that the foregoing is true and correct.
Executed: June 23, 2004