It is a familiar fact that scientific software tends to do a lot of vector arithmetic and similar, that one does not want to keep rewriting the low-level code for such, so the usual practice is to use an off-the-shelf arithmetic library such as LINPACK.
I've been trying to track down the early history of such, and apparently the first such library was IBM's Scientific Subroutine Package (SSP), which was presumably bundled with IBM hardware in the early days (because IBM software in general was, prior to the great unbundling of 1969) and which seems to have been important and widely used in its day, until superseded by EISPACK in the early seventies.
An excellent, detailed account of the creation of EISPACK can be found at https://web.archive.org/web/20170702065825/http://history.siam.org/pdfs2/Dongarra_%20returned_SIAM_copy.pdf
Now, I'm trying to understand this history from the perspective of the people who were there at the time, and I keep trying to think of what I would do if I were a software manager at IBM, and it seems to me that I would consider it important to keep SSP up to date, keep it the number one choice, because that is something that could very well influence the purchase of computer equipment at academic institutions, which could later influence the purchase of equipment in business by students graduated from those academic institutions.
Was IBM's lunch simply eaten by a hungry and determined competitor? It doesn't quite look like that. From the above document, it seems that EISPACK was written by academics; in general, academics do not regard the writing of code is a high-value activity, but as something best avoided if reasonably possible; this does seem to have been the case here; from the above document:
That kind of software is always one of these funny things in terms of providing research funds. If you’re writing software, many people ask the question “where’s the research contribution in working on software, how does it affect us and why should we be paying for this?” So that’s been a constant source of problems from the political side in funding mathematical software on a level with some of the research that’s done in other areas. And sometimes we’d have to hide the fact that we’re writing software, so we’d say that we’re developing portable techniques...
It does, on reflection, feel a little surprising for the world's strongest IT company to be outcompeted by people who weren't even supposed to be spending their time writing code.
So what happened?
Did someone at IBM fall asleep at the wheel?
Did the EISPACK developers discover some new techniques so important that it was worth redoing a lot of programming work that had previously been done by a corporate team?
Did the EISPACK developers decide that portability was so important that it was worth redoing that work? If so, are there any statements on record from any of them explaining this decision and the reasoning behind it? The above document contains no indication of such.
Is there some other factor that I am missing?