[TUHS] Unix Circuit Design System [and FOSS]

Nelson H. F. Beebe beebe at math.utah.edu
Sun Jan 3 04:35:08 AEST 2016

Clem cole <clemc at ccc.com> writes on Thu, 31 Dec 2015 23:04:04 -0500
about SPICE:

>> ...
>> Anyway SPICE1 was actually started in the late 1960's by dop [Don
>> Pederson]. Ellis Cohen wrote SPICE2 for the CDC 6400 in the mid 70's,
>> added some new device models and created really novel bit of self
>> modifying Fortran the compiled the inner loop.
>> You are correct it was really the first widely available FOSS code -
>> an idea that you correctly note dop created.
>> ...

SPICE wasn't the only such package, or even the earliest!  Still, I'll
be grateful to list readers for pointers off-list (or on) to early
publications about SPICE that I can add to the bibliography archives.

The EISPACK system, which predated LINPACK, and both of which led to
the current LAPACK, and descendants like CLAPACK and ScaLAPACK, has an
older vintage.  It began with Algol routines published in the
German/English journal Numerische Mathematik


[change .bib to .html for a similar view with live hyperlinks]

The first such routine may have been that in entry Martin:1965:SDPa in
nummath.bib, which appeared in Num. Math. 79(5) 355--361 (October
1965) doi:10.1007/BF01436248.  That journal did not then record
"received" dates, so the best that I can do for now is to claim
"October 1965" as the start of published code for free and open source
software in the area of numerical analysis.

Publication of related algorithms continued for 6 years, and then they
were collected in the famous HACLA (Handbook for Automatic
Computation: Linear Algebra) volume in 1971 (ISBN 0-387-05414-6).

Because Algol was little used in the USA, a project was begun in that
country to translate the Algol code to Fortran.  That project was
called NATS, which originally stood for the groups at (read their
names vertically)

	Northwestern University
	Argonne National Laboratory
	Texas, University of (at Austin)

but as more groups joined in the effort, and EISPACK begat LINPACK,
NATS was changed to mean National Activity to Test Software.

The EISPACK book appeared in two editions in 1976 (ISBN 0-387-06710-8)
and 1977 (0-387-08254-9), volumes 6 and 51, respectively of Springer's
Lecture Notes in Computer Science (now around 9000 published volumes).

The LINPACK book appeared in 1979 (ISBN 0-89871-172-X).

The LAPACK book has three editions, in 1992 (ISBN 0-89871-294-7), 1995
(ISBN 0-89871-345-5), and 1999 (ISBN 0-89871-447-8).  In between them,
the ScaLAPACK book appeared in 1997 (ISBN 0-89871-400-1).

There were several other packages described in the 1984 book

	Sources and Development of Mathematical Software
	ISBN 0-13-823501-5

(entry Cowell:1984:SDM), including FUNPACK, MINPACK, IMSL, SLATEC,
Boeing, AT&T PORT, and NAG.  Some are free, and others are commercial.

The Algol code from Numerische Mathematik, like the ACM Collected
Algorithms, the Applied Statistics algorithms, and the Transactions on
Mathematical Software algorithms, was intended to be freely available
to anyone for any purpose, and no license of any kind was claimed for
it.  That tradition continues with all of its descendants in the *PACK

I have old archives of source code for EISPACK and LINPACK, but
comment documentation in EISPACK does not include revision dates, just
references to page numbers in the HACLA volume from 1971, and rarely,
to journal articles from 1968, 1970 and 1973.  My filesystem dates,
alas, only reflect the copying from distribution tape to disk, and my
oldest file date for EISPACK is 20-Apr-1981.

The LINPACK comments appear be almost entirely without dates: I found
only one:

	snrm2.for:11:C           C.L.LAWSON, 1978 JAN 08

The bibliography on the GNU Project at


records most of the books mentioned above, and it also contains as its
first entry, Galler:1960:LEC, a letter published in the April 1960
issue of Communications of the ACM from Bernie Galler, with this

  remark =       "From the letter: ``\ldots{} it is clear that what is
                 being charged for is the development of the program,
                 and while I am particularly unhappy that it comes from
                 a university, I believe it is damaging to the whole
                 profession. There isn't a 704 installation that hasn't
                 directly benefited from the free exchange of programs
                 made possible by the distribution facilities of
                 SHARE. If we start to sell our programs, this will set
                 very undesirable precedents.''",

That is so far the earliest reference that I have found for the notion
that software should be free, long before Richard Stallman, Eric
Raymond, Linus Torvalds, and others became such well-known proponents
of that idea, and we had large and profitable companies like Red Hat
and SUSE devoted to supporting, for a fee, such software.

