Kirk McKusick is quoted as saying some odd things on Newsforge. I say he is quoted as saying them, because I have noted that reporters sometimes write whatever they want to, regardless of what you told them. It has happened to me. Nevertheless, McKusick appears to be wrong on his facts, judging from the quotations, and therefore his reported conclusions must also be wrong.
First, what he said, and then what Linus told Groklaw in reply.
McKusick said, in part:
"Linus Torvolds [sic] says that he typed in these files from scratch and I believe that he did. Unfortunately that does not get him out of the ABI argument, because, by necessity, he had to use the same names and values."
But Linus didn't use the same names and values. He used the Minix names and values.
How do I know? I asked Linus.
Duh. Strange the Newsforge reporter didn't seem to think of that.
Anyway, here is what Linus had to say about McKusick's remarks:
"The names are standardized. I used the values in Minix for the original ones, the rest of the numbers are just from whatever random ordering of the names was in libc at the time (they don't match anything that I know of)
"Btw, somebody pointed out that if SCO thinks they own the numbering sequence of 'errno' (never mind that the x86 numbering isn't even the same they use), then by the same logic I own the copyright on the numbering sequence of the Linux system calls, which SCO uses in their linux kernel module stuff.
"Just showing how absurd the claim is..
"(Now, it's entirely possible that their Linux kernel module stuff actually contains copied code too, but that's a different issue)."
McKusick goes on to "guess" that Linux can use the files in dispute, but only with the copyright notices.
First of all, whatever is in the secret agreement between BSDi and USL is a secret of their own choice. Linus was not a party to whatever secret deal the parties to that lawsuit made. Whatever they agreed to do, they didn't tell the rest of the world the details. It wasn't a court-ordered opinion they implemented. It was a private deal.
But as to the GPL and whether or not SCO or any of its predecessors released ABI code with authorization under the GPL, McKusick might be interested in some material that Groklaw published back in the early days, back in July. Perhaps he missed it. SCO may have missed it too, what with their current claim that they never released their ABI files under the GPL with proper authorization.
Groklaw recently published evidence, including a statement by Tigran Aivazian himself, that while employed by SCO he made contributions to the kernel with authorization from his boss. Cf. also this page. But let's take another look at Christoph Hellwig's work as well, shall we? Because he didn't just work on the Linux kernel, he worked on the Linux-ABI project. I believe you will find it on point, although one of the links is no longer working, from Groklaw's archives on Groklaw.
I contacted Hellwig back in July, and I wrote to him that to a nonprogrammer like myself, the materials I found seemed to indicate that he "had corporate backing for your work and it also indicates that Caldera was well aware back then of IBM's JFS contribution to the kernel and was helping work on it." He replied that he couldn't comment beyond saying, "it seems you spotted some obvious facts."
Here is what Ransom Love had to say in September of this year about the ABIs and what Caldera was working to achieve. See if it matches SCO's account:
"We took the Linux code that was available and learned to cleanly match it with the Unix APIs. The idea was to adopt Linux APIs and mechanisms to function on top of a scalable Unix code designed for SMP [symmetric multiprocessing]. At the time, Linux was moving to clustering to make Linux more scalable. We wanted to combine Unix's improved symmetric multiprocessing with Linux so that it would have both excellent clustering and SMP.
"Indeed, at first we wanted to open-source all of Unix's code, but we quickly found that even though we owned it, it was, and still is, full of other companies' copyrights. . . .
"We didn't want to spend years clearing out the old copyright issues in the face of corporate opposition. So, instead we worked on Linux Kernel Personalities to bring Linux application compatibility to SCO Unix (formerly UnixWare) and OpenServer."
Then there is this Blake Stowell answer from a February interview in MozillaQuest Magazine:
"Q: Regarding binfmt_coff, abi-util, lcall7, abi-svr4, abi-sco; are any of these modules SCO IP?
"Blake Stowell: No, none of the code in the Linux ABI modules contains SCO IP. This code is under the GPL and it re-implements publicly documented interfaces. We do not have an issue with the Linux ABI modules."
And now to the BSDi lawsuit and SCO's claims that there were 91 files affected, here is Marshall Kirk McKusick, who was a participant in that litigation, on the way it really was from his perspective:
"At the preliminary hearing for the injunction, BSDI contended that they were simply using the sources being freely distributed by the University of California plus six additional files. They were willing to discuss the content of any of the six added files, but did not believe that they should be held responsible for the files being distributed by the University of California. The judge agreed with BSDI's argument and told USL that they would have to restate their complaint based solely on the six files or he would dismiss it. Recognizing that they would have a hard time making a case from just the six files, USL decided to refile the suit against both BSDI and the University of California. As before, USL requested an injunction on the shipping of Networking Release 2 from the University and on the BSDI products. . . .
"In December 1992, Dickinson R. Debevoise, a United States District Judge in New Jersey, heard the arguments for the injunction. Although judges usually rule on injunction requests immediately, he decided to take it under advisement. On a Friday about six weeks later, he issued a forty-page opinion in which he denied the injunction and threw out all but two of the complaints. The remaining two complaints were narrowed to recent copyrights and the possibility of the loss of trade secrets. He also suggested that the matter should be heard in a state court system before being heard in the federal court system.
"The University of California took the hint and rushed into California state court the following Monday morning with a counter-suit against USL. . . .The University's suit claimed that USL had failed in their obligation to provide due credit to the University for the use of BSD code in System V as required by the license that they had signed with the University. . . .Soon after the filing in state court, USL was bought from AT&T by Novell. The CEO of Novell, Ray Noorda, stated publicly that he would rather compete in the marketplace than in court. By the summer of 1993, settlement talks had started. Unfortunately, the two sides had dug in so deep that the talks proceed slowly. With some further prodding by Ray Noorda on the USL side, many of the sticking points were removed and a settlement was finally reached in January 1994. The result was that three files were removed from the 18,000 that made up Networking Release 2, and a number of minor changes were made to other files. In addition, the University agreed to add USL copyrights to about 70 files, although those files continued to be freely redistributed.
"The lawsuit settlement also stipulated that USL would not sue any organization using 4.4BSD-Lite as the base for their system. . . . .Today, the open source software movement is gaining increased attention and respect. Although the Linux system is perhaps the most well-known, about half of the utilities that it comes packaged with are drawn from the BSD distribution. The Linux distributions are also heavily dependent on the complier, debuggers, and other development tools written by the Free Software Foundation. Collectively, the CSRG, the Free Software Foundation, and the Linux kernel developers have created the platform from which the Open Source software movement has been launched. I am proud to have had the opportunity to help pioneer the Open Source software movement. I look forward to the day when it becomes the preferred way to develop and buy software for users and companies everywhere."
This is from "Twenty Years of Berkeley Unix --From AT&T-Owned to Freely Redistributable" by Marshall Kirk McKusick.
Dennis Ritchie has made many of the court documents from the USL v. BSDi lawsuit available. SCO mischaracterizes the BSDi case, to my reckoning, in their recent letters, making it sound like BSDI was at fault, whereas Judge Debevois' opinion indicated that he didn't think USL had a copyright in 32V:
"Consequently, I find that Plaintiff has failed to demonstrate a likelihood that it can successfully defend its copyright in 32V. Plaintiff's claims of copyright violations are not a basis for injunctive relief."
One reason the judge reached that conclusion was because AT&T had published so much of its code without copyright attributions, this being back before the revision in copyright law which now makes it unnecessary to do so to have a copyright. I encourage you to read the opinion and the other documents. There is a lot more to say about SCO's letters and the listed files, and we will, in a future installment. Meanwhile, here is the material on Hellwig:
Christoph Hellwig has been, according to this web page, "in the top-ten list of commits to both the Linux 2.4 and Linux 2.5 tree". The page also mentions another fascinating piece of news, that he worked for Caldera for at least part of the time he was making those kernel contributions:
"After a number of smaller network administration and programming contracts he worked for Caldera's German development subsidiary on various kernel and userlevel aspects of the OpenLinux distribution."
In 2002, he offered a paper on "Linux-ABI: Support for Non-native Applications" which is described like this:
"Linux-ABI: Support for Non-native Applications
"The Linux-ABI project is a modification to the Linux 2.4 kernel that allows Linux to support binaries compiled for non-Linux operating systems such as SCO OpenServer or Sun Solaris.
"Building upon the kernel's basic infrastructure to support multiple execution domains with different system call tables, signal and error numbers Linux-ABI provides a rich set of functionality that allows Linux to intercept foreign system calls. For some trivial syscalls the equivalent Linux call can be used directly after fixing up the calling conventions. Others only need flag remapping, but most of the code in Linux-ABI is used to handle the complex cases of functionality not implemented in Linux (e.g. STREAMS) or behaving very differently like many of the I/O controls (ioctls). In addition Linux-ABI provides remapping of filenames to shadow trees for allowing non-native binaries to find foreign support files instead of their native counterparts."
Back in 2002, he was described, in connection with his appearance at the Ottawa 2002 Linux Symposium, like this:
"Reverse engineering an advanced filesystem
"Christoph Hellwig is employed by Caldera, working on the Linux-ABI binary emulation modules."
So, in short, he was contributing to the kernel and working for Caldera on Linux/UNIX integration at the same time. His work for Caldera was on the Linux kernel ("he worked for Caldera's German development subsidiary on various kernel and userlevel aspects of the OpenLinux distribution"). . . . Did Caldera know . . . ? What do you think? He used his firstname.lastname@example.org email address when doing it. All contributions to the kernel are publicly available anyway. They certainly could have known. As for his job, his signature on his emails back in 2001 was:
"Kernel Engineer Unix/Linux Integration
"Caldera Deutschland GmbH".
He used the email address email@example.com sometimes too, and here you can see some of his Linux-abi contributions. Here are some of his contributions to JFS, Journaled File System. Yes, that JFS. Here he is credited as sysvfs maintainer, and he confirms it in this email, writing:
"I've run native sysvfs tools under linux, but as now that I'm Linux sysvfs maintainer I'm looking into implementing free versions of it."
Here is a list of the operating systems that use or can handle the file system sysvfs:
"sysvfs: UNIX System V; SCO, Xenix, Coherent e21
"operating systems that can handle sysvfs: FreeBSD (rw), LINUX (R), SCO (NRWF)"
Here's a page listing by author (alphabetically by first name), with his emails to linux-kernel in June 2003, so he is still contributing.
Here he is listed on the Change log for patch v2.4.17. Here he tells Andrew Morton in 2002 that he will do sysvfs, using his firstname.lastname@example.org address. Here is an email in which he tells an inquirer how to contribute to JFS, including this tidbit:
"I've run native sysvfs tools under linux, but as now that I'm Linux sysvfs maintainer I'm looking into implementing free versions of it. . . . The JFS/Linux core team has setup a CVS commitinfo, but currently I'm the only one who receives it."
And here he encourages someone to donate to the main JFS repository at IBM and talks about his role:
"I'm one of the main commiters to JFS outside IBM and I'm really happy to see more people involved :)
"First I'd like to encourage you to contribute your userspace changes to the main JFS repository at IBM. For the 1.0.11 release I have added autoconf/automake support to easify portability and a bunch of portablity patches (mostly getting rid of linuxisms) is under way to the Core team."
He also posts to the freebsd list as freebsd-fs at freebsd.org. Here is the press release when SCO in 2002 year released "SCO Linux Server 4.0 for the Itanium (R) Processor Family" and which mentions that the product is based on United Linux. This SCO page lists JFS as one of its features. . . .
They will be hard-pressed to explain how they had an employee contributing to the kernel a couple of years ago, which they apparently assigned him to do, and yet claim they didn't know or didn't approve. If they didn't approve, why didn't they do a thing to stop it back then? Stop it? It was his job, judging from his title and his job description. And for that matter, the announcement about JFS was public on IBM's part, as we've seen, and Caldera didn't bring a lawsuit to block it back when it happened. They are complaining that IBM contributed JFS to Linux, but their own employee, from this evidence, was involved in helping out. On the day IBM announced JFS was being given to Linux, Hellwig is listed as making five contributions to the kernel. All of this information is publicly available, so it was available to Caldera back when it happened.