|
Joan Thomas - Declaration of June 23, 2004 |
|
Thursday, January 13 2005 @ 12:50 AM EST
|
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.
Plaintiff/Counterclaim-Defendant,
-against-
INTERNATIONAL BUSINESS
MACHINES CORPORATION,
Defendant/Counterclaim-Plaintiff
Civil No. 2:03CV-0294 DAK
Honorable Dale A. Kimball
Magistrate Judge Brooke C. Wells
1
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
2
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
3
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
4
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
5
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
Austin, Texas
_______[signature]____
Joan Thomas
6
|
|
Authored by: Anonymous on Thursday, January 13 2005 @ 12:54 AM EST |
so they are easy to find [ Reply to This | # ]
|
|
Authored by: Anonymous on Thursday, January 13 2005 @ 12:56 AM EST |
cause off topic has to be somewhere [ Reply to This | # ]
|
|
Authored by: AllParadox on Thursday, January 13 2005 @ 01:35 AM EST |
Main posts in this thread may only be made by senior managers or attorneys for
"The SCO Group". Main posts must use the name and position of the
poster at "The SCO Group". Main posters must post in their official
capacity at "The SCO Group".
Sub-posts will also be allowed from non-"The SCO Group" employees or
attorneys. Sub-posts from persons not connected with "The SCO Group"
must be very polite, address other posters and the main poster with the
honorific "Mr." or "Mrs." or "Ms.", as
appropriate, use correct surnames, not call names or suggest or imply unethical
or illegal conduct by "The SCO Group" or its employees or attorneys.
This thread requires an extremely high standard of conduct and even slightly
marginal posts will be deleted.
PJ says you must be on your very best behavior.
If you want to comment on this thread, please post under "OT"
---
All is paradox: I no longer practice law, so this is just another layman's
opinion. For a Real Legal Opinion, buy one from a licensed Attorney[ Reply to This | # ]
|
|
Authored by: Latesigner on Thursday, January 13 2005 @ 02:20 AM EST |
This after SCO came up with some fantastic figure (was it 25,000 man years?) to
show why they couldn't search their own UNIX code for examples of infringement.
What can a judge do to a plaintiff, and their lawyers, who abuse the court in
this fashion?[ Reply to This | # ]
|
|
Authored by: chris_bloke on Thursday, January 13 2005 @ 02:50 AM EST |
I'm no friend of SCO, but this seems rather odd for a
company that's been in the computing game for as long as
IBM has.
If that's the sad state of source code control in IBM for
AIX then it's a wonder that they ever manage to build it
for
distribution... and to build it for distribution they
certainly must
have an automatic build system for it,
otherwise quality control would
be a nightmare (how else
would you *know* that the same bits of code
you were
building out for this beta were the same as the ones you
did for the last one ?).
As for finding the main C
files for the kernel (not
including the header files) then a good
starting point
would be:
strings /usr/lib/boot/*unix* | grep /src/
They'll be the ones that
start:
../../../../../src/bos/kernel/
User space commands are left as an exercise to the reader
(hint: Drop the
first / from /src/).
The *real* complication (which I
fear is what has been
glossed over in the deposition) would be knowning
all the
correct versions for each of those files for *each* OS
release - if they haven't used some sort of tagging to peg
a revision
of a file to a particular build then they're in
real trouble. I can't
remember if you can do that with
SCCS, it's been about 12 years since I
last used
it.. :-(
But then again I would
have thought that IBM would have
been in this business long enough to
understand such QA
issues as being able to reproduce a particular
release
easily.
Mind you, this could explain
why AIX is so damn wierd -
the old quote:
"It used to be said [...] that AIX looks like one
space
alien discovered Unix, and described it to another
different space alien who then implemented AIX. But their
universal
translators were broken and they'd had to
gesture a lot." --- Paul
Tomblin
Chris
[ Reply to This | # ]
|
- IBM has produced that stuff - that's not what is requested - Authored by: PeteS on Thursday, January 13 2005 @ 03:03 AM EST
- Joan Thomas - Declaration of June 23, 2004 - Authored by: Anonymous on Thursday, January 13 2005 @ 03:10 AM EST
- Joan Thomas - Declaration of June 23, 2004 - Authored by: Anonymous on Thursday, January 13 2005 @ 03:17 AM EST
- SCCS does not provide labels on versions - Authored by: ankylosaurus on Thursday, January 13 2005 @ 03:20 AM EST
- Joan Thomas - Declaration of June 23, 2004 - Authored by: chris_bloke on Thursday, January 13 2005 @ 03:27 AM EST
- Joan Thomas - Declaration of June 23, 2004 - Authored by: Anonymous on Thursday, January 13 2005 @ 06:47 AM EST
- Joan Thomas - Declaration of June 23, 2004 - Authored by: Anonymous on Thursday, January 13 2005 @ 09:54 AM EST
- AIX Packaging - Authored by: Anonymous on Thursday, January 13 2005 @ 04:46 PM EST
- Not quite everything is in CMVC anyway - Authored by: Anonymous on Friday, January 14 2005 @ 12:03 AM EST
|
Authored by: Anonymous on Thursday, January 13 2005 @ 09:36 AM EST |
There is something that I do not agree with on the deposition: almost any decent
SCS I know of (but I do not know the one IBM uses, so caveat emptor) will allow
you to extract a particular branch (meaning a certain revision level).
This is a requirement, since it usually does not help just to edit the source.
you should also re-gen the product -- and this means building it -- compiling,
etc.
So... It is not THAT difficult to isolate a SINGLE branch. This means that the
identification of the files that compose the AIX source -- at THIS SPECIFIC
level -- should not be extremely difficult. And, since the whole idea at this
point is to extract and build the OS, any and all files extracted for the build
are deemed to be part of the required set of files to build the OS (or any of
it's components -- and they are legion on AIX). If you are extracting (for a
build) files that are not part of the product, then something is very wrong in
the setup.
And... this process is usually automated. You only do it manually if (a) you are
stupid; (b) it is a really small product; (c) something went kaputt in the SCS,
and you are trying to salvage what you can.
Of course, there's the other side of the story: the AIX source tree will
probably have thousands of branches, and (most probably) much more than that for
leaves. So... extracting each one of the possible AIX images is going to take
quite a long time, an amazingly large amount of storage space, and will be
almost impossible to be actually used.
Ah well. Perhaps the end result is the same, anyway.
[ Reply to This | # ]
|
|
Authored by: Observer on Thursday, January 13 2005 @ 10:36 AM EST |
Hummm... 40,000,000 pages, if you assume a ream of 500 sheets is about 1.5
inches tall, comes out to a stack of papers something like 10,000 feet
tall.
Hey, no sweat!
--- The Observer [ Reply to This | # ]
|
|
Authored by: ricketts30 on Thursday, January 13 2005 @ 03:18 PM EST |
Maybe SCO thought it would be nice to take a look at all the "methods and
sequences" and trade secrets that AIX/Dynix might contain - maybe they thought
it would help them to develop a better UnixWare/OpenServer product. Correct me
if I'm wrong, but my understanding is that SCO employees (e.g.
programmers) will not be able to look at this AIX / Dynix code.
The
question is "Who is SCO going to get to study all the versions of AIX that
IBM have given them already?"
If SCO have to get an outside
contractor or two perform the analysis (rather than SCO employees) perhaps the
time frame will get even longer than the estimated 25,000 man
years!!
Note : My rates are very reasonable :) [ Reply to This | # ]
|
|
Authored by: Anonymous on Thursday, January 13 2005 @ 04:17 PM EST |
If you can even picture this in your mind, that is:
40,000,000 pages of
paper amounts to 80,000 boxes of copier paper. If I were to pack my house from
floor to ceiling (both floors) with that many reams of paper, I'd need a little
over six houses to house (pun intended) all that paper.
(And judging by the
amount of time it took me to clean out old papers and whatnot the last time I
moved, I can easily see where it might take 30,000 man-years to examine all that
code. :-) )
This isn't merely a fishing expedition but a desire by SCO to
deploy a driftnet with the hope that they'll find something, anything,
that they can twist into a violation. I'm surprised they didn't think of sending
IBM's original notice of alleged contact violation to the wrong address
so they could void the contract on a timeliness issue.
-- RT [ Reply to This | # ]
|
|
|
|
|