Someone sent me a copy of Caldera's OpenLinux Lite 1.1, copyrighted 1997. We earlier looked at that version in an earlier article about ELF, but now I had my own copy to play with. Back then, according to the cover, Caldera was still located in Provo, Utah, not Lindon. So this is history. But it's relevant history, as I'll show you, relevant in particular to SCO v. IBM but also to the AutoZone case perhaps and hopefully to any future escapades SCO might be dreaming up.
Someone else had long ago sent me the Partner CD SCO distributed at SCOforum 2004, and right after I was looking through OpenLinux Lite, I dug it out and was looking at it again, and I noticed on the SCOforum CD the slides Chris Sontag showed during his keynote talk giving the audience an update on the IP litigation as SCO saw it back then. It's quite amusing to see how he pitched it -- as success after success -- given how it's turned out so far. But one slide hit me in a way that it never did before, probably because I had just looked at the list of everything distributed as source in OpenLinux Lite. As one example of copying, on
slide 24, Sontag listed in connection with the IBM litigation allegedly infringed SYS V init code:
(ii) copying of UNIX System V init (SYS V init) code in Linux version 2.6
SYS V init? But I had just seen it on the list in the SRPMS list in Caldera's Open Linux Lite. Unless there is something very particular about the version of SYS V init in a distro that includes the Linux 2.6 kernel, something seems fishy in Lindon. Groklaw has thoroughly rebutted SCO's claims about ELF, I think, for example in Frank Sorenson's A Closer Look at the ABI Files, also in A Tall Tale About ELF and "PATCH: ELF registry now at Caldera" in 2002 & LKP and GNU Tools. We even showed ELF inside OpenLinux Lite 1.1 in that earlier article. I made a list once of all our ELF articles, but I couldn't find it for this article, but there have been a lot, and in my view, we've wrestled that ELF claim to the mat and held it down long enough to be declared the winner. But we've never addressed SYS V init directly. Let's get started now.
SCO's claims regarding SYS V init
So I started to look back at SCO's claims. For some reason, I just never noticed it before, but now I find SYS V init all over the place in the SCO v. IBM litigation.
Back in 2004, John Harrop's Declaration mentioned SYS V init -- not that I noticed at the time -- back when SCO was hounding the court for more discovery. Here's why they said they needed to dig more and more:
Comparison of Source Code
Sandeep Gupta also implicated SYS V init in his Redacted Declaration of July 2, 2004:
72. In addition to the foregoing, SCO reasonably expects that further comparisons of source code will permit SCO to present evidence in opposition to IBM’s Tenth Counterclaim. Examples of facts from discovery to date that show copying of material from UNIX into Linux include (i) substantial similarity of the Read-Copy-Update (“RCU”) routine in Linux to a routine in UNIX; (ii) copying of UNIX System V init (SYS V init) code in Linux version 2.6; (iii) substantial similarity of the user level synchronization (ULS) routines in Linux and similar routines in UNIX; (iv) copying of SCO’s UNIX System V IPC code in Linux 2.4.20; (v) copying of SCO’s copyrighted UNIX “header and interfaces” in Linux; and (vi) copying of SCO’s UNIX Executable and Linking Format (ELF) codes in Linux. (Gupta Decl. ¶¶ 3-86.) The foregoing evidence demonstrates copying from UNIX into Linux -- and is probative even if SCO is not seeking to assert copyright in the foregoing material. SCO has not retained a testifying expert on copyright issues; SCO has filed only a relatively narrow copyright claim in this action and did so only in February 2004. Such an expert would testify to the relative importance of the foregoing materials in Linux.
3. In this declaration, I will explain why I believe that several routines and several groupings of code for which SCO has copyright protection were copied into the Linux operating system. Specifically, this declaration will (1) describe how the Read-Copy-Update routine in Linux is substantially similar to a routine in UNIX; (2) describe how the user level synchronization (ULS) routines in Linux are substantially similar to routines in UNIX; (3) describe how Linux version 2.4.20 contains code that is either an identical or substantially similar copy of SCO's UNIX System V IPC code; (4) identify identical and substantially similar copying of SCO's copyrighted UNIX "header and interfaces" in Linux; (5) describe how Linux version 2.6 contains code that is an identical copy of SCO's UNIX System V init (SYS V init) code; and (6) identify identical copying of SCO's UNIX Executable and Linking Format (ELF) code in Linux.
SCO's Memorandum In Opposition to Defendant International Business Machines' Motion for Summary Judgment of Non-Infringement also referenced Gupta's language and particularized code in Linux 2.6 it alleged was copied from UNIX SMP 4.2 System V initialization code:
The declaration will discuss these topics of copyright infringement in the order just described. Although I am not an expert in copyright law, I believe these topics either show copying of code or raise significant factual issues that need to be explored further.
Comparison of Source Code
In Brian W. Kernighan's Unsealed Declaration, he responded to the Gupta claims about SYS V init:
In addition to the foregoing, SCO reasonably expects that further comparisons of source code will permit SCO to present evidence that creates genuine issues of material fact regarding IBM's Tenth Counterclaim. Examples of facts from discovery to date that show copying of material from UNIX into Linux include (i) copying of SCO's UNIX Executable and Linking Format (ELF) codes in Linux; (ii) substantial similarity in the Read-Copy-Update ("RCU") routine in Linux version 2.6.5 and in patches to Linux and the RCU version in SCO's copyrighted work, specifically UNIX SVR4.2 MP; (iii) copying of UNIX SMP 4.2 System V initialization (SYS V init) code in Linux version 2.6; (iv) substantial similarity in the user level synchronization (ULS) routines in Linux and similar routines in UNIX; (v) copying of SCO's UNIX System V IPC code in Linux 2.4.20; and (vi) copying of SCO's copyrighted UNIX "header and interfaces" in Linux. Gupta Aff. ¶¶ 3-86.
24. Mr. Gupta's claims for "certain UNIX System V headers and interfaces" (¶¶ 63-72) and "SYS V init code" (¶¶ 73-76) concern code that is not found in the Linux kernel.... That code is therefore outside what I understand to be the scope of the IBM Counterclaim at issue. Mr. Gupta's claims as to this code nevertheless suffer from the defects described above: a failure to filter non-protectable material and an inappropriate standard of similarity. So we're not talking about kernel code here, just to be clear. SCO never found anything there to shake a stick at. SCO is talking about glue code, interfaces and headers and stuff that helps a computer to find things and know where to go to get it and make it work with other stuff. According to Kernighan, it's insignificant. There's the other issue too that SCO doesn't own the copyrights it claimed back then to own, but since SCO is appealing that court ruling, it's still worth it to track all this carefully.
25. Each of these six regions involves only elements that are unprotectable and/or dissimilar, as is demonstrated in detail in Exhibits II through VII.
26. Putting aside the errors in Mr. Gupta's methodology, the code he identifies as infringing does not constitute a substantial part of the allegedly copyrighted works. SCO purports to hold copyrights in several versions of Unix System V source code, which over the years have ranged in size from several hundred thousand lines of code (in early versions) to many millions of lines of code in a current version. The alleged similarities identified by Mr. Gupta amount to a total of less than three hundred lines.
27. The allegedly infringed portions of the allegedly copyrighted works are not significant or important parts of the allegedly copyrighted works, considered as a whole -- either quantitatively or qualitatively.
SCO characterized Gupta's claim like this in its Memorandum in Opposition to IBM's Motion to Strike Materials Submitted by SCO in Opposition to IBM's Cross Motion For Partial Summary Judgment back in 2004:
B. Sandeep Gupta Presented Facts Showing that Linux Contains Source Code Copied from UNIX...
4. Linux has Copies of UNIX Interface and Header and Init and Executable Linking Format ("ELF") Code
Well. That's true. But who put them there? At least with respect to OpenLinux Lite, the copy I have in my hand, it was Caldera.
The Contents of OpenLinux Lite
As I started to play around with the OpenLinux Lite CD, looking for anything of interest, my original thought was that it would be good to list every source rpm in this version of OpenLinux Lite, just so the world would know that there are no trade secrets to anything released as source by SCO/Caldera and that the methods and concepts are out there, like so many dandelion seeds in the wind. If you recall, we did that kind of a list with OpenLinux 3.1.1, but I notice that the lists are not identical. Both lists have SYS V init, and I just never noticed it before when we did the earlier article. In OpenLinux Lite it has:
SysVinit-2.64-1.src.rpm OpenLinux 3.1.1 uses a later version of SYS V init:
12/13/2001 04:28p 117,831 SysVinit-2.78-3.src.rpm And it used the 2.4.13 kernel. So, if anyone has OpenLinux that uses the 2.6 kernel, can you let us know what version of SYS V init is in there? Of course, there are other differences, just because of time. The Lite version from 1997 had a.out, for example, but no one used that by 3.1.1, I don't think, and Lizard is in 3.1.1 but not Lite. I don't see iBCS in the later version. Both have binutils, which of course includes ELF, which SCO also wishes to sue folks over, including AutoZone. You guys will probably notice lots more than I will.
12/13/2001 04:28p 59,324 SysVinit-scripts-1.08-5.src.rpm
[ Update: Groklaw member rsmith contributes this:
I found the original source for the RPM at this link. End update.]
Eleven of the 13 the C files in this source package carry a notice that they are released under the GPL. Ten of the 13 C files carry a copyright notice by Miquel van Smoorenburg. One contains a copyright notice from Cistron Electronics where Miquel worked at that time. Only start-stop-daemon.c (written by Marek Michalkiewicz and dedicated to the public domain) and sulogin.c (Marked with the initials MvS in the version tag) don't have a copyright notice or GPL header.
Isn't that weird, though, that SCO would sue anyone for SYS V init being in Linux? They put that code, as *source* code, into their Linux distro in 1997. So I have a question or two for you Unix and Linux experts out there:
1. What would be different about SYS V init in the 2.6 kernel as opposed to the 2.4 or earlier, if anything?
In OpenLinux Lite 1.1, I found them in OpenLinux/sources/SRPMS.
I also found in my OpenLinux Lite CD an announce file, which included this information:
2. Could you take a look at your copies of various versions of OpenLinux and report on the contents of the SRPMS and tell us if SYS V init is in there, and if so, what version?
Caldera OpenLinux (TM) Lite 1.1 There is also License file:
OpenLinux is a Caldera-maintained distribution of the Linux operating system. OpenLinux releases will continue to track advances in the various freely-distributable software communities.
Caldera OpenLinux products use a standard Linux kernel, but they also include several Caldera-specific features that are not part of other Linux systems....
Features of OpenLinux...
- Full 32-bit architecture, supporting both ELF and a.out binaries...
- Ability to act as a client to other UNIX, Windows NT, and Windows95 systems
-Ability to act as a server to other UNIX, Windows NT, and Windows95 systems
Nearly all of the components that make up the OpenLinux Lite product are distributed under the terms of the GNU General Public License or similar licenses which permit free and unrestricted redistribution.
Finally, there is a README file that tells you how to install OpenLinux, and it lists the various contents categories, including this one:
This directory is organized as follows:... So that tells us that everything we find provided as sources in SRPMS is redistributable. That's what SRPMs are, the source code. This list isn't all that was in OpenLinux Lite, of course. There were proprietary projects in there too, some of which were later open sourced, so you have 380 in SRPMS and 544 in RPMS.
[---> sources/ -- source code for redistributable software packages
Putting all this evidence together, and it certainly looks to me like Caldera, now calling itself SCO, put SYS V init and the rest of the list in SRPMS because they intended that it be redistributable. How do they later turn around and sue people for redistributing or for having it in a Linux distro when SCO put it in its own Linux distro? If the RIAA found those files, and they were suing over source code instead of music, they'd say it was willful and I think the courts would agree, don't you think?
No, this won't stop SCO from proceeding to sue people, probably, but at least those who are targeted will know where they can find what really happened, and what really happened is Caldera/SCO wanted to merge Unix and Linux, so applications from either could run on the other and each would strengthen the other, and we find evidence of it all over the place, including right here in OpenLinux Lite. Just as one example, here's a 2001 Caldera press release announcing the Caldera Developer Network which developers could join for free, so they could "have early access to UNIX and Linux technologies, allowing them to develop on UNIX, on Linux or on a combined UNIX and Linux platform".
I know. SCO. No Chinese Wall. And now they want to sue people.
So, all in all, it seems worthwhile to list the SRPMS in all version of OpenLinux that we can. In the AutoZone case, while it's mostly about COFF files from OpenServer and a little touch of ELF and Xenix, SCO implicated methods and concepts in footnote 1 in its Statement of Basis for Claim for Preliminary Injunctive Relief and Nature of Relief:
1 The term "copying" as used herein includes verbatim copying of code or man pages, and copying where the resulting product is substantially similar to the original considering structure, sequence and organization, and other non-literal elements of the code. In addition to copying, SCO's rights may be violated by preparation of derivative works based on the original, gaining beneficial use of the copyrighted materials through interfaces or other means supplied by third parties, or any other act which interferes with the exclusive rights of the copyright owner protected under 17 U.S.C. ¶106.
That's so broadly phrased, it seems to cover a swath as wide as the sky in Montana -- "gaining beneficial use... through interfaces or other means... or any other act"... etc. So whatever we can show that Caldera itself put into SRPMS, the less SCO can ever claim trade secrets, contract breaches, or methods and concepts infringement.
So, with that in mind, here's the entire list of everything in OpenLinux/sources/SRPMS in my copy of OpenLinux Lite 1.1 CD.