Jump to content

The Librarian (version control system)

From Alfawiki
The Librarian
Company typeSoftware product
IndustrySoftware, Version control
PredecessorPunched card decks
Founded1960s
FounderApplied Data Research (ADR)
FateAcquired by Computer Associates in 1988; renamed CA-Librarian; later acquired by Broadcom in 2018 and renamed Librarian
Headquarters
United States
Area served
IBM mainframe systems
ProductsVersion control system, source code management tool
ParentBroadcom Inc.
Websitewww.broadcom.com/products/mainframe/devops/librarian

The Librarian is a version control system and source code management tool initially created by Applied Data Research (ADR) for use on IBM mainframe systems. It was designed to replace the traditional physical punched card decks used for program maintenance, though it maintained a card-oriented user interface. During the 1970s and 1980s, it became extensively implemented across thousands of IBM mainframe sites and ranked among the top-selling software products in the computing industry.

After ADR was acquired by Computer Associates in 1988, the software was renamed CA-Librarian. Following Broadcom's acquisition of Computer Associates in 2018, the product name was shortened to Librarian.

History

In the 1960s, source code was predominantly stored on punched cards, which created limitations related to storage space, vulnerability to damage, and difficulties in version control. Even as late as the late 1970s, punched cards were still the main format for storing program source code.

ADR, originally known for developing Autoflow—one of the earliest commercial software applications—required a method to manage its expanding Autoflow source code effectively. Co-founder Martin Goetz, who had experience with the UNITYPER system that recorded data onto magnetic tape, realized that source programs could be stored on magnetic media instead of punched cards. Consequently, ADR developed The Librarian initially as an internal tool to facilitate this shift.

Seeing potential beyond internal use, ADR began marketing The Librarian alongside Autoflow and other software products by 1969. The initial versions stored master files on magnetic tape; subsequently, storage moved to mainframe disk drives with data compression techniques applied to maximize storage efficiency.

The Librarian quickly gained widespread adoption and became a significant contributor to ADR’s revenue growth alongside Autoflow. Customer feedback highlighted notable improvements in productivity related to program maintenance and updates. This success motivated ADR to broaden its suite of programming tools.

By 1973, The Librarian was recognized on Datapro Research Corporation's Software Honor Roll for both customer base size and satisfaction levels, maintaining this status in later years. A 1979 study identified it as one of the leading IBM mainframe software products based on installation numbers and sales volume.

According to sales figures reported to International Computer Programs, Inc. (ICP), approximately 3,300 sites were using The Librarian by 1977, generating over $10 million in revenue; this expanded to 4,500 installations by 1979. ICP honored The Librarian with awards marking $50 million in total sales in 1982, $100 million in 1985, and $250 million by 1989.

Throughout its existence, The Librarian’s main rival was Panvalet from Pansophic Systems, with both products together dominating the market for program library management solutions.

Operation

The Librarian administers source code by integrating control cards among program cards, initially utilizing physical punched cards and later transitioning to lines within disk files, all functioning under a batch processing framework.

Control cards in the Librarian begin with a hyphen. Cards such as -DESC, -PGMR, and -LANG convey descriptive details about a module. Common language identifiers include ASM for 370 Assembly language and CBL for COBOL.

Source files rely on sequence numbers—like columns 1–6 in COBOL or 73–80 in Assembly and FORTRAN—to maintain code order. For instance, the -ADD control card can specify SEQ=COBOL to ensure sequencing aligns with COBOL standards.

Primary control cards used to alter code include -INS, -REP, and -DEL. For example, modifying a COBOL program could involve replacing existing lines, inserting new ones, or deleting specified sections of code.

The -INC card facilitates the inclusion of source from another module, which is particularly beneficial for languages without native include directives or for centralized source management. Users typically determine when these inclusions are expanded—usually during selection rather than output phases. Nonetheless, language-specific features like COBOL's COPY statement often fulfill similar roles.

While insert, replace, and delete commands are effective for incremental modifications, they can be inefficient for creating entirely new programs that require extensive editing. To mitigate this, developers frequently maintained program files within online editors (such as Source Program Maintenance Online under CICS) for interactive editing combined with batch compilation, preserving versions within the Librarian between builds. Subsequent development processes incorporated editors like IBM’s ISPF to streamline workflows.

In addition to version control, the Librarian enhances audit trails, data integrity, and recoverability of source repositories, thereby strengthening source management dependability in enterprise settings.

Releases

Throughout its lifecycle, the Librarian experienced numerous releases to improve capabilities and adapt to evolving IBM mainframe environments. For example, a 1976 update introduced support for OS/VS1 and OS/VS2 operating systems. In 1983, the LIB/AM interface was launched, allowing the Librarian to simulate a partitioned data set for specific programs. ADR incorporated other tools such as its Datadictionary with the Librarian to provide a more integrated solution.

By 1981, Release 3.0 had been made available. The 1985 Release 3.4 extended compatibility to the interactive VM/CMS operating system and ISPF environment, improving usability via CMS command line and ISPF interface panels. Release 3.5 in 1986 introduced a Change Control Facility aimed at enhancing software development cycle management. Early in 1988, version 3.7 expanded this Change Control Facility support to CMS/ISPF platforms. Later that year, Release 3.8 added Change Control capabilities tailored for the DOS/VSE platform, coinciding with the product's acquisition by Computer Associates.

Later years

Version control advanced beyond the initial Librarian framework with the introduction of the Source Code Control System (SCCS), which became a prominent early alternative.[1] One of SCCS’s creators described it as "a radical departure from conventional methods," highlighting its enhanced capability to manage complex operations such as branching.[2] Initially created for IBM OS/370,[2] SCCS later gained widespread adoption on the UNIX platform for the PDP-11, where it was incorporated into the Programmer's Workbench.[1]

Despite these developments, IBM mainframes continued to see significant use. In 1988, Computer Associates (CA) acquired ADR, subsequently rebranding its product as CA-Librarian.[3] CA combined improvements with other offerings to enhance support for CA-Librarian.[4] By 2003, CA-Librarian version 4.3 was integrated within CA's AllFusion suite,[5] and version 4.4 was made available around 2010.[6]

Following Broadcom Inc.’s acquisition of CA Technologies in 2018, the product was simplified to the name Librarian,[7] although the designation CA-Librarian remained in use.[8]

As of 2023, Librarian is included in Broadcom’s Mainframe Software portfolio under their DevOps solutions.[7] The latest release is Librarian 4.4.[9]

The 2022 O'Reilly Media title Modern Mainframe Development lists CA Librarian among the principal source control tools still utilized by mainframe programmers, alongside IBM Software Configuration and Library Manager and Micro Focus’s ChangeMan ZMF.[8]

See also

External links

  1. ↑ 1.0 1.1 Cite error: Invalid <ref> tag; no text was provided for refs named BIA76A
  2. ↑ 2.0 2.1 Cite error: Invalid <ref> tag; no text was provided for refs named ieee-sccs
  3. ↑ Cite error: Invalid <ref> tag; no text was provided for refs named cw-ca
  4. ↑ See for instance Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
  5. ↑ Cite error: Invalid <ref> tag; no text was provided for refs named aflibrarian43
  6. ↑ See Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
  7. ↑ 7.0 7.1 Cite error: Invalid <ref> tag; no text was provided for refs named bc-devops
  8. ↑ 8.0 8.1 Cite error: Invalid <ref> tag; no text was provided for refs named oreilly-mmd
  9. ↑ Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).