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
SCO's Expert Marc Rochkind Uses Ubuntu Linux as a Server! -- & More M&C: COHERENT, MKS, & X/Open
Sunday, July 02 2006 @ 10:01 AM EDT

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:

SCO's "experts" 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:

CONFORMANCE

SVR4, with exceptions.

Maybe you are curious about errno, "global variable used to return error values":

CONFORMANCE
UNIX 98, with exceptions.

Or strerror_r, "map errno value to error message string":

CONFORMANCE
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?)
- ksh
- 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)."

COHERENT

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
Groups: alt.folklore.computers

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 the manual.

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 time there.

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

Dennis

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.


  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 )