The Librarian (version control system)

Last updated
The Librarian
Other namesCA-Librarian, Librarian
Original author(s) Applied Data Research
Developer(s)
Initial release1969;54 years ago (1969)
Stable release
4.4 / 2010;13 years ago (2010)
Operating system
Platform IBM mainframe
Type Revision control
License Proprietary
Website techdocs.broadcom.com/us/en/ca-mainframe-software/devops/ca-librarian/4-4.html

The Librarian is a version control system and source code management software product originally developed by Applied Data Research for IBM mainframe computers. It was designed to supplant physical punched 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.

Contents

After Applied Data Research was acquired by Computer Associates in 1988, the product became known as CA-Librarian. After that company was acquired by Broadcom in 2018, the product became known simply as Librarian.

History

Most computer source programs in the 1960s were kept on punched 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 developing Autoflow, 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 the UNITYPER system during a prior employment with Sperry 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]

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. [8] This arrangement was in place by 1969. [8] [9] At this point, Librarian master files were kept on magnetic tape; an advertisement that ADR ran in Datamation in 1970 related the story of being able to save Librarian tapes when a fire broke out, whereas it would have been impossible to save the equivalent amount of source code had it been in punched card file cabinets. [10]

Soon, ADR recognized that Librarian had a market of its own. [1] By 1971, advertisements were running for the Librarian in Computerworld that did not mention it in connection with any other ADR products. [11] A shift was made to Librarian master files being kept on mainframe disk drives, with ADR saying that data compression was used to keep disk drive usage to a minimum. [12]

"The Librarian ... took off very quickly. It was very well priced. Its practicality and its functionality were obvious. Companies were not happy maintaining card decks and if you replace a card with another card there is absolutely no way of keeping track of it; so from an auditing perspective, forgetting about security, there was no way to maintain an audit trail of changes 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 very profitable for ADR."

—Martin Goetz in 2002 [1]

The Librarian quickly found success in the market and began being used by a large number of installations. [13] The Librarian, along with Autoflow, became responsible for much of ADR's revenue and rapid growth as a company. [14] 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. [13] Buoyed by this, ADR introduced other software packages in the category of programming tools. [14]

By 1973, the Librarian had garnered a spot in the Datapro Research Corporation's Software Honor Roll for the number of customers and associated satisfaction that the package had, [15] based on surveys conducted by Datapro. [16] It made the Honor Roll in subsequent years as well. [17] 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. [13]

According to sales figures given to International Computer Programs, Inc. (ICP), [16] 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. [17] By 1979, that number had increased to 4,500 installations. [13] In 1982, ICP gave The Librarian an award for $50 million in total sales. [18]

In 1985, the Librarian was named by ICP as a recipient for the $100 Million Award, again reflecting lifetime aggregate sales. [19] It was one of only a handful of system software products to reach that level. [19] This was followed in 1989, when ICP gave an award for $250 million in total sales for Librarian. [20]

Throughout much of its existence, Librarian's main competitor was the Panvalet product from Pansophic Systems. [15] [16] [21] 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]

Operation

Librarian listing of a source module, showing history and other attributes Librarian listing of CICS Program Control Table.jpg
Librarian listing of a source module, showing history and other attributes

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. [22] 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 a batch processing model. [23]

Librarian control cards begin with a hyphen. [22] Some, such as -DESC, -PGMR, and -LANG, are used to provide basic identifying information about a Librarian module. For the language, some typical values are ASM for 370 Assembly language and CBL for COBOL. [24]

The Librarian makes use of sequence numbers in the source file. Traditionally these occurred as columns 16 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 7380 of a 370 Assembly language line, [5] likewise columns 7380 for FORTRAN, [25] and so forth. For instance, on the Librarian -ADD control card, which adds a new source module to Librarian, the option SEQ=COBOL indicates that the sequencing numbers to Librarian should match those normally used in COBOL programming. [24]

The main control cards used in modifying existing programs are -INS, -REP, and -DEL. [22] 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 an include 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. [26] For instance, the inclusion will be done by a -SEL modname operation but not by a -PUNCH operation. [24] In practice, however, inclusion of this kind can also be done using language-specific constructs, [24] such as the COBOL COPY statement. [4]

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. [23] One practice to work around this was to keep the program in a file in an online, interactive environment with a text editor, such as Source Program Maintenance Online running under CICS, 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. [24] Later, a workflow such as this could be done via the editor in the IBM ISPF facility. [27]

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. [28]

Releases

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 the OS/VS1 and OS/VS2 operating systems. [29] An illustration of an enhancement was the addition of the LIB/AM interface in 1983, which allowed the Librarian to appear like a partitioned data set to certain programs and utilities. [30] Some of ADR's other offerings were integrated with the Librarian, for instance its Datadictionary product. [31] [32]

By 1981, Release 3.0 of the Librarian was out. [31] Release 3.4, made in 1985, added support for the more interactive VM/CMS operating system and ISPF environment, both at the CMS command line and in ISPF panels and menus and editors. [27] By 1986, the Librarian Release 3.5 was out, introducing a Change Control Facility for greater management and awareness of the software development cycle. [21] [33] Early 1988 saw version 3.7 which added the Change Control Facility to the CMS/ISPF environment [33] Release 3.8 of the Librarian came out later in 1988, just as the product was being acquired by Computer Associates. [34] It added the Librarian/Change Control Facility functionality for the DOS/VSE platform. [34]

Later years

Over time, approaches to version control began to move away from the Librarian model, with the Source Code Control System (SCCS) being an important early alternative. [23] This was, as one of the creators of it said, "a radical departure from conventional methods for controlling source code", [35] and gave more flexibility for complicated situations such as branching. [23] SCCS was actually originally written for IBM OS/370, [35] but found favor on the UNIX operating system for the PDP-11 where it was included in the Programmer's Workbench. [23]

Nonetheless, the IBM mainframe world still went on. In 1988, ADR was acquired by Computer Associates (CA). [34] The ADR product then became known as CA-Librarian. [36] CA made enhancements to some of its other products to integrate with CA-Librarian. [37] By 2003, version 4.3 of CA-Librarian was available, and was billed as being part of CA's AllFusion product suite. [22] Release 4.4 of CA-Librarian appears to have come out in 2010. [38]

In 2018, Broadcom Inc. acquired CA Technologies (the latest name for Computer Associates). [39] The product name then became simply Librarian, [40] although the CA-Librarian name did not disappear. [41]

As of 2023, the Librarian is part of Broadcom's Mainframe Software line under a category for DevOps-related products. [40] The current product version is Librarian 4.4. [42]

The 2022 book Modern Mainframe Development, published by O'Reilly Media, lists CA Librarian as one of the source control systems still in use by mainframe developers, along with a few others such as IBM Software Configuration and Library Manager and ChangeMan ZMF from Micro Focus. [41]

See also

Related Research Articles

Systems Network Architecture (SNA) is IBM's proprietary networking architecture, created in 1974. It is a complete protocol stack for interconnecting computers and their resources. SNA describes formats and protocols but, in itself, is not a piece of software. The implementation of SNA takes the form of various communications packages, most notably Virtual Telecommunications Access Method (VTAM), the mainframe software package for SNA communications.

<span class="mw-page-title-main">IBM Series/1</span> 1970s era IBM minicomputer

The IBM Series/1 is a 16-bit minicomputer, introduced in 1976, that in many respects competed with other minicomputers of the time, such as the PDP-11 from Digital Equipment Corporation and similar offerings from Data General and HP. The Series/1 was typically used to control and operate external electro-mechanical components while also allowing for primitive data storage and handling.

In computing, Interactive System Productivity Facility (ISPF) is a software product for many historic IBM mainframe operating systems and currently the z/OS and z/VM operating systems that run on IBM mainframes. It includes a screen editor, the user interface of which was emulated by some microcomputer editors sold commercially starting in the late 1980s, including SPF/PC.

