History of software configuration management
Encyclopedia
The history of software configuration management
Software configuration management
In software engineering, software configuration management is the task of tracking and controlling changes in the software. Configuration management practices include revision control and the establishment of baselines....

 (SCM) in computing
Computing
Computing is usually defined as the activity of using and improving computer hardware and software. It is the computer-specific part of information technology...

 can be traced back as early as the 1950s
1950s
The 1950s or The Fifties was the decade that began on January 1, 1950 and ended on December 31, 1959. The decade was the sixth decade of the 20th century...

, when CM (for Configuration Management
Configuration management
Configuration management is a field of management that focuses on establishing and maintaining consistency of a system or product's performance and its functional and physical attributes with its requirements, design, and operational information throughout its life.For information assurance, CM...

), originally for hardware development and production control, was being applied to software development. The first software configuration management was most likely done manually. Eventually, software tools were written to manage software changes. History records tend to be based on tools and companies, and lend concepts to a secondary plane.
  • Early 1960s
    1960s
    The 1960s was the decade that started on January 1, 1960, and ended on December 31, 1969. It was the seventh decade of the 20th century.The 1960s term also refers to an era more often called The Sixties, denoting the complex of inter-related cultural and political trends across the globe...

     or even late 1950s
    1950s
    The 1950s or The Fifties was the decade that began on January 1, 1950 and ended on December 31, 1959. The decade was the sixth decade of the 20th century...

    : CDC UPDATE and IBM IEB_UPDATE.
  • Late 1960s, early 1970s
    1970s
    File:1970s decade montage.png|From left, clockwise: US President Richard Nixon doing the V for Victory sign after his resignation from office after the Watergate scandal in 1974; Refugees aboard a US naval boat after the Fall of Saigon, leading to the end of the Vietnam War in 1975; The 1973 oil...

    : Professor Leon Pressor at the University of California, Santa Barbara
    University of California, Santa Barbara
    The University of California, Santa Barbara, commonly known as UCSB or UC Santa Barbara, is a public research university and one of the 10 general campuses of the University of California system. The main campus is located on a site in Goleta, California, from Santa Barbara and northwest of Los...

     produced a thesis on change and configuration control. This concept was a response to a contract he was working on with a defense contractor who made aircraft engines for the US Navy.
  • Early 1970s: Unix
    Unix
    Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

     make.
  • By 1970 CDC update was an advanced product.
  • Circa 1972: Bell Labs
    Bell Labs
    Bell Laboratories is the research and development subsidiary of the French-owned Alcatel-Lucent and previously of the American Telephone & Telegraph Company , half-owned through its Western Electric manufacturing subsidiary.Bell Laboratories operates its...

     paper describing the original diff
    Diff
    In computing, diff is a file comparison utility that outputs the differences between two files. It is typically used to show the changes between one version of a file and a former version of the same file. Diff displays the changes made per line for text files. Modern implementations also...

    algorithm.
  • 1972, with an IEEE paper in 1975: source code control system, SCCS
    Source Code Control System
    Source Code Control System is an early revision control system, geared toward program source code and other text files. It was originally developed in SNOBOL at Bell Labs in 1972 by Marc J. Rochkind for an IBM System/370 computer running OS/360 MVT...

    , Marc Rochkind
    Marc Rochkind
    Marc J. Rochkind invented the Source Code Control System while working at Bell Labs, as well as wrote , and founded .-Source Code Control System:The Source Code Control System was the first modern revision control system. SCCS was developed by Rochkind in 1972 at Bell Labs...

     Bell Labs. Originally programmed in SNOBOL
    SNOBOL
    SNOBOL is a generic name for the computer programming languages developed between 1962 and 1967 at AT&T Bell Laboratories by David J. Farber, Ralph E. Griswold and Ivan P. Polonsky, culminating in SNOBOL4...

     for OS/360; subsequently rewritten in C
    C (programming language)
    C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

     for Unix (used diff for comparing files).
  • 1970s: Pansophic's PANVALET was an early source code control system for the mainframe market. They were based in Lisle, Illinois
    Lisle, Illinois
    Lisle is a village in DuPage County, Illinois, United States. The population was 22,930 at the 2011 census, and estimated to be 23,135 as of 2008. It is part of the Chicago metropolitan area and the Illinois Technology and Research Corridor...

    .
  • 1975: Professor Pressor's work eventually grew into a commercially available product called Change and Configuration Control (CCC) which was sold by the SoftTool corporation.
  • Revision Control System (RCS
    Revision Control System
    The Revision Control System is a software implementation of revision control that automates the storing, retrieval, logging, identification, and merging of revisions. RCS is useful for text that is revised frequently, for example programs, documentation, procedural graphics, papers, and form...

    , Walter Tichy).
  • Early 1980s: patch
    Patch (Unix)
    patch is a Unix program that updates text files according to instructions contained in a separate file, called a patch file. The patch file is a text file that consists of a list of differences and is produced by running the related diff program with the original and updated file as arguments...

    (around 1985, Larry Wall
    Larry Wall
    Larry Wall is a programmer and author, most widely known for his creation of the Perl programming language in 1987.-Education:Wall earned his bachelor's degree from Seattle Pacific University in 1976....

    ).
  • 1984: Aide-de-Camp
  • 1986: Concurrent Version System (CVS
    Concurrent Versions System
    The Concurrent Versions System , also known as the Concurrent Versioning System, is a client-server free software revision control system in the field of software development. Version control system software keeps track of all work and all changes in a set of files, and allows several developers ...

    ).
  • 2000: Subversion initiated by CollabNet
    CollabNet
    CollabNet is a company that sells application lifecycle management software for distributed development teams engaged in both enterprise and open source development.-History:...

    .
  • Early 2000s: distributed revision control
    Distributed revision control
    A distributed revision control system , distributed version control or decentralized version control keeps track of software revisions and allows many developers to work on a given project without necessarily being connected to a common network.-Distributed vs...

     systems like BitKeeper and GNU
    GNU
    GNU is a Unix-like computer operating system developed by the GNU project, ultimately aiming to be a "complete Unix-compatible software system"...

     arch become viable.


Until the 1980s, as can be seen from a source such as Software Configuration Management by J.K. Buckle (1982), SCM could only be understood as CM applied to software development. Some basic concepts such as identification and baseline (well-defined point in the evolution of a project) were already clear, but what was at stake was a set of techniques oriented towards the control of the activity, and using formal processes, documents, request forms, control boards etc.

It is only after this date that the use of software tools applying directly to software artefacts representing the actual resources, has allowed SCM to grow as an autonomous entity (from traditional CM).

The use of different tools has actually led to very distinct emphases.
  • traditional CM for Software, typically around Change Mananagement
    Change management
    Change management is a structured approach to shifting/transitioning individuals, teams, and organizations from a current state to a desired future state. It is an organizational process aimed at helping employees to accept and embrace changes in their current business environment....

     (examples: Continuus, CVS
    Concurrent Versions System
    The Concurrent Versions System , also known as the Concurrent Versioning System, is a client-server free software revision control system in the field of software development. Version control system software keeps track of all work and all changes in a set of files, and allows several developers ...

     or ClearCase UCM)
  • line oriented management, based on patches or Change Sets
  • focused on Derived Object
    Derived Object
    In Computer programming, derived objects are files that are not directly maintained, but get created.The most typical context is that of compilation, linking, and packaging of source files....

    s and Build Management (example: Base ClearCase
    Rational ClearCase
    The Rational ClearCase family consists of several software tools for supporting software configuration management of source code and other software development assets. It is developed by the Rational Software division of IBM...

    /clearmake)
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK