decoration decoration
Stories

GROKLAW
When you want to know more...
decoration
For layout only
Home
Archives
Site Map
Search
About Groklaw
Awards
Legal Research
Timelines
ApplevSamsung
ApplevSamsung p.2
ArchiveExplorer
Autozone
Bilski
Cases
Cast: Lawyers
Comes v. MS
Contracts/Documents
Courts
DRM
Gordon v MS
GPL
Grokdoc
HTML How To
IPI v RH
IV v. Google
Legal Docs
Lodsys
MS Litigations
MSvB&N
News Picks
Novell v. MS
Novell-MS Deal
ODF/OOXML
OOXML Appeals
OraclevGoogle
Patents
ProjectMonterey
Psystar
Quote Database
Red Hat v SCO
Salus Book
SCEA v Hotz
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO v IBM
SCO v Novell
SCO:Soup2Nuts
SCOsource
Sean Daly
Software Patents
Switch to Linux
Transcripts
Unix Books
Your contributions keep Groklaw going.
To donate to Groklaw 2.0:

Groklaw Gear

Click here to send an email to the editor of this weblog.


To read comments to this article, go here
A Tall Tale About ELF - by Frank Sorenson, Dr Stupid and PJ
Thursday, July 22 2004 @ 08:51 PM EDT

Ah, SCO, SCO, SCO. This latest prank... Where to begin to unravel the latest brainstorm, the claim that ELF belongs to them, that Linux is using it illegally, and that it's the mortar holding the entire kernel together? I am smiling just typing this.

Here is what the ELF story is about, according to a Linuxworld article by Maureen O'Gara:

"In 1995, the year Novell sold Unix to the Santa Cruz Operation, an industry group calling itself the Tool Interface Standard Committee (TISC) came up with a ELF 1.2 standard and to popularize it and streamline PC software development granted users a 'non-exclusive, worldwide, royalty-free license' to the stuff, effectively putting it in the public domain, SCO says.

"SCOsource chief Chris Sontag, the SCO VP in charge of the company's hate-inducing IP push, claims TISC, which folded immediately after the spec was published, exceeded its rights even though both Novell and the old SCO - as well as Microsoft, IBM and Intel - were on the committee."

OK. ELF. Here we go. After all the research we have done, here are the conclusions I reach. First, ELF isn't mortar. It's not even in the kernel. It's interface stuff. It's not the only interface one might use, and in fact it replaced a prior interface, so it isn't essential for Linux to keep breathing and life to go on. It'd be annoying but not at all impossible to replace it.

Second, if TISC overstepped its authority, that is between SCO and SCO, because oldSCO was involved, oldSCO being a member of TISC.

Third, I don't believe they own it.

Fourth, Linux is not unique in using ELF.

Fifth, this is getting silly.

Let me explain, please, how I reached those conclusions.

Here's what the TISC document [PDF], regarding ELF version 1.2, told the world they were intending and what the world could do with ELF:

"This Executable and Linking Format Specification, Version 1.2, is the result of the work of the Tool Interface Standards (TIS) Committee--an association of members of the microcomputer industry formed to work toward standardization of the software interfaces visible to development tools for 32-bit Intel Architecture operating environments.

"Such interfaces include object module formats, executable file formats, and debug record information and formats. The goal of the committee is to help streamline the software development process throughout the microcomputer industry, currently concentrating on 32-bit operating environments. To that end, the committee has developed specifications--some for file formats that are portable across leading industry operating systems, and others describing formats for 32-bit Windows * operating systems. Originally distributed collectively as the TIS Portable Formats Specifications Version 1.1, these specifications are now separated and distributed individually.

"TIS Committee members include representatives from Absoft, Autodesk, Borland International Corporation, IBM Corporation, Intel Corporation, Lahey, Lotus Corporation, MetaWare Corporation, Microtec Research, Microsoft Corporation, Novell Corporation, The Santa Cruz Operation, and WATCOM International Corporation. PharLap Software Incorporated and Symantec Corporation also participated in the specification definition efforts. This specification like the others in the TIS collection of specifications is based on existing, proven formats in keeping with the TIS Committee's goal to adopt, and when necessary, extend existing standards rather than invent new ones.

"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. . . .

"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.[emphasis added]