Time Sharing Option (TSO) is an interactive time-sharing environment for IBM mainframe operating systems, including OS/360 MVT, OS/VS2 (SVS), MVS, OS/390, and z/OS.

<span class="mw-page-title-main">CICS</span> IBM mainframe transaction monitor

IBM CICS is a family of mixed-language application servers that provide online transaction management and connectivity for applications on IBM mainframe systems under z/OS and z/VSE.

Adabas, a contraction of “adaptable database system," is a database package that was developed by Software AG to run on IBM mainframes. It was launched in 1971 as a non-relational database. As of 2019, Adabas is marketed for use on a wider range of platforms, including Linux, Unix, and Windows.

<span class="mw-page-title-main">CA Technologies</span> U.S. software company (1976–2018), also known as Computer Associates

CA Technologies, Inc., formerly Computer Associates International, Inc., and CA, Inc., was an American multinational enterprise software developer and publisher that existed from 1976 to 2018. CA grew to rank as one of the largest independent software corporations in the world, and at one point was the second largest. The company created systems software that ran in IBM mainframe, distributed computing, virtual machine, and cloud computing environments.

Plug compatible refers to "hardware that is designed to perform exactly like another vendor's product." The term PCM was originally applied to manufacturers who made replacements for IBM peripherals. Later this term was used to refer to IBM-compatible computers.

Since the rise of the personal computer in the 1980s, IBM and other vendors have created PC-based IBM-compatible mainframes which are compatible with the larger IBM mainframe computers. For a period of time PC-based mainframe-compatible systems had a lower price and did not require as much electricity or floor space. However, they sacrificed performance and were not as dependable as mainframe-class hardware. These products have been popular with mainframe developers, in education and training settings, for very small companies with non-critical processing, and in certain disaster relief roles.

<span class="mw-page-title-main">Applied Data Research</span>

Applied Data Research (ADR) was a large software vendor from the 1960s until the mid-1980s. ADR is often described as "the first independent software vendor".

<span class="mw-page-title-main">Capex Corporation</span> American software company (1969–1982)

Capex Corporation was an American computer software company in existence from 1969 through 1982 and based in Phoenix, Arizona. It made a variety of software products, mostly system utilities for the IBM mainframe platform, and was known for its Optimizer add-on to the IBM COBOL compiler. Capex was acquired by Computer Associates in 1982.

Datacom/DB is a relational database management system for mainframe computers. It was developed in the early 1970s by Computer Information Management Company and was subsequently owned by Insyte, Applied Data Research, Ameritech, and Computer Associates International, Inc. Datacom was acquired by CA Technologies, which renamed it to CA-Datacom/DB and later to CA Datacom/DB. In 2018, Broadcom acquired CA Technologies which included the CA Datacom product family. In 2021, Broadcom has dropped the CA and now refers to the product family as Datacom or Datacom/DB.

CPCS is an IBM software product that supports high-speed check sorting within financial institutions. The software works in conjunction with check-sorting equipment, such as the IBM 3890.

DUCS was a teleprocessing monitor from CFS Inc. It was one of two early local teleprocessing packages for IBM's DOS/VSE environment. DUCS provided an interface and access method for programmers to 'talk' to monitors. Such access methods later became known as APIs.

Edos is a discontinued operating system based upon IBM's original mainframe DOS. The name stood for extended disk operating system. It was later purchased by the West German computer company Nixdorf, who renamed it to NIDOS.

<span class="mw-page-title-main">Maestro I</span> IDE software developed by Softlab Munich

Maestro I was an early integrated development environment for software. developed by Softlab Munich in the 1970s and 1980s.

Martin A. Goetz is a retired software engineer who was a pioneer in the development of the commercial software industry. He holds the first software patent, and was product manager of Autoflow from Applied Data Research (ADR), which is generally cited as the first commercial software application.

Computer Associates Panvalet is a revision control and source code management system originally developed by Pansophic Systems for mainframe computers such as the IBM System z and IBM System/370 running the z/OS and z/VSE operating systems.

