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

Gear

Groklaw Gear

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


You won't find me on Facebook


Donate

Donate Paypal


No Legal Advice

The information on Groklaw is not intended to constitute legal advice. While Mark is a lawyer and he has asked other lawyers and law students to contribute articles, all of these articles are offered to help educate, not to provide specific legal advice. They are not your lawyers.

Here's Groklaw's comments policy.


What's New

STORIES
No new stories

COMMENTS last 48 hrs
No new comments


Sponsors

Hosting:
hosted by ibiblio

On servers donated to ibiblio by AMD.

Webmaster
UNIX M&C: STREAMS, ABIs - January 23, 1990 AT&T PR
Thursday, June 22 2006 @ 05:52 AM EDT

Here's some more material I'll be placing on Groklaw, so we can incorporate it, page by page, into the UNIX Books methods and concepts database (and if anyone has time to input it, I'd appreciate it). I'll put the new topic, UNIX M&C, in the title of each such article. That way you can find them or avoid them, even if you are not a member.

This is an AT&T press release from January 23, 1990. It mentions both STREAMS and ABIs. Because I don't know what SCO is talking about precisely, it may not be a perfect match, but I'll leave that to others. My purpose is to research; others can evaluate.

I thought there was no STREAMS support in the official kernel, just an add-on set of sources, which I think Caldera used to ship as part of their system back in their non-loony days, so I'm puzzled by SCO's claim. I'm also puzzled because it is an implementation of a standard. Just because Linux implements something SCO once licensed an implementation of, that doesn't make SCO the owner of other people's implementations. It's like if we both take a picture of a nice sunset. Just because you license your picture, it doesn't mean you now own mine as well. The sunset is there for us both to photograph. It's the same with standards. If you implement a standard, and I'm sitting right next to you and I implement a standard, the same standard, it's like the two photographs of the sunset. And yes, inevitably they will look a lot alike.

In IBM's IBM's Memorandum in Support of Motion to Confine SCO's Claims to, and Strike Allegations in Excess of, the Final Disclosures we found out about SCO's Streams claims:

Since SCO's new theories challenge the overall structure of Linux and its file system, they appear to implicate virtually every file in Linux, which is comprised of millions lines of code. As a practical matter, the Cargill report effectively pleads a brand new and complex (although still meritless) case.

Even as to the categories of material identified in the Final Disclosures, SCO uses Dr. Cargill to expand considerably the scope of its allegations. For example:

* Header Files: The Final Disclosures identify source code in 29 Open Group header files and 15 Streams-related header files. The Cargill report goes beyond the Final Disclosures, claiming the "totality of the Streams framework". (Cargill Rpt. at 56.) That claim draws in every line in over 150 new files never before mentioned by SCO.

You can read about Linux STREAMS (LiS) here:

LiS is a software package that comprises an implementation of SVR4 compatible STREAMS for Linux. It takes the form of a loadable module for the Linux kernel. LiS installs in any directory on your system, not in the kernel source tree. When it is built it is possible to link pre-compiled STREAMS drivers with it so that when LiS loads into the kernel it brings "application" drivers with it. Alternatively, STREAMS drivers can be coded as loadable Linux drivers which depend upon LiS. In this way, individual STREAMS drivers can be loaded and unloaded dynamically.

LiS includes two adapter drivers to assist in interfacing STREAMS drivers to the Linux Kernel's TCP/IP protocols. One driver (ip_strm_mod) acts as an IP interface driver. It fits below IP using standard ifconfig procedures. It, in turn, communicates downstream with any STREAMS driver using the DLPI protocol in a fashion similar to the manner in which IP on Unix systems interfaces to lower interface drivers. This allows a DLPI STREAMS driver to act as an interface driver to Linux TCP/IP.

A second driver (ldl) sits on top of any existing Linux IP interface driver and presents a DLPI interface to STREAMS drivers above. This allows any STREAMS driver that communicates downstream using DLPI to utilize the services of existing Linux drivers for Ethernet, token ring, etc.

LiS-2.12 and beyond utilizes aggressive multi-tasking in multiple CPU SMP environments. For further information concerning this implementation, see the section on LiS SMP Implementation.

LiS is licensed using the GNU General Public Library License (except for ldl, which is licensed under the standard GNU Public License). This means that you can link proprietary STREAMS drivers with LiS and load the entirety into the Linux kernel without violating license restrictions. This licensing arrangement is intended to encourage commercial software vendors to port STREAMS based driver packages to Linux.

Then on the installing precompiled drivers page, it adds this:

LiS makes provision for you to add your own STREAMS drivers to the build of LiS. You drivers are built outside the LiS source code tree. The object code and configuration information pertaining to your driver must be copied into the LiS source code tree in order to be incorporated into LiS.

I'm not aware of any major distribution that ships STREAMS. It's for legacy UNIX migrations, so far as I know, or that's my understanding, anyway.

Here's the complete AT&T press release, and once again, I've marked parts I think may be legally significant. It is no longer available on AT&T's website, but I have a screen capture and the HTML page, saved a couple of years ago:

**************************

Dick Muldoon
201-829-7212 (office)
201-635-6699 (home)

John Skalko
201-898-3764 (office)
201-729-8202 (home)

FOR RELEASE TUESDAY, JANUARY 23, 1990

WASHINGTON, D.C. -- AT&T's UNIX Software Operation today formally accepted UNIX International's "Roadmap" for the evolution of UNIX(R) System V and said that it would continue to make enhancements to UNIX System V Release 4 available to the industry through UNIX International's "Early Access" program.

The UNIX Software Operation also introduced several new source code products, including an enhanced performance release of the OPEN LOOK(TM) Graphical User Interface, and announced its intent to release OSI protocol products aimed at making UNIX System V the operating system of choice for standards-based network computing.

"We will respond in detail to the Roadmap after we've had a chance to review it in more depth and nail down our development plans and schedules," said Larry Dooling, president of the UNIX Software Operation. "But it's clear that the Roadmap gives the industry, for the first time, a very good idea where UNIX System V is going, and that provides tremendous stability to everybody in the open systems market. UI should be congratulated for a superb job."

The first code to be shipped under UI's Early Access program will be work in progress on a security enhancement for UNIX System V Release 4. Early versions of the software, being developed with the assistance of Amdahl and Motorola, will be shipped to UI beginning in February.

The company also said that UNIX System V Release 4 source code for the Intel 386(TM) and i486(TM) microprocessors is now generally available and that a source code port for the Intel i860(TM) processor will be available early in the third quarter of 1990.

Additional UNIX Software Operation products announced or demonstrated for the first time at the Uniforum trade show here included:

* A new version of the XWIN Graphical Windowing System, a high-performance, optimized source code implementation of MIT's X Window System software.

* Graphics Services Version 2, a graphics extension to UNIX System V Release 4, that includes OPEN LOOK Release 2, the XWIN Graphical Windowing System and the X11/NeWS windowing system.

* Availability from Prentice Hall of the generic Application Binary Interface (ABI) and the WE32000 processor ABI for UNIX System V Release 4.

* A prototype X Window System graphics library for the C++ programming language, developed by Solbourne Computer Inc., which will be licensed through the UNIX Software Operation later this year.

* Release 4 of the TUXEDO Transaction Processing System, a new platform for developing open, distributed On-Line Transaction Processing applications for the UNIX System.

OPEN LOOK GRAPHICAL USER INTERFACE RELEASE 2.0

The new OPEN LOOK Graphical User Interface (GUI) Release 2.0 source code delivers faster on-screen performance. At the same time, the new release reduces the system memory required to run the interface and applications. For example, the OPEN LOOK interface, the Workspace Manager, the File Manager, the Window Manager, the UNIX operating system and two substantial applications will now run in 6 megabytes of RAM on an Intel 386 based system. In addition, the math coprocessor recommended for the previous release of the OPEN LOOK GUI is no longer required.

The improved performance of the interface is due primarily to new ways of reducing the amount of memory required by interface objects. In some cases, replacing traditional "widgets" with common industry "gadget" technology reduced memory usage up to 25 percent. More significantly, development of new "flattened widget" technology produced up to 75 percent reduction in memory use compared to widgets.

The File Manager in OPEN LOOK GUI Release 2.0 goes well beyond the "file list" of other GUIs, providing icons for files, letting users "drag and drop" data files or their icons into a running application, and providing file naming conventions that enable users to double-click on a data icon and automatically invoke an appropriate application program. The OPEN LOOK Workspace Manager enables a user to tailor the windowing environments from within the interface, without having to drop out of the interface and edit a preference file with a standard text editor.

XWIN GRAPHICAL WINDOWING SYSTEM RELEASE 3.0

Release 3 of the XWIN Graphical Windowing System, based on Version 11 Release 3 of MIT's X Window System, includes device driver support for Ethernet and StarLAN local area networks, a STREAMS interface to these LANs, EGA and VGA display support, and many bug fixes to the MIT code. The 80387 coprocessor, recommended for earlier releases, is no longer required.

In the new implementation, both narrow and wide line drawing are approximately 100 percent faster; stippling is 500 percent faster, point drawing is 87 percent faster. The new release also includes a new version of the "saveunder" feature, used to repair the parts of a screen temporarily covered by menus, that is approximately 20 times more memory efficient than the standard X Window System "saveunder" feature.

The XWIN Graphical Window System is written in ANSI standard C language and utilizes STREAMS technology. It supports any X toolkit and is compatible with UNIX System V Release 3.2.1 and above.

OSI COMMUNICATIONS PLATFORM

In response to growing interest in OSI network communications protocols, the UNIX Software Operation also announced its intent to license a portable, STREAMS-based implementation of the middle and upper layers of the OSI protocol stack. Designed specifically for UNIX System V, the software provides a standard implementation of common ISO and CCITT protocols.

The product will be designed to meet the needs of vendors who wish to comply with requirements of industry standards organizations.

Called the AT&T OSI Communications Platform - Release 1, the product will be available in a variety of packages targeted at requirements of different markets. The first product, Transport Level 4 Connection Oriented Network Service, will be generally available in May. All other components will be generally available by the third quarter. Early versions of the full OSI Communications Platform code will be available to a limited number of vendors under a "Controlled Availability" program beginning in February.

Modular elements of the OSI Communications Platform include two Transport Packages, one supporting OSI Layer 4 Connectionless network service, the other supporting OSI Layer 4 Connection Oriented services; an Application Program Library Interface - Layers 5, 6, and 7 that includes operation, administration and maintenance capabilities; File Transfer, Access and Management (FTAM) libraries; Common Management Information Service Element (CMISE) libraries; an Abstract Syntax Notation (ASN-1) Compiler that helps developers build applications for OSI networks; and a Network Management Protocol (NMP) Common Communication Platform that provides complete support of the OSI Network Management Forum message sets.


  


UNIX M&C: STREAMS, ABIs - January 23, 1990 AT&T PR | 27 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
Corrections here
Authored by: MathFox on Thursday, June 22 2006 @ 06:28 AM EDT
In one place for easy review...

---
If an axiomatic system can be proven to be consistent and complete from within
itself, then it is inconsistent.

[ Reply to This | # ]

Off topic thread
Authored by: MathFox on Thursday, June 22 2006 @ 06:37 AM EDT
For other Open Source and legal issues.
Please give a few lines of text with an HTML link...

---
If an axiomatic system can be proven to be consistent and complete from within
itself, then it is inconsistent.

[ Reply to This | # ]

The great Unix fork - Streams vs BSD
Authored by: dyfet on Thursday, June 22 2006 @ 07:42 AM EDT
From what I recall Streams is one of the important places where AT&T (SysV) Unix and BSD parted ways. The distinguishing feature of the BSD kernel for network support was the tightly coupled and highly optimized tcp/ip stack (an approach later also used in the Linux kernel), wheres one of the distinguishing features of AT&T SysV was streams (and ethernet support as well as other network protocol drivers built on top of it).

That being said, LiS is a stand-alone add-on that simulates the long publically documented SysV stream behavior, as a series of loadable kernel modules, and offers an API for building further stream drivers. Streams in this sense could be thought of as a standardized Kernel API for writing device drivers, and one that has a well defined and stable set of interfaces. LiS is mostly used by a couple of vendors to port legacy drivers from other Unix systems to the Linux kernel, and is offered by gcom, who I think made things like X.25 and frame relay boards for PC's at the time, and hence had at the time a need to port drivers for their hardware. As far as I am aware there is no connection between Gcom or Caldera whatsoever (or old SCO, etc).

Modern Linux kernels have taken a different approach to supporting legacy protocols and drivers for them more directly, and in a manner different from Streams (or any Unix kernel), so I suspect LiS is largely at a dead end these days. I recall someone saying the NT kernel uses SysV streams, though.

[ Reply to This | # ]

No Streams support in Linux AFAIK
Authored by: jseigh on Thursday, June 22 2006 @ 09:20 AM EDT
There's some emulation of stuff that's implemented in sysV as stream modules but
the code comments I've seen basically say that the kernel developers would die
before allowing streams support in Linux. Which is too bad since streams
modules are a nice way to modify device driver behavior without having to modify
the driver code itself. Although I will admit the streams driver api is ungodly
complicated. However there's no reason Linux couldn't have cleaned it up if
they had wanted to adopt it. This was a while back. Things could have changed
since then.

[ Reply to This | # ]

Now I am really confused
Authored by: James Wells on Thursday, June 22 2006 @ 10:42 AM EDT
Greetings,

I have been using Linux since '91 (early '92?), and while I know that the
kernel did not support streams in the pre-1.2 kernels, I know there was streams
support in the 1.2 kernels. I know this because I used Slackware, and at the
time, the best desktop provided by Slackware was OpenLook, and OpenLook required
not only MIT SHM, but Streams, and Semiphores, which means it required a full
IPC implementation. And further I know that this was built into the native
Kernel because I rarely, if ever, used the Slackware provided kernel after my
system was installed.

Additionally, I know for a fact that there was full IPC support in the 2.2
kernels because one of the things I used to play with was DIPC (Distributed
IPC). DIPC was an attempt to create / prove SHM, Semiphores, and message
passing across the network, thereby creating a geographically disperate
cluster.

Finally, in 92 - 95, I worked at a Navy weapons R&D facility, managing
their servers and network. At the time, the entire U.S. military was evaluating
GOSIP, the government's version of OSI, which also required Streams. Most of
my servers were SunOS boxes, and the main control node, also SunOS, used
OpenLook as the primary desktop, but it also used streams for it's remote
management. Additionally, in my freetime I was implementing GOSIP support for
my Linux desktop, which, as stated above ran Slackware.

[ Reply to This | # ]

Lot of browsable Unix Source code and manuals
Authored by: omz on Thursday, June 22 2006 @ 12:00 PM EDT

Do you believe this qualifies for the UNIX methods and concepts database ?:

http://minnie.tuhs.org/UnixTree/

"Welcome to the Unix Tree. Here you can browse the source code and manuals of various old versions of UNIX. For every file, you can also find related files from other versions: this can help show how the different versions of UNIX are related."

[ Reply to This | # ]

LiS author on Streams claim--2004
Authored by: stats_for_all on Thursday, June 22 2006 @ 01:13 PM EDT
Dave Grothe debunked the STREAMS claim in 2004 when the file list including the Streams links first surfaced:
As far as I know LiS [the Linux Streams add-on] is original work from man pages, the SVR4 STREAMS Programmers Guide and The Magic Garden. Most of it was written before I started working on it. The lion's share of my initial work on LiS was testing, debugging and portability. All the SMP work was mine and bears no resemblance to the brain-dead approach to SMP that UnixWare SVR4 STREAMS uses. Others have made contributions that seem fairly obviously to be original work -- fifos, fattach, ldl driver, inet driver, etc.
Source from archive

Dave Grothe cc'd Caldera which hosted the download when the first LiS implementation went up for 2.0. Source Linux kernel traffic

Coincidentally, Grothe was a kernel hacker on the sched.c code (semaphore additions) indentified by SCOX in 2003 as infringing. The SMP additions may be a Caldera mediated feature.
Source One
Slashdot article

The LiS STREAMS components ended development in 2005. Dave Grothe hosted, developed and maintained LiS to 2.18.0 at his company, GCOM, but has dropped support.

LiS STREAMS hosting and development was briefly taken over by OpenSS7. The OpenSS7 group had undertaken a completely new reimplementation of STREAMS starting in 2003. Current version is OpenSS7-0.9.2, the documentation on this effort at the link below, provides the rationale, wide utilization and current development history of the new reimplementation.

Source: Openss7 page

Francisco J. Ballesteros another LiS author said:

Many similarities exist between the implementation of LiS and SVR4 STREAMS. This is because initial project members followed the ``Magic Garden'' (see Resources 2) as a design guideline. Current maintainers were also heavily influenced by SVR4 STREAMS, because they had been writing STREAMS drivers for SVR4 since 1990. Thus, the stream head structure, queue structure, message structure, etc., follow the SVR4 model.
Source: Linux journal

[ Reply to This | # ]

The Sunset Picture Analogy is Not Quite Accurate
Authored by: ElvishArtisan on Thursday, June 22 2006 @ 04:09 PM EDT
Just because a particular implementation is standards complaint does not necessarily mean that it is clear of any encumberances with regard to that standard. It may or may not be -- it will depend on the specifics of the situation.

A good example (and one that bites big time in my own chosen area of work: audio multimedia) is the MPEG Layer 3 spec (commonly known as "MP3"). It's codified as an ISO/MPEG standard, but Fraunhofer IIS (a reserch lab in Germany that developed much of the original tech) still holds patent rights to the encoding algorithm, and aggressively enforces them against FOSS developers. This is the major reason why no main-stream Linux distro in the US (SuSE, RedHat) ships with an MP3 encoder.

That said, the analogy does hold good if it's copyrights that are at issue, as those adhere to the specific implementation ("expression"), not the underlying "methods and concepts".

Cheers!

[ Reply to This | # ]

Back to open release of IP
Authored by: iraskygazer on Friday, June 23 2006 @ 07:20 AM EDT
The farther back discussions go that deal with Intellectual Property it is easy
to see that very few people, except maybe lawyers, were concerned with the
concept of sharing knowlege, IP, about UNIX. The basis of standards, even closed
ones, requires sharing in order for the standard to be useful.

The more I read about the history of UNIX through Groklaw the more I've come to
realize that the sharing of knowlege in the scientific community, also InfoTech
(IT), is needed to the enable the growth and wellbeing of those or any other
community. Thus legalization/legislation of IP (Intelletual Property) is the
antithesis of what makes UNIX and LINUX what they are today.

[ Reply to This | # ]

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 )