This is SCO attorney Brent Hatch's letter of April 19, 2004 to IBM attorney Todd Shaughnessy. It is Exhibit 28, attached to the latter's Declaration of Todd Shaughnessy filed in support of IBM's Cross-Motion for Partial Summary Judgment on its Claim for Declaratory Judgment of Noninfringement. Thanks go to Chris Brewer once again for transcribing this for us. He's really been on a roll.
Here we find SCO building up their excuses for asking for more AIX code from IBM. It seems they can't find what they need to prove their case against IBM unless IBM helps them, but don't take my word for it. Here's how Robert McMillan on ComputerWorld phrased it:
"After reviewing Unix source code provided by IBM, The SCO Group appears to be experiencing difficulties in identifying the specific lines of code that it alleges IBM improperly contributed to the Linux operating system. . ."
McMillan has always had a gift for saying complex things in a small space. Now I see he has mastery over understatement, as well.
After all the song and dance, this letter from SCO to IBM tells the tale, then. Nobody in the Linux kernel chain failed to notice some unknown hacker inserting stolen code. That was so much FUD, and I do mean so much.
Remember the MIT deep divers and their alleged discoveries of criminal copying Darl told us about back when? Here's what he told us a year ago:
"I think this business of not having intellectual-property protection or in fact even having a system set up to be able to police intellectual-property violations coming into Linux, that's the part that's really going to the jury right now. . . .
"So we turned a group of programmers loose--we had three teams from different disciplines busting down the code base, the different code bases of System 5, AIX and Linux. And it was in that process of going through the deep dive of what exactly is in all of these code bases that we came up with these more substantial problems. . . .
"And as we dug deeper, we found that we did have significant violations going on with respect to their version of Unix they had licensed from us. . . .
"When we take a top-tier view of the amount of code showing up inside of Linux today that is either directly related to our Unix System 5 that we directly own or is related to one of our flavors of Unix that we have derivative works rights over--we don't necessarily own those flavors, but we have control rights over how that information gets disseminated--the amount is substantial. We're not talking about just lines of code; we're talking about entire programs. We're talking about hundred of thousands of lines of code. . . .
"We're talking about line-by-line code copying. That includes not just the function but the exact, word-for-word lines of code. And the developer comments are exactly, 100 percent the same. The developer comments really get to the DNA of the code. It's one thing to have something look the same, but when the developer comments are exactly the same, that tells you everything you need to know that this is in fact lifted, that it has been copied and pasted from Unix into Linux."
Remember all that? Not now. Seems they can't find for the court what the MIT guys allegedly said they found. Actually, I gather they can't find the MIT guys either, who must have disappeared into the depths or had a clarifying conversation with SCO or an attack of conscience or something. Anyway, SCO can't seem to present that "evidence" to the judge. What they do present, as you will see by particularly their Exhibit G, is causing peals of laughter, because it includes in their list code that isn't in the Linux kernel and never was. Perhaps the MIT materials will show up later, in which case SCO can hardly deny following the Blepp strategy of gradual revelation of evidence.
Instead, SCO is now claiming the entirety of AIX and Dynix/ptx is theirs to control, stating their view that "the entirety of UNIX System V licensed to IBM and Sequent are the lines from which IBM's contributions of AIX and Dynix/ptx are derived." Not thousands of lines. Not millions. Not whole programs. No, it's the whole kit and kaboodle. Who'd a thunk it?
It's their expansive definition of what constitutes derivative code at issue here. That is a far cry from what they announced to the world from the rooftops a year ago, and it is mighty plain now that there was no breakdown on code verification on Linus' part. Nobody failed to sign off on any code. IBM thought it had the right to donate that code, and they so represented. They still think they have the right. In what way does that reflect on Linux?
SCO told us that this was about code from JFS, NUMA etc., but really there is nothing about that code any different from any other line of code donated to Linux by IBM, as far as SCO is concerned. What it turns out SCO is really claiming is that IBM cannot properly contribute code from AIX or Dynix -- even, as IBM lawyer David Marriott phrased at one hearing, "if it is its own home-grown code, if it ever at some point in time touched the AIX or Dynix operating system":
"The AIX work as a whole and the Dynix/ptx work as a whole are modifications of, or are derived from System V, including, but not limited to, the parts that have been identified previously as having been improperly contributed to Linux."
So there you have it, ladies and gentlemen. A contract dispute. Not a failure to police the Linux kernel. Not a breakdown in vigilance or inability to know where code comes from. A garden-variety contract dispute, based on SCO's new interpretation of some old contracts they didn't write or sign themselves. I guess you can't call press conferences about a contract dispute. Who'd care enough to show up? But if you smear Linux, and attack Linus, you not only find more people show up, your stock will temporarily shoot up to the moon, and like-minded souls can sell books galore all about Linus not being the real father of Linux and other fantasies.
Unfortunately for SCO, this argument has a pretty big hole in it. Well. It has several, but let's talk about JFS. Take a look at this 2001 interview with IBM employee Steve Best. This interview predates the acceptance into the kernel of JFS from IBM, one of the high-end pieces of code SCO was (and technically still is) beefing about. Note that in the interview, Best states in black and white that JFS isn't AIX code at all. The JFS that IBM donated to Linux comes from OS/2, not AIX, he says. IBM then later ported it to AIX also:
"3. What are the differences between the Linux version of JFS and the one found on OS/2?
"Steve Best: The JFS for Linux is a port from OS/2 and has an OS/2 compatibility option. The OS/2 source was also used for the JFS2 just release on AIX 5L. There is a JFS1 on AIX and we didn't use this source base, since the OS/2 source base was a new "ground-up" scalable design started in 1995. The design goals were to use the proven Journaling File System technology that we had developed for 10+ years in AIX and expand on that in the following areas: Performance, Robustness, and SMP support. Some of the team members for the original JFS designed/developed this File System. So this source base for JFS for Linux is now on the following other Operating Systems:OS/2 Warp Server for e-business 4/99 OS/2 Warp Client (fixpack 10/00) AIX 5L called JFS2 4/01"
As for SCO's claims on ELF, here's something for them, an old email from a Novell employee in 1994, when even SCO would acknowledge that Novell "owned" UNIX, saying that Novell had already placed ELF in the public domain:
From: firstname.lastname@example.org (George F Demarest)
Subject: Re: New Suggestion: Trade-up, UnixWare => Linux
Date: 31 Oct 1994 22:37:42 GMT
: I'll be testing the new Linux kernel with the ELF Oracle : binaries soon ... it's the only thing keeping us from : converting.
I'd like to point out here, that until Novell placed ELF in the public domain, this would not have been possible. There will be some other interesting announcements in this vein in the coming months.
Maybe like me you are not a programmer and you don't know what ELF is. Here is a description from the manual, "Tool Interface Standard (TIS) Executable and Linking Format (ELF) -- Specification Version 1.2":
"About ELF: Executable and Linking Format The Executable and Linking Format was originally developed and published by UNIX System Laboratories (USL) as part of the Application Binary Interface (ABI). The Tool Interface Standards committee (TIS) has selected the evolving ELF standard as a portable object file format that works on 32-bit Intel Architecture environments for a variety of operating systems. The ELF standard is intended to streamline software development by providing developers with a set of binary interface definitions that extend across multiple operating environments. This should reduce the number of different interface implementations, thereby reducing the need for recoding and recompiling code.
"About This Document This document is intended for developers who are creating object or executable files on various 32-bit environment operating systems. In order to extend ELF into different operating systems, the current ELF version 1.2 document has been reorganized based on operating system-specific information. It is divided into the following three books:• Book I: Executable and Linking Format, describes the object file format called ELF. This book also contains an appendix that describes historical references and lists processor and operating system reserved names and words.
• Book II: Processor Specific (Intel Achitecture), conveys hardware-specific ELF information, such as Intel Architecture information.
• Book III: Operating System Specific, describes ELF information that is operating system dependent, such as System V Release 4 information.
"This book also contains an appendix that describes ELF information that is both operating system and processor dependent."
So ELF is a public standard, specifically intended for everyone and anyone to be able to use. The disclaimer page states this:
"The TIS Committee grants you a non-exclusive, worldwide, royalty-free license to use the information disclosed in this Specification to make your software TIS-compliant; no other license, express or implied, is granted or intended hereby."
SCO has another problem. Yes, let me count the ways. They argue that AIX can be proven to be a derivative because of this:
"The AIX operating system, in its entirety, was either a derivative work based on or a modification of UNIX System V Release 3.2, which includes the following: kernel, interfaces, system calls, libraries, commands and architectural structure and sequence as licensed to IBM. As such, no feature of the AIX operating system will operate or retain necessary functionality in AIX independent from UNIX System V base-level functionality required by that feature. Therefore, as noted above, the entire AIX operating system is either based on, or is a modification of, UNIX System V Release 3.2, and IBM's contributions from the AIX operating system to Linux are in their entirety derivative works based on, or modifications of UNIX System V."
However, all the code they are upset about runs perfectly well on Linux, which has no "UNIX System V base-level functionality required by that feature." And of course, JFS worked fine on OS/2 prior to arriving at AIX.
I actually could go on, but I'll save some for the exhibits, which will be up soon. The PDFs are already available, listed in the Shaughnessy Declaration linked to above. With that introduction, here is SCO's letter.
HATCH, JAMES & DODGE
A PROFESSIONAL CORPORATION
Todd Shaughnessy, Esq.
SNELL & WILMER, LLP
Re: SCO v. IBM
Accompanying this letter is the Declaration of Chris Sontag evincing SCO's compliance with the Order of Magistrate Judge Wells entered on March 3, 2004 ("Order"). We have also provided IBM under separate cover with numerous CD's and other materials relevant to its discovery requests. Also enclosed at Exhibits A through G are the additional information specified under items 2 through 5 of the Order.
1. SCO has fully complied with the Court's order of December 12, 2003 as clarified and extended by the Court's order of March 3, 2004. In particular, SCO has produced all non-privileged documents IBM has requested in its First and Second Requests for Production that SCO had difficulty in obtaining prior to the January 12, 2004, deadline, including but not limited to those items further requested in IBM's letter dated January 30, 2004.1 A source log identifying the supplemental production is attached hereto as Exhibit A.
2. SCO, based on the information currently available, has identified all specific lines of code that it can currently identify that IBM contributed to Linux from AIX and Dynix/ptx. In addition to the information previously provided in SCO's supplemental answers to interrogatories, SCO has identified additional lines of code in Exhibits B and C. In compliance with the Court's order, these lists are lines or files of code that SCO can identify at this time. These new files represent over 21,000 lines of code. However, based upon the fact that IBM produced the source code in a different format than requested (indeed, a different format than either side had previously produced source code), SCO was able to begin its review of the limited source code provided only recently and therefore is continuing to identify specific lines and expects to find additional files and lines of code, as contemplated by the Court's Order. Moreover, because the source code selected by IBM for production was random snapshots of such code and did not come with programmers' notes, design documents and change logs, SCO will be filing a memorandum detailing the need to obtain a complete production from IBM to further respond to this item, as suggested by the Court's Order. Upon receipt of all necessary materials, SCO expects it will be adding further examples to this list.
In addition, although in Table A of SCO's 70-page January response SCO noted that entire files were copied almost verbatim from Dynix/ptx into Linux, which made the identification of specific lines redundant and unnecessary, SCO nonetheless has specifically identified for IBM those lines of code contributed by IBM from Dynix/ptx in Exhibit D.
3. SCO, based on the information currently available, has attempted to identify the specific lines of code from UNIX System V from which IBM'S contributions from AIX and Dynix/ptx were derived. SCO's ability to respond to this item, however, has been and continues to be severely impaired. First, in the absence of having every version of the AIX and Dynix/ptx code it is difficult if not impossible, to answer this question in full detail. IBM, however, refuses to provide all versions of the AIX and Dynix/ptx code. Second, IBM first provided AIX in a usable format only on March 25, 2004, so there has been limited time to undertake such code comparisons. Third, this is an extremely time consuming process and three weeks is an insufficient mount of time to provide more detailed information.
Notwithstanding the foregoing, as an initial matter, this Item 3 can be responded to by noting that each version of AIX and each version of Dynix/ptx are modifications or derivative works based on UNIX System V. The AIX work as a whole and the Dynix/ptx work as a whole are modifications of, or are derived from System V, including, but not limited to, the parts that have been identified previously as having been improperly contributed to Linux.
The AIX operating system, in its entirety, was either a derivative work based on or a modification of UNIX System V Release 3.2, which includes the following: kernel, interfaces, system calls, libraries, commands and architectural structure and sequence as licensed to IBM. As such, no feature of the AIX operating system will operate or retain necessary functionality in AIX independent from UNIX System V base-level functionality required by that feature. Therefore, as noted above, the entire AIX operating system is either based on, or is a modification of, UNIX System V Release 3.2, and IBM's contributions from the AIX operating system to Linux are in their entirety derivative works based on, or modifications of UNIX System V.
Similarly, the Dynix/ptx operating system, in its entirety was either a derivative work based on or a modification of UNIX System V Release 4.2 ES/MP, which includes the following: kernel, interface, system calls, libraries, commands and architectural structure and sequence as licensed to Sequent. As such, no feature of the Dynix/ptx operating system will operate or retain necessary functionality in Dynix/ptx independent from UNIX System V base-level functionality required by that feature, particularly as it relates to multi-processor functions such as RCU and NUMA. Therefore, as noted above, the entire Dynix/ptx operating system is either based on, or is a modification of, UNIX System V Release 4.2ES/MP, and IBM's contributions from the Dynix/ptx operating system to Linux are in their entirety derivative works based on, or modifications of UNIX System V.
Based on the forgoing, the entirety of UNIX System V licensed to IBM and Sequent are the lines from which IBM's contributions of AIX and Dynix/ptx are derived.
In addition to identifying the entirety of UNIX System V as the specific lines of code from which IBM's contributions from AIX or Dynix/ptx are derived, SCO has undertaken the task of identifying the specific lines of UNIX System V found in the selected versions of AIX and Dynix/ptx provided by IBM. By doing so, however, SCO does not in any way admit the relevancy of such information. In fact, SCO steadfastly maintains that this item is not relevant to this litigation nor is it likely to lead to the discovery of admissible evidence. The main issue in this case is whether IBM has breached its contract with SCO because it contributed or otherwise disposed of a part of AIX or Dynix/ptx to others in contravention of the terms of the license agreement. Subject to these forgoing limitations, SCO has identified the lines of UNIX System V from which AIX and Dynix/ptx are derived in Exhibits E and F.
4. SCO, based on the information currently available, has identified all lines of code in Linux in which it claims rights. In addition to the information previously provided in SCO's supplemental answers to interrogatories, SCO has identified additional lines or files of code in which SCO claims rights in Exhibit G. These files comprise an additional approximately 240,000 lines of code.
5. SCO has identified the lines of code that SCO distributed to third parties. In addition to the information previously provided in SCO's supplemental answers to interrogatories, which is incorporated herein, SCO has identified to whom this additional code was released, the date and under what circumstances such code was released. This information is contained in Exhibit G and the spreadsheets found at Bates Numbers 1508045 to 1512471, which identify specifically to whom the code was released, the date and under what circumstances such code was released.
Brent O. Hatch
1. The review of privileged documents continues and, to the extent portions of those documents are subsequently determined not to be privileged and otherwise responsive, they will be produced.