<span class="mw-page-title-main">IBM 711</span> Punched card reader for early computers

The IBM 711 was a punched card reader used as a peripheral device for IBM mainframe vacuum tube computers and early transistorized computers. Announced on May 21, 1952, it was first shipped with the IBM 701. Later IBM computers that used it were the IBM 704, the IBM 709, and the transistorized IBM 7090 and 7094.

Business Controls Corporation is a privately held computer company that developed an application-program-generator and also a series of accounting software packages. These packages were widely enough used for various business magazines to have back-of-the-book ads for companies seeking accountants with experience in one or more of them.

References

  1. 1 2 3 4 5 6 7 8 Goetz, Martin (May 3, 2002). "An Interview with Martin Goetz" (Interview). Interviewed by Jeffrey R. Yost. Washington, D.C.: Charles Babbage Institute, University of Minnesota. pp. 5–7. Retrieved May 26, 2023.
  2. 1 2 Piscipo, Joseph (May 3, 2002). "An Interview with Joseph Piscopo" (Interview). Interviewed by Thomas Haigh. Washington, D.C.: Charles Babbage Institute, University of Minnesota. pp. 3, 5, 12–13. Retrieved May 26, 2023.
  3. 1 2 Popkin, Gary S.; Pike, Arthur H. (1977). Introduction to Data Processing. Boston: Houghton Mifflin Company. pp. 76, 116, 296. ISBN   0-395-20628-6.
  4. 1 2 3 McCracken, Daniel D. (1976). A Simplified Guide to Structured COBOL Programming. New York: John Wiley & Sons. pp. 6–9, 346–347. ISBN   0-471-58284-0.
  5. 1 2 McQuillen, Kevin (1975). System/360–370 Assembler Language (OS). Fresno, California: Mike Murach & Associates. pp. 8, 56–59. LCCN   74-29645.
  6. Lee, Timothy B. (March 28, 2014). "In new case, Supreme Court revisits the question of software patents". The Washington Post. Archived from the original on April 2, 2014.
  7. "Unityper II, Data Entry Device for the Univac Computer". Smithsonian National Museum of American History. Retrieved August 3, 2023.
  8. 1 2 "uncertain". Modern Data Systems. Vol. 2, no. uncertain. 1969. p. 102.
  9. "uncertain". Data Management (Advertisment). Vol. 7, no. uncertain. 1969. p. 4.
  10. "uncertain". Datamation (Advertisment). Vol. 16, no. uncertain. 1970. p. 5.
  11. "The Librarian tells you where you are, where you're going, and what you've done... just in case you forget". Computerworld (Advertisement). December 1, 1971. p. 3.
  12. "The Librarian and MetaCOBOL from ADR ..." Computerworld (Advertisement). September 20, 1976. p. 3.
  13. 1 2 3 4 Frank, Werner (January 15, 1979). "The New Software Economics: Part 2". Computerworld. pp. 4–7 (In Depth).
  14. 1 2 Campbell-Kelly, Martin (2003). From Airline Reservations to Sonic the Hedgehog: A History of the Software Industry. MIT Press. p. 116. ISBN   0-262-03303-8 via OpenLibrary.
  15. 1 2 "Packages Cited In Honor Roll". Computerworld. August 29, 1973. p. 11.
  16. 1 2 3 Leavitt, Don (March 27, 1978). "Software winners' ranks swelling". Computerworld. p. 2.
  17. 1 2 Leavitt, Don (April 4, 1977). "New Ideas Sought to Bring Order to Package Surveys". Computerworld. p. 19.
  18. Blumenthal, Marcia (April 5, 1982). "ICP Honors 342 Software Products". Computerworld. pp. 1, 10.
  19. 1 2 "ICP gives awards to top-selling software tools". Computerworld. April 22, 1985. p. 11.
  20. "The 18th Annual ICP Million Dollar Awards". Insurance Software Review. June 1989. p. 15. ProQuest   229252239 via ProQuest.
  21. 1 2 Babcock, Charles (June 16, 1986). "Tool manages source code". Computerworld. pp. 19, 22.
  22. 1 2 3 4 "AllFusion CA-Librarian Batch Command Reference Guide 4.3" (PDF). Computer Associates. 2003. pp. i, ii, 2–1, 2–3. Retrieved August 10, 2023.
  23. 1 2 3 4 5 Bianchi, M. H.; Wood, J. L. (1976). "A user's viewpoint on the Programmer's Workbench". In Proceedings of the 2nd international conference on Software engineering (ICSE '76). IEEE Computer Society Press. pp. 193–199.
  24. 1 2 3 4 5 MSH EDP Experimental Resources Manual. New York: The Mount Sinai Medical Center. 1982. pp. 1–4, 1–7.
  25. Blatt, John M. (1971). Introduction to FORTRAN IV Programming: Using the WATFOR/WATFIV Compilers. Pacific Palisades, California: Goodyear Publishing Company. p. 254. ISBN   0-87620-440-X.
  26. "CA Librarian Members". Natural ISPF 8.2.8 User's Guide. Software AG. Retrieved June 12, 2023.
  27. 1 2 "Software & Services: System Software". Computerworld. February 11, 1985. pp. 66, 68.
  28. Corelis, Jon (December 1987). "Source Code Security: A Checklist for Managers". SIGUCCS Newsletter. 17 (4): 26–28. doi:10.1145/382266.382431. S2CID   24797580.
  29. "'The Librarian' Now Available for IBM 360/370 VS users". Computerworld. September 27, 1976. p. 24.
  30. "ADR Announces Translator Interface for OS/MVS Sites". Computerworld. December 5, 1983. p. 67.
  31. 1 2 "ADR Updates 'Datadictionary' To Integrate 'The Librarian'". Computerworld. March 16, 1981. p. 47.
  32. Allen, Frank W.; Loomis, Mary E. S.; Mannino, Michael V. (June 1982). "The Integrated Dictionary/Directory System". ACM Computing Surveys. 14 (2): 245–286. doi:10.1145/356876.356882. S2CID   18623739.
  33. 1 2 "New Products: System Software". Computerworld. February 15, 1988. p. 29.
  34. 1 2 3 "Librarian in VSE upgrade". Computerworld. October 3, 1988. pp. 25, 30.
  35. 1 2 Rochkind, Marc J. (December 1975). "The Source Code Control System" (PDF). IEEE Transactions on Software Engineering. SE-1 (4): 364–370. doi:10.1109/tse.1975.6312866. S2CID   10006076.
  36. "Computer Associates: News ..." Computerworld (Advertisement). October 8, 1990. p. 37.
  37. See for instance "CA Enhances Diagnostics Solutions to Speed Troubleshooting of z/OS and OS/390 Applications" (Press release). PR Newswire. December 18, 2001. ProQuest   449135709 via ProQuest.
  38. See published 2010 date for Release 4.4 in "CA Librarian®: Installation Guide r4.4" (PDF) (Second ed.). CA Technologies. 2010. pp. 1, 2. Retrieved August 13, 2023. Compare to CA Librarian 4.3 being latest version integrated into CA Mainframe Software Manager as shown on slide 22, dated December 2009, in Roemming, Richard (April 14, 2010). "Mainframe 2.0 Update" (PDF). CA. Retrieved August 13, 2023.
  39. "Broadcom Inc. Completes Acquisition of CA Technologies" (Press release). Broadcom. November 5, 2018.
  40. 1 2 "Mainframe Software: DevOps". Broadcom Inc. Retrieved August 7, 2023.
  41. 1 2 Taulli, Tom (2022). Modern Mainframe Development: COBOL, Databases, and Next Generation Approaches. O'Reilly Media. p. 59. ISBN   9781098106997.
  42. "Librarian 4.4". Broadcom Inc. Retrieved August 7, 2023.