The state of the SCO case
[Posted September 9, 2003 by corbet]
The whole SCO affair started as a breach-of-contract suit against IBM.
That suit is based on the language of the Unix contracts signed with ATT
almost two decades ago, which reads:
AT&T grants to Licensee a personal, nontransferable and
nonexclusive right to use Software Product solely for Licensee's
own internal business purposes and solely on or in conjunction with
Designated CPUs for such Software Product. Such right to use
includes the right to modify such Software Product and to prepare
derivative works based on such Software Product, provided the
resulting materials are treated hereunder as part of the original
Software Product.
The core of SCO's claim is that anything that IBM has ever allowed to be a
part of a Unix system has become a "derived product" of Unix and must be
treated as if it were Unix itself. SCO cannot make any ownership claims
over this code - a side letter to the contract makes that explicit - but it
does claim the right to keep IBM from disclosing its own code.
Through its public statements, SCO has since made claims of massive direct
copying of SYSV Unix code into Linux. There is still no court case where
SCO has made such claims, however. The company's experience at SCO Forum
and subsequent public statements suggest that the evidence for direct
copying of code - actual copyright violations - is weak at best. SCO
might have a small case against SGI, depending on how a judge might
choose to interpret the copyright status of 32V Unix and the true source of
the ate_malloc() code. But that is between those two companies;
the code in question has already been removed from current Linux kernels.
Increasingly, it seems that SCO is left with its original breach of
contract case. The recently issued open letter from Darl McBride
does nothing to change that impression; it mentions the
ate_malloc() case but does not allege any other direct copying.
Instead, the company's claims are expressed as follows:
To date, we claim that more than one million lines of UNIX System V
protected code have been contributed to Linux through this
model. The flaws inherent in the Linux process must be openly
addressed and fixed.
In SCO's view, "Unix System V protected code" is a rather wider set
than "SCO-owned code." In fact, at SCO Forum, the company put up a slide
discussing the "more than one million lines" that it claims. Here's where
they come from:
| Subsystem |
Files |
Lines |
| Read-copy-update |
46 |
109,688 |
| NUMA |
101 |
56,587 |
| JFS |
44 |
32,224 |
| XFS |
173 |
119,130 |
| Symmetric multiprocessing |
1,185 |
829,393 |
| TOTAL |
1,549 |
1,147,022 |
(SCO has posted the slides to its presentations on this page. You'll have to
click past the cheery warning that things are optimized for Internet
Explorer to view them, though.)
These claims are interesting in a number of ways. Let's look at the RCU
claim for a moment. In a modern Linux kernel (RCU does not appear in 2.4),
the RCU implementation is contained in two files
(include/linux/rcupdate.h and kernel/rcupdate.c), which
add up to an amazing 402 lines. That leaves us 44 files and 109,286 lines
short of the claim made by SCO. Clearly, SCO must also be making claims on
any code that uses RCU in any way. If you look for files that make
any use of the RCU subsystem, the results are:
| File | Lines |
| arch/i386/oprofile/nmi_timer_int.c |
57 |
| drivers/char/ipmi/ipmi_kcs_intf.c |
1275 |
| fs/dcache.c |
1641 |
| include/asm-x86_64/kdebug.h |
44 |
| include/linux/rcupdate.h |
135 |
| include/linux/dcache.h |
316 |
| include/linux/list.h |
565 |
| include/net/dst.h |
254 |
| init/main.c |
604 |
| ipc/util.c |
612 |
| kernel/rcupdate.c |
267 |
| kernel/module.c |
1949 |
| kernel/sched.c |
2594 |
| net/802/psnap.c |
160 |
| net/bridge/br_device.c |
147 |
| net/bridge/br_forward.c |
157 |
| net/bridge/br_if.c |
289 |
| net/bridge/br_ioctl.c |
309 |
| net/bridge/br_input.c |
159 |
| net/core/netfilter.c |
761 |
| net/core/dev.c |
3092 |
| net/ipv4/af_inet.c |
1250 |
| net/ipv4/icmp.c |
1120 |
| net/ipv4/ip_input.c |
433 |
| net/ipv4/route.c |
2797 |
| net/ipv6/af_inet6.c |
895 |
| net/ipv6/icmp.c |
787 |
| net/ipv6/ip6_input.c |
260 |
| net/decnet/dn_route.c |
1843 |
| TOTAL 29 files | 24,772 |
So, even with such an expansive interpretion of SCO's claim, there are 17
files missing. They must be big files as well, since they must account for
the remaining 84,916 lines. The "contamination" caused by RCU is evidently
a very broad thing.
We asked SCO where the missing files were, but were told only
"[T]his level of detail is something
that we will save for our court case in 2005." So we're going to
have to remain in suspense for a while. But one thing is clear: SCO claims
that the old AT&T licenses give it amazing powers over code that has
ever breathed the same air as SYSV Unix. Anybody who claims that the GPL
is overly "viral" or that it threatens intellectual property should take a
good look at the powers that SCO claims its license gives it. The GPL
can't compete in that league.
SCO's legal argument is interesting; the company claims that Linux hackers
have, while having never actually seen the SYSV Unix source, nontheless
created a derived product of SYSV Unix. They are accused of copying
something they never had access to. This argument seems destined to fail;
how can something which contains no SYSV code be a derived product of SYSV?
But that is the core of SCO's argument.
An interesting question comes out of this: what if SCO wins its case? SCO
will have then convinced a court that IBM released IBM's code in violation
of an agreement it had with SCO. The fact that IBM released IBM's code,
however, would not change. SCO does not own that code, how can it
claim a right to payments from Linux users? If SCO wins, it may get a
chunk of money from IBM. But it should still have nothing which entitles
it to license payment from Linux users.
Returning to Darl McBride's open letter, we note that there are no demands
that Linux users buy SCO "licenses," and no threats of suits against
users. Mr. McBride, instead, has taken a bit of a different approach:
A sustainable business model for software development can be built
only on an intellectual property foundation. I invite the Open
Source community to explore these possibilities for your own
benefit within an Open Source model. Further, the SCO Group is
open to ideas of working with the Open Source community to
monetize software technology and its underlying intellectual
property for all contributors, not just SCO.
One might point out that the free software world does, indeed, have an
"intellectual property foundation." It is based on copyright law, and free
licenses, including the GPL, which SCO has said it wants to break. One
might also point out that the community is not in much of a mood for
"working with" SCO at this point. But one's time might be better spent
pondering what SCO was thinking when it published those words.
SCO clearly wants to be able to put a tax on Linux systems. SCO also
clearly sees the GPL as an obstacle; there is no way to make a tax stick to
Linux as long as it remains freely redistributable. Could SCO be casting
around for a scheme to buy off free software developers should its
challenges to the GPL fail? A nice tax for SCO and a few bones tossed to
developers willing to relicense their code? It is hard to see how such a
scheme could possibly succeed, but it is also hard to find another way to
interpret the words quoted above.
In summary, the SCO case remains interesting. SCO has changed its tune
several times, but, for the moment, is back where it began: a breach of
contract suit against IBM. The company has yet to produce any evidence
that Linux users owe it money. It is also now interested in "working with
the open source community." But SCO remains unpredictable. We have not
yet seen the last strange twist in this case.
(
Log in to post comments)