Of course, SCO knows this, or has every reason to know it, but it is all about the August 4th IBM hearing, and their desperation to find something they can put under the judge's nose in Utah to make him reject IBM's partial summary judgment motion. They apparently can't show any significantly infringing code in Linux after pawing through IBM's things -- that's all they would have to do to block this motion is show infringing code or any real facts in dispute -- so instead at the 11th hour, they have come up with this list, which they hope will do the trick, claiming (without providing any details publicly -- are they tired of the community quickly tearing their arguments to shreds?) that the TISC committe overstepped its authority. Bingo. Fact in dispute, a claim of infringing code, they hope. It's not actually in the kernel, but maybe a nontech judge won't notice the fine points. Quoting from the Declaration of one of their new attorneys, John Harrop:

"Comparison of Source Code"

"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."

Once again, they would like more time. Groklaw has already addressed the ridiculous claims to header files. You might like to add to what we wrote on ABI files this case, Mitel v. Iqtel, pointed out to me by an anonymous reader:

"We have extended this traditional copyright doctrine to exclude from protection against infringement those elements of a work that necessarily result from external factors inherent in the subject matter of the work. For computer-related applications, these external factors include hardware standards and mechanical specifications, software standards and compatibility requirements, computer manufacturer design standards, industry programming practices, and practices and demands of the industry being serviced.See Gates Rubber, 9F.3d at 838; Computer Assocs. Int’l, Inc. v. Altai, Inc., 982 F.2d 693, 709-10 (2d Cir. 1992); Plains Cotton Coop. Assoc. v. Goodpasture Serv., Inc., 807 F.2d 1256, 1262 1635](5th Cir. 1987) (declining to extend protection to a computer program where the similarities between the plaintiff’s and defendant’s programs were dictated by “the externalities of the cotton market” and by other “market factors”); see also 4 Melville B. Nimmer & David Nimmer, Nimmer on Copyright Section 13.03[F] [3], at 13-130-141 (1997) [hereinafter Nimmer]. Because these factors concern functional aspects of a work, the scenes a faire doctrine plays a particularly important role in ensuring that copyright rewards and stimulates artistic creativity in a utilitarian work “in a manner that permits the free use and development of non-protectable ideas and processes” that make the work useful. Computer Assocs., 982 F.2d at 711."

