Here is the Supplemental Declaration of Sandeep Gupta [PDF] in Support of SCO's Opposition to IBM's Motion to Strike, as text. Our thanks to Loguar for doing the transcribing and HTML.
As you will recall, IBM's Motion to Strike [PDF] asked that certain materials SCO had offered in opposition to IBM's Cross-Motion for Partial Summary Judgment on its 10th Counterclaim, including Mr. Gupta's Declaration, be stricken, for the reason that that Rule 56(f) says you can offer declarations that are expert opinion or you can offer a lay person testifying to facts based on personal knowledge, but according to IBM, Gupta doesn't fit either category:
"Specifically, SCO offers the declarations of three witnesses, Sandeep Gupta, Chris Sontag and John Harrop, consisting almost entirely of testimony not made on personal knowledge and improper opinion testimony. Indeed, SCO does not even attempt to show that these witnesses may properly offer opinion testimony, either because the testimony is 'rationally based on the perception' of the witnesses, Fed. R. Evid. 701, or that the witnesses are 'qualified as experts by knowledge, skill, experience, training, or education' and have applied 'reliable principles and methods' in reaching their conclusions, Fed. R. Evid. 702."
SCO filed its Memorandum in Opposition, and IBM replied. Here, Mr. Gupta defends himself and presents his credentials, in support of SCO's opposition to IBM's Motion to Strike. However, one wonders why, since SCO says in their Memorandum in Opposition that, while he could qualify as an expert, instead he is offering testimony based on personal knowledge, as a lay person, not as an expert.
So Mr. Gupta testifies that code in Unix and Linux is similar, but he is testifying only as a layman. And on the other side, we have the world-renowned Dr. Randall Davis of MIT, who has provided a Declaration testifying that it is his expert opinion that there is no similarity.
This was filed back in September, so this is to bring our archives up to date, but the issue has not yet been decided.
Brent O. Hatch (5715)
Mark F. James (5295)
Mark R. Clements (7172)
HATCH, JAMES & DODGE, PC
[Address, Phone, Fax]
Stephen N. Zack (admitted pro hac vice)
Mark J. Heise (admitted pro hac vice)
David K. Markarian (admitted pro hac vice)
BOIES, SCHILLER & FLEXNER LLP
[Address, Phone, Fax]
Robert Silver, Esq. (admitted pro hac vice)
BOIES, SCHILLER & FLEXNER LLP
[Address, Phone, Fax]
Frederick S. Frei (admitted pro hac vice)
Aldo Noto (admitted pro hac vice)
John K. Harrop (admitted pro hac vice)
ANDREWS KURTH LLP
[Address, Phone, Fax]
Attorneys for The SCO
IN THE UNITED STATES DISTRICT
FOR THE DISTRICT OF UTAH
THE SCO GROUP, INC.,
SANDEEP GUPTA IN SUPPORT OF
SCO'S OPPOSITION TO IBM'S MOTION
Civil No. 2:03CV0294 DAK
Honorable Dale A. Kimball
Magistrate Judge Brooke C. Wells
SUPPLEMENTAL DECLARATION OF SANDEEP GUPTA
1. My name is
Gupta, and I am Vice-President of Engineering of SCO. My office is
located at SCO's offices at 430 Mountain Avenue, Murray Hill, New
Jersey. This Supplemental Declaration is based on my personal knowledge.
2. I submit this
Supplemental Declaration as a supplement to my July 9, 2004
Declaration, which was submitted in support of SCO's Memorandum In
Opposition to Defendant/Counterclaim Plaintiff IBM's Motion for Summary
Judgment on IBM's Tenth Counterclaim.
3. I am informed by
counsel that IBM has moved to strike my July 9, 2004 Declaration for
lack of my personal knowledge and lack of qualifications to address the
matters which I discussed. In addition to the material in my July 9,
2004 Declaration, I set forth herein the personal knowledge and
qualifications for the statements in my July 9, 2004 Declaration.
4. In my July 9
Declaration in support of SCO's Rule 56(f) Motion, I set forth six
instances of Linux code being identical to, or substantially similar
to, UNIX code. I set forth these comparisons because they appear to me,
based on my direct observation of them, to be examples of copied code.
5. As I stated in my
July 9 Declaration, I am not an expert in copyright law and therefore
did not present my six examples as legal proof of copyright
infringement. Rather, I provided the facts of six examples which are
evidence of what I believe is code in Linux that is a copy of UNIX
6. My background in computer
engineering and the computer software industry, upon which I drew in
the code comparison process which formed the basis for my July 9
Declaration, is as follows.
7. I graduated from
Delhi College of Engineering ("DCE") in Delhi, India with a Bachelor of
Science degree in Computer Engineering in 1993. DCE is one of the top
engineering institutes in India with only 20 seats each year in the
Computer Engineering faculty for all Indian candidates. My course work
included courses in Computer System Architecture, Network and
Communications, Compiler Design, Operating Systems, Microprocessors,
Analog Circuits, Computer Software Engineering, Databases and
Programming, Parallel Processors, and a software course in Design of
UNIX Operating Systems. During my senior year I developed networking
software on Xenix, using Ring Topology. This software helped network
the computer department with the Math department on campus and was
completely written in C programming language, which is the programming
language in which UNIX and Linux code is written. My internship was at
the Indian Space and Research Organization where I developed an
algorithm and software for speech synthesis on an ADSP microprocessor.
The software was first written in C programming language and then
translated to the assembly language of the ADSP 2100 processor.
8. Upon graduation, I
was employed for a year by Fujitsu ICIM in India as a computer systems
engineer. I worked in the division involved with research and
development on UNIX System V. My work involved developing device
drivers on UNIX System V for different types of devices like tape
drives and multiport serial cards. These drivers were developed in C
language and x86 assembly language.
9. From 1994 to 1996,
I was employed by ICL in the United Kingdom as a Senior Systems
Engineer working on UNIX System V technology. I wrote C language code
for a number of different drivers and kernel modules for the UNIX
System V-based ICL operating systems on SPARC architecture. Some of the
projects I was involved in were to develop a driver for the ICL LAN
products like DRS-Connect, multithreading of the existing serial
driver, and enhancing the SCSI driver. In 1996, I was presented with
the ICL Excellence Award for my work on porting UnixWare modules on
SPARC architecture. Most of my work at ICL was coding software on UNIX
System V-based code and used C/Assembly languages very extensively.
10. I began working for SCO
in the United States in 1996, and have worked for SCO ever since. I
have held positions of, among others, Lead Engineer for SCO's Division
of ISV Engineering, Lead Engineer for the UnixWare Escalations and
Research Division, Senior Manager of Operating Systems Engineering, and
my current position of Vice-President of Engineering for the SCO
Engineering Division. During this time, I further developed my
Operating System Architect skills and worked with top technical people
in the industry. I developed and read hundreds of thousands of lines of
operating system code written in C/Assembly languages. I spent a
significant amount of time reviewing code developed by other developers
and providing my review comments.
11. My responsibilities at
SCO have included numerous projects on Unixware 7. From 1996 to 1999,
my responsibilities included assisting IBM in its DB2 and SNA Gateway
ports to UnixWare 7, and assisting Oracle, Progress, Computer
Associates, Dialogic, and CA Ingres in their respective ports on or to
UnixWare 7. While working on these projects, I enhanced and "debugged"
code in the UNIX System V dynamic runtime libraries, rtld, debugger and
other applications. I also developed kernel hooks to provide run time
optimization of these applications on SCO operating systems.
12. Projects on which I
worked from 1999 through 2001 include: taking the technical lead for
Escalations support for 24x7 Enterprise customers like Unisys and
Compaq. During this time I enhanced UNIX System V IPC code, developed a
module that could detect kernel memory leaks and corruptions for
UnixWare, and did enhancements to the UNIX System V kernel virtual
13. From 2001 to 2004, my
SCO responsibilities have included leading the development of Unixware
7.1.2 and Unixware 7.1.3 releases and being Senior Manager of
engineering on the support and development of SCO's Linux product line.
I also have worked on the development of Web Services technology on SCO
platforms, and have managed several software code engineering
development sites at SCO.
14. As Vice-President of SCO
Engineering beginning in 2004, my responsibilities include all UNIX
System V technology and engineering, as well as responsibility for the
technological and engineering aspects of SCO products such as
OpenServer, UnixWare product lines based on UNIX System V technology,
an embedded product offering called Smallfoot, SCO Web Services, and
OffiServer. I am responsible for co-coordinating and leading the SCO
development centers in New Jersey, California, Utah, and India.
15. In total, I have worked
with UNIX System V code or related code for eleven years. I developed
code on Xenix for about three years during my education, and have
worked on the Linux operating system for about five years.
16. My knowledge of UNIX
permits me to identify files or features or other pieces of code that
are in most modern commercial operating systems.
17. The six examples of
copied code presented in my July 9 Declaration are instances of
comparable Linux code and UNIX code that SCO assembled by July 9 from
then-current work in the SCO code review/comparison process.
18. In my July 9
Declaration, I point to code comparisons that appear to me to be
examples of Linux code which is a copy of UNIX code. In each instance,
I looked at the code, observed its expression, and noted how the
commands operate. I personally reviewed each line of code in the eleven
Tables that I present in the Declaration and in the Exhibits to my July
19. I conducted this review
relying on years of experience working with software code and with UNIX
code in particular, my knowledge of C language programming, and my
experience with the SCO team working on code comparisons.
20. In Paragraphs 7 and
12-13 of my July 9 Declaration, I note that Read-Copy-Update ("RCU") is
but one of the methods used to synchronize access to shared data in a
multiprocessing environment. That statement is based on my personal
knowledge of methods other than RCU to deal with synchronized access in
computer operating systems.
21. In Paragraph 8 of my
July 9 Declaration, I state that RCU is a very important part of a
modern computer operating system. That statement is based on my years
of experience with computer operating systems and my understanding of
what operating systems optimally must be able to do.
22. In Paragraph 34 of my
July 9 Declaration, I state that user level synchronization ("ULS") is
a very important part of an operating system. That statement is based
on my years of experience with modern computer operating systems and my
understanding of what operating systems optimally must be able to do.
23. In Paragraphs 47-48 of
my July 9 Declaration, I discuss the fact that there are several ways
to implement the blocking and unblocking acts of ULS. Those statements
are based on my personal knowledge of the alternative
blocking/unblocking acts in AIX and my reading of relevant portions of
the Exhibit K article identified in paragraph 48.
24. In Paragraph 62 of
my July 9 Declaration, I explain that the differences between the
expressions of UNIX Inter-Process Communication ("IPC") code and Linux
IPC code are insubstantial. That statement is based on my personal
knowledge of C programming and how computer code commands work in an
25. I also state in
Paragraph 62 that anyone with access to UNIX System V or one of its
derivatives could have had access to the IPC code. That statement is
based on my experience in using UNIX System V and getting access to its
26. In Paragraph 64 of my
July 9 Declaration, I set out how a person can have access to UNIX
System V headers and interfaces. Paragraph 64 is based on my using UNIX
System V to obtain access to header/interface code.
27. My discussion in
Paragraph 74 of the availability of Sys v init code is based on having
read the referenced manual pages and my direct experience with the
releases of UNIX System V in which I accessed init code.
28. In paragraphs 24-29 and
48-49 of my July 9 Declaration, I present information about the access
or potential access to UNIX code that certain persons who worked for
IBM and who worked on Linux may have had. This information is based on
documents that were compiled by members of the SCO team and which I
read and reviewed for inclusion in my July 9 Declaration.
29. I present the
information in paragraphs 24-29 and 48-49 as indication of possible
movement of UNIX code to IBM and thereafter into Linux, and therefore
as discovery leads which SCO needs to pursue if the Court grants SCO a
reasonable opportunity to explore such avenues.
30. To the extent not
already mentioned above, I have read and reviewed the relevant parts of
the Exhibits to my July 9 Declaration.
I delcare under penalty of perjury that the foregoing
Supplemental Declaration of Sandeep Gupta is true and correct.
I HEREBY CERTIFY that I caused a true and correct copy of the
foregoing SUPPLEMENTAL DECLARATION OF SANDEEP GUPTA IN SUPPORT OF SCO'S
OPPOSITION TO IBM'S MOTION TO STRIKE to be mailed by U.S. Mail, first
class postage prepaid, this 7th day of September, 2004, to the
Alan L. Sullivan, Esq.
Todd M. Shaughnessy, Esq.
Snell & Wilmer L.L.P.
Evan R. Chesler, Esq.
Cravath, Swaine & Moore LLP
Donald J. Rosenberg, Esq.
Defendant/Counterclaim Plaintiff IBM Corp.