- History of software configuration management
The history of
software configuration management (SCM) incomputing can be traced back as early as the1950s , when "CM" (for Configuration Management), 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 or even late1950s : CDC UPDATE and IBM IEB_UPDATE. [http://www.daveeaton.com/scm/CMFAQ.html]
* Late 1960s, early1970s : Professor Leon Pressor at theUniversity of California, Santa Barbara 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 theUS Navy .
* Early 1970s:Unix make
.
* By 1970 CDC update was an advanced product.
* Circa 1972:Bell Labs paper describing the original
algorithm.diff
* 1972, with anIEEE paper in 1975: source code control system,SCCS ,Marc Rochkind Bell Labs. Originally programmed inSNOBOL forOS/360 ; subsequently rewritten in C for Unix (used diff for comparing files).
* 197x: Pansophic's PANVALET was an early source code control system for the mainframe market. They were based inLisle, Illinois .
* 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, Walter Tichy).
* Early 1980s:patch
(around 1988,Larry Wall ).
* 1984: Aide-de-Camp (ADC, later [http://www.mccabe.com/cm.htm TRUEchange] around 1990, Richard Harter).
* 1986: Concurrent Version System (CVS).
* 2000:Subversion initiated byCollabNet .
* Early2000s :distributed revision control systems like BitKeeper andGNU 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 (examples:
Continuus , CVS or ClearCaseUCM )
* line oriented management, based on patches orChange Set s (example: [http://www.mccabe.com/cm.htm TRUEchange] )
* focused onDerived Object s and Build Management (example: Base ClearCase/clearmake)ee also
*
Revision control
Wikimedia Foundation. 2010.