I was a graduate student in quantum chemistry at the Quantum Theory
Project (QTP) at the University of Florida in Gainesville in the late
1960s and early 1970s, and we had a general practice of sharing of
code among various university research groups, most notably through
the Quantum Chemistry Program Exchange (QCPE) hosted at the University
of Indiana in Bloomington, IN.

A search through my bibliography archives found my earliest recording,
a 6-Apr-1971 publication (by me), with mention of QCPE.  Library
searches found a catalog entry for QCPE Catalog volume 19 (1987), so
perhaps volume 1 appeared in 1968.  But no --- I just found in its
home institution's library catalog


an entry dated 1963, with details

	Publishing history: 1 (Apr. 1963)- Ceased with 71 (Nov. 1980).

Other widely-distributed programs of that time included Enrico
Clementi's IBM Research group's IBMOL (about 1965), and others named
MOLECULE (pre-1975), POLYATOM (1963), and Gaussian (1970).

The POLYATOM year appears to be the earliest of those: see the paper
by Michael Barnett at


It appears in a July 1963 journal issue, again without a "received"
date.  It begins:

	A system of programs is being written by Dr.  Malcolm
	C. Harrison, Dr. Jules W. Moskowitz, Dr. Brian T. Sutcliffe,
	D. E. Ellis, and R. S. Pitzer, to perform nonempirical
	calculations for small molecules.

I have met, or been in the same group as (Don Ellis), most of those,
and it is worth noting their affiliations to emphasize the broad
character of that work:

	Malcolm		Courant Institute of Mathematical Sciences, New York University, NY
	Jules		New York University, NY
	Brian		York University, York, UK
	Don		University of Florida (later, Northwestern University)
	Russ		Harvard, Cambridge, MA (later, Ohio State University)
	Michael		MIT, Cambridge, MA and various UK sites in academia and industry
			(see https://en.wikipedia.org/wiki/Michael_P._Barnett)

On the subject of the Gaussian program, developed at Carnegie-Mellon
University, see the two sites


The second decries the loss of openness of Gaussian, which remains a
widely-used commercial product.

There is also a book on the subject of mathematics whose use is
encumbered by patents and copyrights:

	Ben Klemens
	Ma$+$h you can't use: patents, copyright, and software
	ISBN 0-8157-4942-2

(entry Klemens:2006:MYC in http://www.math.utah.edu/pub/tex/bib/master.bib)


P.S. A final sad personal note on computing history:

When our DEC-20/60 (Arpanet node UTAH-SCIENCE, later science.utah.edu
and still later, math.utah.edu) was retired on 31-Oct-1990 (its
predecessor, a DEC-20/40 began operating in March 1978) we were faced
with several cabinets full of 9-track tapes (about 25MB each), several
RP06 (200MB) removable disks (for a picture and description, see


) and the contents of three washing-machine sized RP07 (600MB) disks,
and were moving to a new machine room in an adjacent building.

We were able to copy over the RP0[67] disk contents, and I still have
them online on my desktop, but the tapes were financially infeasible
for us to copy to disk on the new VAX 8600 server, and we were leaving
9-track tape technology behind.  There were probably 500 to 1000 of
those tapes, and all that we could do was fill a dumpster with them,
because we had no place to store the physical volumes at the new site,
and no money for their bits.  I have deeply regretted that loss of 25
years of my, and our, early computing history ever since.

Computers were for far too long crippled by too little memory and too
little permanent storage, and only post-2000 has that situation been
alleviated with radical reductions in storage costs per byte of data.
My new desktop 8TB drive is 3.6 million times cheaper per byte than an
RP06 drive was.  Had we been able to foresee that dramatic growth in
capacity, we could have archived those tapes in an off-campus
warehouse for later (attempted) data retrieval.


P.P.S. Besides VAX VMS, our migration path from TOPS-20 was primarily
to Unix, first on the Wollongong distribution of BSD (3.x, I think)
running on VAX 750 machines in the early 1980s, then on Sun 3
MC68000-based workstations in 1988 that ultimately evolved to an
eclectic mixture of CPUs and vendors.  My software test lab now has
about 70 flavors of Unix on assorted physical and virtual machines,
with ARM, MIPS, PowerPC, SPARC, x86, and x86-64 processors.  Our last
DEC Alpha CPU died with its power supply 16 months ago, and a
colleague still has a runnable MC68020 box (an old NeXT desktop).

- Nelson H. F. Beebe                    Tel: +1 801 581 5254                  -
- University of Utah                    FAX: +1 801 581 4148                  -
- Department of Mathematics, 110 LCB    Internet e-mail: beebe at math.utah.edu  -
- 155 S 1400 E RM 233                       beebe at acm.org  beebe at computer.org -
- Salt Lake City, UT 84112-0090, USA    URL: http://www.math.utah.edu/~beebe/ -

More information about the TUHS mailing list