Oracle Corporation et al v. SAP AG et al

Filing 650

Declaration of Norm Ackermann in Support of 649 MOTION for Partial Summary Judgment filed byOracle International Corporation, Oracle USA Inc.. (Attachments: # 1 Exhibit A, # 2 Exhibit B, # 3 Exhibit C, # 4 Exhibit D, # 5 Exhibit E, # 6 Exhibit F, # 7 Exhibit G, # 8 Exhibit H, # 9 Exhibit I, # 10 Exhibit J, # 11 Exhibit K)(Related document(s) 649 ) (Howard, Geoffrey) (Filed on 3/3/2010)

Download PDF
Oracle Corporation et al v. SAP AG et al Doc. 650 Case4:07-cv-01658-PJH Document650 Filed03/03/10 Page1 of 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 BINGHAM McCUTCHEN LLP DONN P. PICKETT (SBN 72257) GEOFFREY M. HOWARD (SBN 157468) HOLLY A. HOUSE (SBN 136045) ZACHARY J. ALINDER (SBN 209009) BREE HANN (SBN 215695) Three Embarcadero Center San Francisco, CA 94111-4067 Telephone: (415) 393-2000 Facsimile: (415) 393-2286 donn.pickett@bingham.com geoff.howard@bingham.com holly.house@bingham.com zachary.alinder@bingham.com bree.hann@bingham.com DORIAN DALEY (SBN 129049) JENNIFER GLOSS (SBN 154227) 500 Oracle Parkway, M/S 5op7 Redwood City, CA 94070 Telephone: (650) 506-4846 Facsimile: (650) 506-7114 dorian.daley@oracle.com jennifer.gloss@oracle.com Attorneys for Plaintiffs Oracle America, Inc., Oracle International Corporation, Oracle EMEA Limited, and Siebel Systems, Inc. UNITED STATES DISTRICT COURT NORTHERN DISTRICT OF CALIFORNIA OAKLAND DIVISION ORACLE USA, INC., et al., v. Plaintiffs, CASE NO. 07-CV-01658 PJH (EDL) DECLARATION OF NORM ACKERMANN IN SUPPORT OF ORACLE'S MOTION FOR PARTIAL SUMMARY JUDGMENT REDACTED Date: Time: Place: Judge: May 5, 2010 9:00 am 3rd Floor, Courtroom 3 Hon. Phyllis J. Hamilton SAP AG, et al., Defendants. Case No. 07-CV-01658 PJH (EDL) DECLARATION OF NORM ACKERMANN IN SUPPORT OF ORACLE'S MOTION FOR PARTIAL SUMMARY JUDGMENT Dockets.Justia.com Case4:07-cv-01658-PJH Document650 Filed03/03/10 Page2 of 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 I, Norm Ackermann, declare as follows: 1. I am a Senior Principal Applications Systems Designer for Oracle Canada, ULC. I have personal knowledge of the facts set forth in this declaration and would competently testify to them if called upon to do so. 2. I have been an employee of Oracle Canada, ULC, or of its predecessors and related entities, (collectively, "Oracle") since December 1995. In my over 14 years of experience with Oracle, I helped to develop and maintain many versions of PeopleSoft HRMS software, including HRMS 7.0, HRMS 7.5, and HRMS 8.0 SP1. My references below to "PeopleSoft HRMS" and "HRMS" specifically include these three versions. 3. HRMS is a very large and complex application that enables its users to manage human resources data and processes. HRMS resulted from the creative efforts of hundreds of developers, including my own creative efforts. Among other things, it includes user interface code, business logic or workflow code, queries, reports and data storage code. In writing this code, Oracle's developers implemented the overall HRMS program architecture, designed the look and feel of the application, and integrated the querying, reporting, and information storage technologies. Each of these portions of the HRMS architecture was further designed to be updatable and expandable over time, as the scope and functionality of HRMS expanded and as technology continued to evolve. HRMS overall, then, is the result of hundreds of thousands of choices made by hundreds of individual developers, because there are nearly limitless ways to create programs (such as HRMS) that allow users to enter, review and report data. 4. The programs that make up HRMS are also large and complex. Many developers, over time, worked together to implement each report, each user interface screen, each database table, and all of the connections between these items. I have modified the code for many of these items hundreds of times over my career at Oracle; in every case, the modifications that I implemented would likely have been executed differently had some other developer been writing the code. When I and other HRMS developers are adding to or modifying the features and functionality of a particular version of HRMS, we are constantly required to make additional 2 Case No. 07-CV-01658 PJH (EDL) DECLARATION OF NORM ACKERMANN IN SUPPORT OF ORACLE'S MOTION FOR PARTIAL SUMMARY JUDGMENT Case4:07-cv-01658-PJH Document650 Filed03/03/10 Page3 of 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 choices about how to implement those features and functionality. Although we might be given high-level specifications about what features and functionality to add, the choice about how to implement features and functionality in the existing code is ultimately a personal and creative one. 5. As one of the HRMS developers, I am personally familiar with the way Oracle created each new version of HRMS software, starting with version 5.1 and continuing to the present day. To create a new version of HRMS software, Oracle began with a copy of the latest code­source code, database schema and database contents­from the immediately prior version. Thus, Oracle incorporated the software in its entirety (including source code on the file system and code and schema in the database) from the earlier version of HRMS into each subsequent version, with only small portions of that earlier software being modified or replaced. 6. To create HRMS 7.01, Oracle started with a copy of the source code and database (both schema and contents) for HRMS 7.0 and developed an update called HRMS 7.01 Application Update; application of the HRMS 7.01 Application Update to an installation of HRMS 7.0 resulted in HRMS 7.01. To create HRMS 7.02, Oracle started with a copy of the source code and database (both schema and contents) for HRMS 7.01 and developed an update called HRMS 7.02 Application Update; application of the HRMS 7.02 Application Update to an installation of HRMS 7.01 resulted in HRMS 7.02. To create HRMS 7.51, Oracle started with a copy of the source code and database (both schema and contents) for HRMS 7.5 and developed an update called HRMS 7.51 Application Update; application of the HRMS 7.51 Application Update to HRMS 7.5 resulted in HRMS 7.51. I was personally involved in the creation of each of the updates discussed in this paragraph. 7. In the course of developing each of the updates described in the preceding paragraph, only a very small part of the code from the earlier version of HRMS was modified or replaced. In my estimation, and based on my knowledge that Oracle rarely if ever deleted features and functionality from one version of HRMS to another, almost all of the code from HRMS 7.0 is present in HRMS 7.01 and in HRMS 7.02, and almost all of the code from HRMS 7.5 is present in HRMS 7.51. 3 Case No. 07-CV-01658 PJH (EDL) DECLARATION OF NORM ACKERMANN IN SUPPORT OF ORACLE'S MOTION FOR PARTIAL SUMMARY JUDGMENT Case4:07-cv-01658-PJH Document650 Filed03/03/10 Page4 of 9 Case4:07-cv-01658-PJH Document650 Filed03/03/10 Page5 of 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 choices made by hundreds of my Oracle developer colleagues. As a developer, I have created dozens of new online objects. I had innumerable choices for how to name these objects, subject only to a loose naming convention that has evolved over time among HRMS developers. Similarly, on dozens of occasions, I have chosen how to display data to a user, how to connect different display pages and user activities, and how to solve other problems relating to the user interface and database content. 12. The component referred to as a PS_HOME is generally is involved in running and formatting reports, loading data, exporting data, and similar batch or non-interactive tasks. PS_HOME refers to a directory structure created by Oracle developers that includes programs which contain functions, subroutines, and program variables. These programs, functions and subroutines include both source code and comments. In my experience, the names of, relationships between and structures of these programs, functions, subroutines, and program variables all result from the creative choices made by hundreds of my Oracle developer colleagues. As a developer, I have created hundreds of program variables. Each time I introduced a program variable, I had innumerable choices for how to name these program variables, subject only to a loose naming convention that has evolved over time among HRMS developers. In creating or modifying functions and subroutines, I have repeatedly chosen exactly what code to write. I also chose, stylistically, whether to write code in one continuous section or split it into separate sections with named subroutines, and whether and how to set off sections or important programmatic structures with comments. 13. Because developers like me have so much creative license in how to name, structure and present their code, I have observed that individual developers often have their own style. In addition to structural choices like those discussed above, in the database and in the source code, developers have tremendous leeway in their use of comments, whitespace, and names, because these stylistic choices generally do not affect the functioning of the code. I have written hundreds of comments in the code for HRMS to visually organize thousands of lines of code. 5 Case No. 07-CV-01658 PJH (EDL) DECLARATION OF NORM ACKERMANN IN SUPPORT OF ORACLE'S MOTION FOR PARTIAL SUMMARY JUDGMENT Case4:07-cv-01658-PJH Document650 Filed03/03/10 Page6 of 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 14. Although the database and PS_HOME components of HRMS are stored separately (one in a database and one in a directory structure on a computer's file system), both are equally important portions of the PeopleSoft HRMS software, and the program will not function unless both are present. The creative and original content in both components is reproduced when PeopleSoft HRMS software is reproduced, whether by performing a new installation or by copying an existing environment. Copying an existing environment also results in the reproduction of all of the programs that make up HRMS, described in paragraphs 3-4, above, that result from the initial installation. 15. On February 17-22, 2010, I obtained from Oracle's counsel copies of the contents of install CDs for HRMS 7.0, HRMS 7.5 and HRMS 8.0 SP1 that I understand Oracle produced in this matter as ORCL00264031, ORCL00400498, and ORCL00264026, respectively. 16. On February 18, 2010, I obtained three files from Oracle's counsel that were identified as compressed backups from the servers of TomorrowNow, Inc. ("SAP TN"): H702RHIM_20060705_1307, HR751CSS_20070404_0927, and HR810DMO_20050315_1158. 17. In order to illustrate the fact that SAP TN's installations and reproductions of HRMS created copies of HRMS code that had the creative characteristics described above, I compared code from install CDs for HRMS 7.0, HRMS 7.5 and HRMS 8 SP1 to the corresponding code from corresponding SAP TN HRMS environment backups that were provided to me. From each of the Oracle install CDs and each of the SAP TN backups, I extracted three files with which I am personally familiar: PER002.SQR, which creates a report listing employee birthdays; PSPCPCAL.CBL, which is used in calculating Canadian payroll; and, PSPFNDSE.CBL, which is used in retrieving information about "special earnings," which are data structures that handle different combinations of earnings. A list of the file paths for each file that I extracted is attached as Appendix A. 18. I compared the three files from the install CD for HRMS 7.0 to the three files from H702RHIM_20060705_1307, the three files from the install CD for HRMS 7.5 to the three files from HR751CSS_20070404_0927, and the three files from the install CD for HRMS 8.0 SP1 to the three files from HR810DMO_20050315_1158. My observations are attached as 6 Case No. 07-CV-01658 PJH (EDL) DECLARATION OF NORM ACKERMANN IN SUPPORT OF ORACLE'S MOTION FOR PARTIAL SUMMARY JUDGMENT Case4:07-cv-01658-PJH Document650 Filed03/03/10 Page7 of 9 Case4:07-cv-01658-PJH Document650 Filed03/03/10 Page8 of 9 Case4:07-cv-01658-PJH Document650 Filed03/03/10 Page9 of 9

Disclaimer: Justia Dockets & Filings provides public litigation records from the federal appellate and district courts. These filings and docket sheets should not be considered findings of fact or liability, nor do they necessarily reflect the view of Justia.


Why Is My Information Online?