| The Librarian | |
|---|---|
| Other names | CA-Librarian, Librarian |
| Original author | Applied Data Research |
| Developers | |
| Initial release | 1969; 56 years ago (1969) |
| Stable release | 4.4 / 2010; 15 years ago (2010) |
| Operating system | |
| Platform | IBM mainframe |
| Type | Revision control |
| License | Proprietary |
| Website | techdocs |
The Librarian is aversion control system andsource code management software product originally developed byApplied Data Research forIBM mainframe computers. It was designed to supplant physicalpunched card decks as a way of maintaining programs, but kept a card model in terms of its interface. During the 1970s and 1980s it was in use at thousands of IBM mainframe installations and was one of the best-selling software products in the computer industry.
After Applied Data Research was acquired byComputer Associates in 1988, the product became known asCA-Librarian. After that company was acquired byBroadcom in 2018, the product became known simply asLibrarian.
Most computer source programs in the 1960s were kept onpunched cards, which was problematic due to the amount of physical space they took, the constant chance of card decks being dropped or otherwise damaged, and problems with keeping a history of changes to the program.[1][2] Even into the mid-to-late 1970s, when other forms of computer input emerged, the punched card deck was still the most important of these, and this was also true for the source code for computer programs themselves.[3][4][5]
During its early years,Applied Data Research (ADR) was developingAutoflow, a program for automatic flowcharting, which is often cited as one of the first commercial software applications.[6] The ADR staff wanted something to help manage the increasing size of the Autoflow source code base.[1]Martin Goetz, an ADR co-founder, had used theUNITYPER system during a prior employment withSperry Rand.[1] This device wrote typed input onto a metal magnetic tape.[7] Goetz realized that source code did not have to live on punched cards, but instead could be kept in stable magnetic storage; a program called the Librarian that did this was then built for in-house use.[1] This may have taken place as early as 1965.[8]
ADR employees realized that what was valuable to them would be valuable to others.[1] At first, Librarian was offered as part of ADR's Autoflow,[1] and other software packages.[9] This arrangement was in place by 1969,[9][10] which is the date most often given for the first availability of Librarian.[11] At this point, Librarian master files were kept on magnetic tape; an advertisement that ADR ran inDatamation in 1970 related the company's own story of being able to save its Librarian tapes when a fire at ADR headquarters destroyed the building, whereas it would have been impossible to save the equivalent amount of source code had it been in punched-card file cabinets.[12][8]
Soon, ADR recognized that Librarian had a market of its own.[1] By 1971, advertisements were running for the Librarian inComputerworld that did not mention it in connection with any other ADR products.[13] A shift was made to Librarian master files being kept onmainframe disk drives, with ADR saying thatdata compression was used to keep disk drive usage to a minimum.[14] This happened around 1973.[15]
"The Librarian ... took off very quickly. It was very well priced. Its practicality and itsfunctionality were obvious. Companies were not happy maintaining card decks and if youreplace a card with another card there is absolutely no way of keeping track of it; so from anauditing perspective, forgetting about security, there was no way to maintain an audit trail ofchanges you made to a program. It was just sort of an obvious type of application, so we sold lots of systems. They were low priced and sold very quickly. It was always veryprofitable for ADR."
The Librarian quickly found success in the market and began being used by a large number of installations.[16] Even though ADR had a sometimes contentious relationship with IBM, after one rapprochement between the two companies IBM became a heavy user of Librarian itself.[8] The Librarian, along with Autoflow, became responsible for much of ADR's revenue and rapid growth as a company.[17] Per a survey that ADR conducted amongst its customers, use of the Librarian significantly increased programmer productivity, especially in the areas of ongoing maintenance and enhancement of existing applications.[16] Buoyed by this, ADR introduced other software packages in the category of programming tools.[17]
By 1973, the Librarian had garnered a spot in theDatapro Research Corporation's Software Honor Roll for the number of customers and associated satisfaction that the package had,[18] based on surveys conducted by Datapro.[19] It made the Honor Roll in subsequent years as well.[20] One 1979 analysis of software packages for IBM mainframe environments rated the Librarian as one of the few packages that excelled both in total number of installations and total amount of sales volume.[16]
According to sales figures given toInternational Computer Programs, Inc. (ICP),[19] by 1977, the Librarian was in use at some 3,300 sites – the most of any such software package it was tracking – and had aggregate sales revenues of over $10 million.[20] By 1979, that number had increased to 4,500 installations.[16] In 1982, ICP gave The Librarian an award for $50 million in total sales.[21]
In 1985, the Librarian was named by ICP as a recipient for the $100 Million Award, again reflecting lifetime aggregate sales.[22] It was one of only a handful of system software products to reach that level.[22] This was followed in 1989, when ICP gave an award for $250 million in total sales for Librarian.[23]
Throughout much of its existence, Librarian's main competitor was thePanvalet product fromPansophic Systems.[18][19][24] It had roughly the same number of installations as the Librarian. As recollected by Pansophic's founder, Joseph A. Piscopo, "Panvalet and Librarian basically divided the program library market between the two of them.... Virtually everyone ended up with one or the other of the products."[2]

