From mboxrd@z Thu Jan 1 00:00:00 1970 From: beebe@math.utah.edu (Nelson H. F. Beebe) Date: Sat, 2 Jan 2016 11:35:08 -0700 Subject: [TUHS] Unix Circuit Design System [and FOSS] Message-ID: Clem cole 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 http://www.math.utah.edu/pub/tex/bib/nummath.bib http://www.math.utah.edu/pub/tex/bib/nummath2000.bib http://www.math.utah.edu/pub/tex/bib/nummath2010.bib [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) Stanford 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 family. 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 http://www.math.utah.edu/pub/tex/bib/gnu.bib 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 field: 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 http://www.iucat.iu.edu/?utf8=%E2%9C%93&search_field=all_fields&q=QCPE&highlight=n 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 http://dx.doi.org/10.1103/RevModPhys.35.571 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 https://en.wikipedia.org/wiki/Gaussian_%28software%29 http://www.bannedbygaussian.org/ 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 http://www.columbia.edu/cu/computinghistory/rp06.html ) 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/ - -------------------------------------------------------------------------------