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 Group, Inc.
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 Sandeep 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 code.
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 subsystem.
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 9 Declaration.
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 operating system.
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 IPC code.
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 following:
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.
Attorneys for Defendant/Counterclaim Plaintiff IBM Corp.