SCO's expert, Marc Rochkind, on April 29 put on his blog a report on his daughter using Ubuntu Linux, saying she didn't even realize it wasn't Windows until he told her. That's nice to know.
But here's the odd part:
Anyway, yesterday my daughter wanted to use one of my computers to check something on the web. She always uses the Dell running Windows, at the end of the table, never the Mac in the corner position, because she knows that I'm likely to want to get to the Mac at any time.
But the Dell is really two Dells connected to one screen and keyboard via a KVM switch, and it's usually switched to the Windows machine. The other machine runs Ubuntu Linux, and usually doesn't have the screen and keyboard because I use it mostly as a server.
Isn't that the most peculiar thing? If Linux is an unauthorized derivative of UNIX, chockablock full of protected Unix System V methods and concepts, as he claims, why is he using it? Is he a pirate? Or has he paid SCOsource for the right to run "their" IP?
I know, it's silly. From all we can see, SCO has no rights to anything in Linux, but if SCO's own expert is running Linux as a server, why shouldn't you? As for Mr. Rochkind's favorite topic in the litigation, methods and concepts, I have a few more items to share with you, and I think I can demonstrate that Mr. Rochkind can run Ubuntu Linux as a server without fear.
Today's Unix methods and concepts history lesson covers the MKS toolkit, X/Open, and the Mark Williams Company's COHERENT.
The MKS Toolkit
I thought you'd enjoy visiting the MKS Toolkit site. The MKS toolkit provides Unix tools for Windows developers and administrators. If you are interested in UNIX methods and concepts, you can certainly load up there, and I hear that's been true for years. For example, here's an article in Unix Review from January 2000, when MKS NuTCRACKER was combined with the toolkit, after NuTCRACKER was bought from DataFocus by Mortice Kern Systems Inc. and provided to the public so Windows NT developers and users could have a "seamless UNIX development environment":
The primary focus of NuTCRACKER is on application development, and that's where the last two aspects of the package come into play. The third part of NuTCRACKER provides 2,700 APIs for porting to NT's development platform from a number of UNIX versions. The final aspect of NuTCRACKER is a set of conversion utilities that let you update legacy UNIX applications to take advantage of current OS features....
The core of NuTCRACKER is the Operating Environment (OE) which provides the UNIX subsystem under Windows. The OE is built out of a number of Dynamic Link Libraries (DLLs) and a service manager that handles the processes and persistence across processes. A console service is part of the package in order to provide curses capabilities. You can choose a number of OE options, including X servers from both WRQ and SCO, Hummingbird's OpenGL (used for 3-D graphics), XRT's PDS (embedded widgets for 3-D), Wintif (for a Motif look and feel), and a Telnet server for remote character access. NuTCRACKER is POSIX2 compliant (MKS has been involved with POSIX for many years) and also works with non-POSIX AIX, HP-UX, Linux, and Solaris APIs.
It would be a mistake to think of NuTCRACKER only as a porting tool. While that may be its most attractive feature, we quickly found ourselves thinking of it as a dual-environment API. Including NuTCRACKER calls adds minimal overhead, and allows you to keep a single software code base for two OSs. Whether you intend to roll out an application primarily under Windows or UNIX, it doesn't matter: adding the NuTCRACKER code takes a fraction of the total development time and gives you the flexibility to expand platforms with almost no effort later. If you are developing specifically for two OSs, NuTCRACKER simplifies the process enormously....
Samba and NFS are fully supported by NuTCRACKER applications. An NFS client is part of the NuTCRACKER Professional package, and an NFS Server can be purchased as part of Microsoft's Services for UNIX (which MKS helped develop). Remote APIs like rexec and rcmd are also supported.
By the way, the author of the article was Tim Parker, who is listed as being "technical editor of SCO World". I gather it was a magazine all about SCO, not by them. Here's some bio info on Dr. Parker, who has written over 50 books and 1,200 magazine articles, ten of them about Linux.
Here's an article by Rick Wayne in Dr. Dobb's Portal from June 11, 2004 that explains what the fabled toolkit is:
Its primary goal remains the same: Developers and administrators working on Microsoft operating systems access should root through the same bulging toolbox toted by their Unix brethren. Even if you’re not already Unix-compatible, you owe it to yourself to see what we shell-heads are always going on about.
A note on the term Unix: I’m probably going to get Darl McBride on my case here (not that SCO actually owns the trademark, but on the form to date, I doubt that’ll stop him). But in this review, I’ll use Unix fairly loosely, meaning “that entire family of more or less Posix-compatible operating systems, including Linux, HP-UX, AIX, Solaris and BSD that support the tools we’re talking about.” See The Open Group’s website (which does own the trademark) for the Unix scoop: what it is, where it came from, what flavors came when and more.
X/Open (now The Open Group)
Novell actually transferred more than just the trademark to X/Open. It also transferred the specification. Dr. Stupid explained it to me like this:
claim that the layout of the UNIX filesystem is somehow theirs. But
that is partly defined by POSIX/SUS, and the Open Group "owns" that
standard. More generally, the Open Group is empowered to define what
UNIX is. The whole idea of the transfers to the Open Group is that
someone can create a UNIX and need no-one's permission other than that
of the Open Group. That implies that those M&Cs necessary to use in
order to achieve POSIX compliance can (if they can be owned at all)
only be owned by the Open Group. When Novell divested itself of UNIX
(the product) it did so in such a way as to make sure no other company
could buy up UNIX *the idea*...
There are, of course, some recent things in Unix that were not transferred to the Open Group back then, obviously, but file systems, the overall structure? To the extent that those methods and concepts belong to anyone, they appear to belong to the Open Group, because Novell arranged it that way. You can certainly find plenty of Unix methods and concepts on pages like this one, The Open Group Base Specifications Issue 6.
Getting back to the Dr. Dobb's article on the toolkit, in the box at the bottom of the page, it lists some pros:
MKS includes an extensive documentation set, plus one year of phone and update support.
For example, here's their MKS Toolkit UNIX APIs Reference documentation page. Here is just some of what you can learn about on that page:
statfs() — get information about file system (deprecated)
— get information about file system
statvfs64() — get information about file system
If you click on any of the links, for example the statfs() link, you find conformance information:
SVR4, with exceptions.
Maybe you are curious about errno, "global variable used to return error values":
UNIX 98, with exceptions.
Or strerror_r, "map errno value to error message string":
ANSI/ISO 9899-1990, with exceptions.
By the way, here's a Unix FAQ from 1997, which tells us that Unix SVR4 was a "merge of System V, BSD, and SunOS, and it's interesting to see what came from Sun:
- SVR4 (1988), mainstream of Unix implementations, merge of
System V, BSD, and SunOS.
- From SVR3: sysadmin, terminal I/F, printer (from BSD?),
RFS, STREAMS, uucp
- From BSD: FFS, TCP/IP, sockets, select(), csh
- From SunOS: NFS, OpenLook GUI, X11/NeWS, virtual memory
subsystem with memory-mapped files, shared libraries
(!= SVR3 ones?)
- ANSI C
- Internationalization (8-bit clean)
- ABI (Application Binary Interface -- routines instead of traps)
- POSIX, X/Open, SVID3
And here's some information the page provides on BSD:
Berkeley Software Distribution (BSD). Typical of VAXen, RISCs,
many workstations. More dynamic, research versions now than
System V. BSD is responsible for much of the popularity of
Unix. Most enhancements to Unix started here. The group
responsible at UCB (University of California at Berkeley) is
the Computer System Research Group (CSRG). They closed down
in 1992. Newsgroup: comp.unix.bsd.
It then lists each BSD release's offerings, including 4.3 Reno (1990), which lists "NFS (from Sun)."
While we are on the subject of methods and concepts, check out this review of Coherent 4.0 by Bradley M. Small in the June 1993 issue of Compute! magazine. What was Coherent?:
For many computer users the only question has been whether to run OS/2 or DOS alone or DOS with Windows. COHERENT (Mark Williams Company....) should be another option under consideration. COHERENT 4.0 is a 32-bit UNIX-like operating system for the Intel 386 or higher....
If you're trying to learn UNIX or have UNIX at the office and want something similar at home, COHERENT 4.0 is a very close clone of UNIX System V It has most of the tools that you would expect to see on many Unices (the plural of UNIX). For those of you familiar with the GNU (GNU'S Not UNIX) project (Free Software Foundation, 675 Massach setts Avenue, Cambridge, Massachusetts 02139; 617-876-3296), Mark Williams is currently finishing the port of both the GNU (ANSI standard) C/C++ 2.3 compiler as well as the GNU tools, a selection of programming, development, and general file-manipulation tools. Mark Williams will be making the compiler and the tools available for $49.95 each and the source to the compiler available for $99.95.
One other service worth mentioning is the Mark Williams Bulletin Board. On this you may read mail or news and ask questions and download updates or software packages, most of which will even include source code. It is accessed using UUCP, a mail package that comes with COHERENT. It takes a little effort to set up, but if you take the time to follow the manual, it's not that difficult.
If you have a business and your VAR/dealer tells you that the solution you need includes a UNIX operating system, COHERENT is only $99.95 and doesn't require a license from AT&T.
Ah, yes, methods and concepts galore, and nobody sued them. I happen to have the book the Mark Williams Company published on Coherent, copyright 1982, 1990, "COHERENT: A Multi-User, Multi-Tasking Operating System for the IBM PC/AT and Compatible 286 or 386 Based Computers." It's a manual in two parts. The first part is a set of tutorials. Part two is "The Lexicon," and here is how the manual describes what you will find in it:
The Lexicon consists of more than 700 brief articles that summarize all library routines, system calls, and commands available under the COHERENT system.
Interested in technical information on errno? On page 615 of the book, the Lexicon's half, it tells us this:
errno is an external integer that COHERENT links into every program. COHERENT sets errno to the negative value of any error status returned by COHERENT to the functions that perform COHERENT system calls.
Mathematical functions use errno to indicate classifications of errors on return. errno is defined within the header file errno.h.
There's plenty more, but I just wanted you to know that COHERENT includes, among other header files listed on page 688, errno.h.
There's a discussion about COHERENT, and why it ended up going bust, on alt.folklore.computers, and one guy mentions something I didn't know, and it has a bearing on methods and concepts:
In the eighties, there were plenty of attempts to produce Unix clones for
the small computers (and I'm not talking about Xenix). Some were
apparently a better emulation than others. I never tried any of them, but
it always seemed a bit suspicious that they could get the results for so
much less and on small computers. Remember, the computers back then were
small compared to today.
So COHERENT wasn't even the only Unix clone that nobody sued. Why not, if SCO's version of history is true? The answer can be found a little further down in the page, a comment dated April 10, 1998 from Dennis Ritchie, who ought to know:
From: Dennis Ritchie - view profile
Date: Fri, Apr 10 1998 12:00 am
Email: Dennis Ritchie
An anecdote: sometime fairly early after the Mark Williams company
started offering their Coherent system (a Unix clone), some AT&T
legal people asked me to visit Mark Williams for purposes of determining
whether what they were offering was a rip-off (i.e. essentially
a copy) of the currently licensed Unix done by us. I find it
hard to reconstruct the date this happened, but it was a long
time ago; probably early 1980s. I went to Chicago with Otis
Wilson, who was then involved in Unix licensing.
It was a rather strange experience. The Mark Williams company
was a paint producer, and I was given to understand that
the subsidiary that was doing Coherent was, approximately,
a corporation arranged by a father who, approaching
retirement, had more or less shut down the older business
and was using the corporate name and legal setup to help
his son in a new venture.
Otis and I visited the offices of Mark Williams on the outskirts
of Chicago and were received with courtesy and some deference.
We talked to the father and the son (Bob Swartz, i.e. the guy
behind Coherent). There had been communication before, and
from their point of view we were like the IRS auditors coming
in. From my point of view, I felt the same, except that playing
that role was a new, and not particularly welcome, experience.
The locale of the company was in an industrial section and
it definitely retained the flavor of a the offices
of a paint company being recycled.
What I actually did was to play around with Coherent and look for
peculiarities, bugs, etc. that I knew about in the Unix distributions
of the time. Whatever legal stuff had been talked about in the
letters between MWC and AT&T didn't allow us to look at their source.
I'd made some notes about things to look for.
I concluded two things:
First, that it was very hard to believe that Coherent and its basic
applications were not created without considerable study of the
OS code and details of its applications.
Second, that looking at various corners convinced me that I couldn't
find anything that was copied. It might have been that some parts were
written with our source nearby, but at least the effort had been
made to rewrite. If it came to it, I could never honestly testify
that my opinion was that what they generated was irreproducible from
I wrote up a detailed description of this. I can't find it, probably
because at the time I was advised that it was privileged lawyer/client
material. Partly at the time, partly thereafter, I learned that
a variety of Unix enthusiasts (several from U. Toronto) had spent
In the event, "we" (=AT&T) backed off, possibly after other
thinking and investigation that I'd wasn't involved in.
So far as I know, after that MWC and Coherent were free to offer
their system and allow it to succeed or fail in the market.
I suppose there's a second story about the suit by USL against
BSDI and then UCB, but my own involvement was far tinier
and didn't get me a trip to Falls Church or Berkeley to snoop.
What advice I offered in this situation was exactly in line with
that about MWC/Coherent, and as it turned out the resolution
(though more costly for all) was pretty much the same.
(As a capper, Bob Swartz came by Bell Labs a week or so ago,
and we had a pleasant social visit.)
So, having read that, does it match what SCO would like to tell the court, via, for example, Mitzi Bond, that what was protected was not just code but methods and concepts as well? If SCO's version were true, AT&T would have had to sue the Mark Williams Company for selling an operating system that was nothing but Unix methods and concepts. In any case, they didn't sue. And all the methods and concepts were released to the world, without objection from AT&T.
Note that AT&T's Otis Wilson went with Ritchie. He has provided testimony that all AT&T was interested in protecting was the code, not methods and concepts, so long as no code was included ("[W]e did not intend to exercise any control or restriction on those products that did not contain portions of the software products."). Put that together with this anecdote, and I think -- SCO's attempts to say otherwise notwithstanding -- it's pretty obvious that AT&T was only interested in code, just as he has said. And that is exactly what IBM has told the court.
All of which means to me that Mr. Rochkind can keep running Ubuntu Linux for his server without fear of consequences, other than us having a good laugh.