The punched card was at the time the model for many kinds of computer input, including for those representing source code.[3] The Librarian works by interspersing its own control cards with the source program cards.[25] These could be physical cards, or later, lines in a file kept on disk and shown and edited on display terminals. In any case, the Librarian operated under abatch processing model.[26]
Librarian control cards begin with a hyphen.[25] Some, such as-DESC,-PGMR, and-LANG, are used to provide basic identifying information about a Librarian module. For the language, some typical values areASM for370 Assembly language andCBL forCOBOL.[27]
The Librarian makes use of sequence numbers in the source file. Traditionally these occurred as columns 1–6 of a COBOL line (before the continuation indicator in column 7, area A starting in column 8 and area B starting in column 12),[4] or columns 73–80 of a 370 Assembly language line,[5] likewise columns 73–80 forFORTRAN,[28] and so forth. For instance, on the Librarian-ADD control card, which adds a new source module to Librarian, the optionSEQ=COBOL indicates that the sequencing numbers to Librarian should match those normally used in COBOL programming.[27]
The main control cards used in modifying existing programs are-INS,-REP, and-DEL.[25] An example set of cards to update a COBOL program might be:
-REP 340 RECORD CONTAINS 704 CHARACTERS-INS 360 01 PER-MASTER-REC. 03 PER-MASTER-KEY. 05 PER-MASTER-DIV PIC XX. 05 PER-MASTER-DEPT PIC 999. 05 PER-MASTER-JOB-CL PIC 999. 05 FILLER PIC XXX.-REP 430 03 FILLER PIC X(693).-DEL 540,590-REP 1470 OR PER-MASTER-DIV GREATER THAN '94'.
The-INC control card can be used for including the source of another module into this one. It serves as an extralinguistic feature for programming languages or kept data that do not have aninclude directive of any kind or for shops that prefer that the source configuration system do inclusions even for languages that did have such a directive. Librarian users have control over under which circumstances, or phase, any-INC statements would be expanded.[29] For instance, the inclusion will be done by a-SEL modname operation but not by a-PUNCH operation.[27] In practice, however, inclusion of this kind can also be done using language-specific constructs,[27] such as the COBOLCOPY statement.[4]
In addition to keeping track of the history of changes to modules, the Librarian had features that supported the auditability, integrity, and recoverability of the master file of source modules.[30]
While Librarian insert/replace/deletion operations were tractible for modifications to existing code, they were an awkward vehicle in which to write new programs, where large numbers of changes or refactorings would often take place.[26] One practice to work around this was either keep the entire program in a card deck or in a file in an online, interactive environment with a text editor, such asSource Program Maintenance Online (SPM) running under IBM'sCICS teleprocessing monitor, that would be repeatedly submitted for batch compiles or assemblies. The file would comprise something like:
...//EXECSTRMLIB-DLM modulename, pswd-ADD modulename, pswd, [other options]... complete source code of program ...//EXECASM/COBCL/whatever...
In this way, the module under development could be edited within the online text editor rather than with Librarian control cards, but the latest iteration would still be preserved within Librarian between batch compiles. Once the program was in a working state, however, normal Librarian updates would be done in order to keep track of changes to the module.[27]
Librarian could be used in other online environments as well. And in 1976, ADR released the Librarian/Online product, which depending upon its version allowed a user logged into CICS to either submit a job to batch Librarian or to interactively update sources files in a split-screen interface.[31] However, the company experienced low sales of the product, due to free or low-cost alternatives from IBM, such asTSO for largerMVS installations or the aforementionedSPM forOS/VS1 orDOS/VSE sites, being available.[15] Focused mostly on DOS/VS and DOS/VSE systems,[32] the Librarian/Online product was subsequently renamed Vollie.[15]
The Librarian went through a series of releases, both to add new functionality and to support changes in IBM mainframe environments. For instance, a new release in 1976 added support for theOS/VS1 andOS/VS2 operating systems.[33] An illustration of an enhancement was the addition of the LIB/AM interface in 1983, which allowed the Librarian to appear like apartitioned data set to certain programs and utilities.[34] Some of ADRs other offerings were integrated with the Librarian, for instance its Datadictionary product.[35][36]
By 1981, Release 3.0 of the Librarian was out.[35] Release 3.4, made in 1985, added support for the more interactiveVM/CMS operating system andISPF environment, both at the CMS command line and in ISPF panels and menus and editors.[37] By 1986, the Librarian Release 3.5 was out, introducing a Change Control Facility for greater management and awareness of thesoftware development cycle.[24][38] Early 1988 saw version 3.7 which added the Change Control Facility to the CMS/ISPF environment[38] By then, the Librarian was in use at over 6,000 sites and was still an important product for ADR.[11] Release 3.8 of the Librarian came out later in 1988, just as the product was being acquired byComputer Associates.[39] It added the Librarian/Change Control Facility functionality for theDOS/VSE platform.[39]
Over time, approaches to version control began to move away from the Librarian model, with theSource Code Control System (SCCS) being an important early alternative.[26] This was, as one of the creators of it said, "a radical departure from conventional methods for controlling source code",[40] and gave more flexibility for complicated situations such asbranching.[26] SCCS was actually originally written for IBM OS/370,[40] but found favor on theUNIX operating system for thePDP-11 where it was included in theProgrammer's Workbench.[26]
Nonetheless, the IBM mainframe world still went on. In 1988, ADR was acquired byComputer Associates (CA).[39] The ADR product then became known as CA-Librarian.[41] CA made enhancements to some of its other products to integrate with CA-Librarian.[42] By 2003, version 4.3 of CA-Librarian was available, and was billed as being part of CA's AllFusion product suite.[25] Release 4.4 of CA-Librarian appears to have come out in 2010.[43]
In 2018,Broadcom Inc. acquired CA Technologies (the latest name for Computer Associates).[44] The product name then became simply Librarian,[45] although the CA-Librarian name did not disappear.[46]
As of 2023[update], the Librarian is part of Broadcom's Mainframe Software line under a category forDevOps-related products.[45] The current product version is Librarian 4.4.[47]
The 2022 bookModern Mainframe Development, published byO'Reilly Media, lists CA Librarian as one of the source control systems still in use by mainframe developers, along with a few others such asIBM Software Configuration and Library Manager and ChangeMan ZMF fromMicro Focus.[46]