By the way, you can find US Court of Appeals for the Tenth Circuit opinions (that's the circuit for Utah) here for 1995-1997; here or here for thereafter; all circuits and the Supreme Court here. All are searchable by keywords, as well as by names of the parties.

What is new is the claim about ELF. They are scraping the bottom of the barrel now. They are facing a real moment of truth, both in the IBM case and in AutoZone. If there is no infringing Linux code to save them, what to do? What to do? Where to rustle up something in a hurry that might convince a judge that there are some facts that are really, really, truly, we mean it, at issue that must go to a jury, or some genuinely and significantly infringing code, so the judge doesn't grant summary judgment in the IBM case on their 10th counterclaim?

Then there is the stock story and they want the world to think they can prevail. So up spring new charges in their legal filings and in the news.

ELF was put in the public domain, but now SCO says the TISC, "which folded immediately after the spec was published, exceeded its rights." So Linux is bad because it used something that had been announced as something it not only could use, it was encouraged to use? The newSCO would like to unilaterally change its mind. The trouble is, aside from the flip-flop, it isn't their mind that needs to change. What do I mean?

It's true that Novell sold to Santa Cruz in September of 1995, and it's true that a version of ELF was released in May of 1995, but that wasn't the first release. Even if it had been, a release of ELF by Novell happened before the sale, not afterward, as you can see. Novell couldn't later sell more in September than what Novell then had to sell, and *ELF was already released*, as of May. Can you release something into the public domain in May and then sell it to Santa Cruz in September?

So SCO of today has problems. As a member of the TISC project, oldSCO obviously knew about the release and would have had no reasonable expectation of any proprietary ownership of ELF when they bought whatever they bought. That horse was already out of the barn.

Of course, SCO of today isn't actually the Santa Cruz of old, which is now Tarantella. Whatever they, SCO of today, eventually got, if they got anything, it doesn't appear it could have been ELF prior to the release, because the dates don't match. That's not even going into the Novell-SCO dispute over copyrights.

How do I know it's all a sudden brainstorm and not some devilish trump card they've been hiding up their sleeve all along? Aside from the fact that it's not a brainstorm (it is devilish, of course), how about this for evidence? The Linuxworld article said this:

"SCO also claims 'substantial similarity' between the Read-Copy-Update (RCU) routine in Linux 2.6.5 and Linux patches and SCO's copyrighted work, specifically SVR4.2 MP."

SCO only registered their copyright in SVR4.2 MP on June 29th of this year. Our own Rand McNatt was the eagle eye who spotted their new registration. (He was the first one who spotted the Novell copyrights when they registered, too. So he's on a roll.) Here is the info:

TX-5-972-097 (COHM)
Title: UNIX System V release 4.2MP.
Note: Printout (20 p. source code) only deposited.
Claimant: SCO Group, Inc.
Created: 1992
Published: 22Dec92
Registered: 29Jun04
Date in © Notice: notice: 1990
Author on © Application: computer program: UNIX Systems Laboratories, Inc., employer for hire.
Previous Related Version: Prev. reg. 1992, TXu 510-028, et al.
Claim Limit: NEW MATTER: rev. computer program.

So, what do you think? Can they sue retroactively? If this was something they had in mind for some time, would they have forgotten to register this until June 29 of 2004? They at least should have done so when they registered their other copyrights last year (the ones that are in dispute in the Novell matter). Did they not notice until now that Novell registered the copyright for 4.2 MP back on September 22, 2003? Or didn't they care until recently? Or are they just the Keystone Kops of IP?

I asked Frank Sorenson and Dr Stupid to help me explain a bit more about ELF, from a tech and an historical perspective. I put in research and some legal bits. A number of Groklaw folks contributed research, and it is indeed, as always, a group project. But Frank and Dr Stupid did the lion's share, and it is their article. I think it will help you to see it is foolish to claim that ELF was released improperly or that it belongs to SCO today.

Here is the article itself:


A Tall Tale About ELF
~by Frank Sorenson and Dr Stupid

In several recent filings, The SCO Group references the declaration of Sandeep Gupta, a sealed document, to support their claims that their source code comparison has shown "copying of material from UNIX into Linux", including "copying of SCO's UNIX Executable and Linking Format (ELF) codes in Linux."

What is ELF, and what are SCO's claims regarding ELF? Where did ELF come from, and how do these claims impact Linux? Are SCO's claims over ELF a concern to Linux? In this article, we will attempt to answer some of these questions.

While we don't really know what was said in the Gupta declaration, a recent article in LinuxWorld reports that "SCO Claims Linux Lifted ELF":

"SCO Claims Linux Lifted ELF"

"In 1995, the year Novell sold Unix to the Santa Cruz Operation, an industry group calling itself the Tool Interface Standard Committee (TISC) came up with a ELF 1.2 standard and to popularize it and streamline PC software development granted users a 'non-exclusive, worldwide, royalty-free license' to the stuff, effectively putting it in the public domain, SCO says.

"SCOsource chief Chris Sontag, the SCO VP in charge of the company's hate-inducing IP push, claims TISC, which folded immediately after the spec was published, exceeded its rights."

What is ELF?

When starting a program, the operating system needs to make sure that the file is really the right type, and needs to know where in the file is the first instruction to be processed. ELF is a standard file-format in which program files carry with them certain information about themselves. ELF includes information about the correct processor type and where in the file the system should begin executing code, allowing the executable to be a self-contained package with the information necessary for its use. It also contains information allowing the code to be loaded into whatever free memory is available; this is important for the efficient use of memory.

ELF is one way in which the operating system can learn information about the files it processes. There are a number of standard formats that have been used in the various Unix-like operating systems, including COFF and a.out. In 1995, ELF was publicly made available in Linux, and, due to increased flexibility for programmers, was chosen as the default executable file format in Linux.

Additional reference information for ELF: [1] [2] [3]

Where Did ELF Come From?

Unix System Laboratories (USL) originally produced ELF for use with UNIX System V. ELF was formally set out by the ABI Coordinating Committee (ABICC), a part of Unix International. The ABICC was involved generally in standardization, as you can see from these posts and articles of the time: [1] [2] [3]

In 1993, several major players in the IT industry formed the Tool Interface Standard (TIS) Committee. The TIS Committee's bylaws stated its objectives were to foster standards and enable interoperability of development tools, preventing needless wheel reinvention.

Each company brought something to the table: in the case of USL/Unix International, that included ELF. The TIS committee released the ELF standard as an independent document in 1993 [Version 1.1 PDF], and 1995 [Version 1.2 PDF]. Both of the available releases of the ELF specification give a free worldwide license to use the information contained in the specification in order to make software TIS-compliant, effectively putting ELF in the public domain:

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.

Here are posts from 1993 and from 1994 attesting to the availabilty of the specification.

The SCO Group's Claims

The SCO Group's filings claim that the TIS Committee overstepped its bounds when they released ELF in 1995.

By stating that the TIS Committee released the specification the same year as Novell sold certain assets to The Santa Cruz Operation, The SCO Group seems to imply that TISC released the specification after the change of hands. This is not correct, as Version 1.2 was released in March 1995, months earlier than the sale. In addition, the 1993 release of Version 1.1 was years before Novell and SCO (Santa Cruz Operation) even began talks.

Both The Santa Cruz Operation and Novell were represented on the TIS Committee when Version 1.2 was released in 1995.

TIS bylaws stated: "Any specification the Committee creates will be solely owned by the Committee." and importantly that TIS could only endorse a member's exisiting specification if "such party [granted] the Committee a fully paid-up worldwide, non-transferable, perpetual license under the copyrights in the TIS Specification to use, copy, display, publish, modify, create derivative works or have derivative works created and sublicense such specification."

So it is true to say that TIS would have needed Novell's consent in 1993 to endorse and release the ELF specification document under the licence it did.

However, Novell did not protest that TIS had overstepped its powers. In contrast, Novell sounded quite proud of the donation, as can be seen in this newsgroup posting by a Novell engineer:

"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. Stay tuned."

Intel and Sun both treated ELF as an open specification, all right for use with GCC and Linux:

"complete the procedure in Building the GCC C++* Compiler.....The next step in the process is to build the ARM Linux kernel..... You are now ready to build C and C++ applications... verify that the C compiler can correctly build ARM ELF executables."

"Executable and Linkable Format is a portable object file format supported by most UNIX® vendors. .... ELF helps developers by providing a set of binary interface definitions that are cross-platform, and by making it easier for tool vendors to port to multiple platforms"

In the links just given, Intel sees no problem with ELF being the format of choice on an ARM Linux platform, and Sun publishes ELF information and source code under a royalty-free licence. In fact, ELF became so widespread that the 86open group, another industry body (which included The Santa Cruz Operation and Sun), settled on it as the cross-platform format to adopt:

"The operating system vendors, one way or another, have chosen a common binary format -- the Linux ELF format, which is now supported on the systems of all the developers which originally joined 86open."

You Can Still Freely Get ELF from SCO -- Why?

You may recall previous Groklaw articles about the SCO's claims over the ABI, the latter still available from SCO's website and which contains the ELF specification. The ABI states that someone writing programs to compile, install, and run on systems compliant with the ABI must "compile source code into executable files with the formats and characteristics specified in the ABI."

That raises another issue. Can you copyright a standard? SCO cited the case, Gates Rubber v. Bando, in its Reply Memorandum re Discovery, (footnote 7 on page 20) and they are relying on it. It is a case that explains what is and what isn't considered covered by copyright in software code in that district. Here is what can't be copyrighted:

"The scenes a faire doctrine also excludes from protection those elements of a program that have been dictated by external factors. .... In the area of computer programs these external factors may include: ....software standards and compatibility requirements . . ."

Standards and compatibility requirements are excluded from copyright protection, according to the case SCO cited. ELF is exactly that.

Here is the full quotation from the case:

"(f)Scenes A Faire

"Under the scenes a faire doctrine, we deny protection to those expressions that are standard, stock, or common to a particular topic or that necessarily follow from a common theme or setting. Autoskill, 994 F.2d at 1494 (citing 3 Nimmer Section 13.03 [B] [4], at 13-70); Atari, 672 F.2d at 616 . Granting copyright protection to the necessary incidents of an idea would effectively afford a monopoly to the first programmer to express those ideas. Whelan, 797 F.2d at 1236-37; Landsberg v. Scrabble Crossword Game Players, Inc., 736 F.2d 485, 489 (9th Cir.),cert. denied, 469 U.S. 1037 (1984). Furthermore, where a particular expression is common to the treatment of a particular idea, process, or discovery, it is lacking in the originality that is the sine qua non for copyright protection. Feist, 111 S. Ct. at 1289.

"The scenes a faire doctrine also excludes from protection those elements of a program that have been dictated by external factors. See Plains Cotton Co-op Ass’n. v. Goodpasture Computer Serv., Inc., 807 F.2d 1256, 1262 (5th Cir.), cert. denied, 484 U.S. 821 (1987); Apple Computer, 799 F. Supp. at 1022-26. In the area of computer programs these external factors may include: hardware standards and mechanical specifications, see Manufacturer’s Technologies, Inc. v. Cams, Inc., 706 F. Supp. 984, 995 (D. Conn. 1989), software standards and compatibility requirements, Sega Enterprises Ltd. v. Accolade, Inc., 977 F.2d 1510, 1525-27 (9th Cir. 1993), computer manufacturer design standards, target industry practices and demands, see Plains Cotton, 807 F.2d at 1262, and computer industry programming practices, see Apple Computer, 799 F. Supp. at 1033. 3 Nimmer Section 13.03 [F][3][a]-[e], at 13-102.21 to 13-102.28."

What made ELF popular was that all the large companies got together and agreed on a specification and they all used it. Since then, everyone else, encouraged to do so for compatibility purposes, has taken the open format and used it. What is creative in this picture even if it had not been released into the public domain? You find most of the same core pieces in every format, EXE/DLL/PE (MS), COFF (pre-elf), NLMs (NetWare), or any of the other formats. Here's a page full of them.

The similarity stems from the functionality. Sometimes in software, there are only so many good ways to do something. That is one reason standards are not covered by copyright law in that district.

In fact, SCO's gABI even specifies values for Linux ELF executables to use. (Scroll down to the EI_OSABI section.)

SCO recently released UnixWare 7.1.4. To accompany this product you can obtain the UnixWare Open Source Toolkit, which includes the GNU "binutils" tools. This contains, among other things, the "readelf" utility and an ELF-enabled gcc—all shipped to you under the GPL.

Here are some links showing Caldera offering and promoting ELF in their products, distributed under the GPL, all of which are available from Google cache only. As usual, things are suddenly disappearing, so grab them while you can:

Linux Standard Base (LSB)

The Linux Standard Base (LSB) also references the ELF specification, with the blessing of both SCO (Santa Cruz Operation) and Caldera. The use of the ELF specification was a topic of discussion early in the LSB's history, including an LSB meeting in December 1999. The meeting's minutes indicate that Ralf Flaxa represented Caldera Systems, and Dave Prosser represented SCO. The SCO representative noted that a newer specification existed, which included 64-bit information, and promised to get a URL for the updated version.

Dave Prosser and Doug Beattie, both representing SCO, were present at a February 2001 meeting where the LSB's references to the ELF specification were examined. The minutes indicate Ralf Flaxa again represented Caldera, along with Johannes Pohlmann and John Terpstra (who had represented TurboLinux at the December 1999 meeting). Prosser and Beattie were tasked with, and delivered, the updated generic ABI (gABI) specification.

Groklaw interviewed Stuart Anderson, who worked on LSB, about this period. He said this:

"There were 3 version of the TIS published. 1.0 I'm not sure when, 1.1 in 1993, and 1.2 in 1995. Given this, I wouldn't say the group folded immediately after publication. Also, I note that both SCO and Novell were on the committee, so SCOsource could be said to have been effectively represented twice on the committee."

"SCO's representative participated in the LSB a couple of years ago. He was on phone calls, and even came to a couple of face to face meetings. The current drafts of the ABI on their website were snapshotted and published at the request of the LSB so that we would have a stable version to reference in our specification."

"You can see who attended which meeting by going through our meeting minutes which are available at http://www.linuxbase.org/talks/mindex.shtml. Upon a quick glance, I note that SCO was present at the Dec 12, 1999 meeting and via telephone for the Feb 26, 2001 meeting."

The gABI specification is duly referenced by the LSB, which also states:

"LSB-conforming implementations shall support an object file, called Executable and Linking Format (ELF) as defined by the System V Application Binary Interface, Edition 4.1, System V Application Binary Interface - DRAFT - 22 June 2000, System V Application Binary Interface - Intel386(tm) Architecture Processor Supplement, Fourth Edition and as supplemented by the Linux Standard Base and this document."

Tall Tale? You Decide.

The SCO Group's claims that TIS overstepped its bounds when releasing ELF as a public-domain standard do not appear to be supportable by the evidence. The 1993 and 1995 releases of ELF were before SCO (Santa Cruz Operation) obtained certain assets from Novell, and definitely long before SCO sold assets to Caldera (The SCO Group). The standard has been implemented numerous times since the public release. The SCO Group appears to be unilaterally changing their mind about a standard they and their predecessors in interest have embraced and promoted for over 10 years and which was released and is being distributed under the GPL by SCO themselves even today. And Linux "lifted" ELF? Don't you wish you could change history this easily? Unfortunately for SCO, the principals are still alive. And they remember.


  View Printable Version


Groklaw © Copyright 2003-2013 Pamela Jones.
All trademarks and copyrights on this page are owned by their respective owners.
Comments are owned by the individual posters.

PJ's articles are licensed under a Creative Commons License. ( Details )