21

I'm aware of many version control systems: CVS, SVN, TFS etc...

I've googled for the very first "revision control/version control system" and seen various conflicting answers.

When was source control invented? Who invented it? What was it called?

gnat
20.5k29 gold badges117 silver badges308 bronze badges
asked Jan 24, 2013 at 17:13
6
  • 2
    Starter for 10: SCCS "was originally developed ... in 1972" Commented Jan 24, 2013 at 17:17
  • 19
    It was actually invented multiple times, but they kept losing the source code. Commented Jan 24, 2013 at 20:15
  • 4
    It depends on how you define "source control", but IBM's IEBUPDTE dates back to 1962, and it was arguably the earliest VCS. Commented Jan 25, 2013 at 5:24
  • 2
    If versioning file systems can be assimilated to revision control, this dates back to the 1960's. Commented Jan 25, 2013 at 8:18
  • @RossPatterson, that comment really needs to be an answer. Commented Apr 4, 2018 at 17:44

3 Answers 3

14

Here is a pretty decent timeline of the major players in video form (no sound).

It suggests that SCCS was first, by a margin of about 9 years.

https://i.sstatic.net/wcAWD.png

There is a lot missing off there though, as evidenced by this blog and the resulting comments.

gnat
20.5k29 gold badges117 silver badges308 bronze badges
answered Jan 24, 2013 at 17:52
4
  • 7
    The original paper on SCCS mentions no other systems, and seems to indicate that it had to come up with terminology itself. From that source alone it looks as if there was no version control system before 1972/73. Commented Jan 24, 2013 at 18:12
  • 1
    Naming a source code control system "Source Code Control System" is indeed indication that it was the first instance of something that would become a software category later. Commented Jan 24, 2013 at 21:57
  • @MartijnPieters Rochkind acknowledges Brown's CLEAR at the end of the paper, and simply put, building SCCS on OS/MVT, he could not have been unaware of IEBUPDTE. Commented Dec 31, 2018 at 15:51
  • @RossPatterson: neither CLEAR nor IEBUPDTE are source control systems. CLEAR is credited for the idea of deltas, it explicitly states in the paper that there are no other similarities. Commented Dec 31, 2018 at 17:16
3

In 1981, I worked a summer job at Charter Information in Austin TX. They were formerly Commercial Information Corporation of Woburn MA. They ran a Xerox Sigma 6 that had been field-upgraded to a Sigma 7. They used a thing called SPUD (Source Program Update) for source code control. It was tape-based.

I routinely mounted the "bicentennial SPUD tape" and worked on a mod deck for a piece of code on that tape. It was called the "bicentennial SPUD tape" because it was written in 1976. They had older tapes, indicating that SPUD went back farther than 1976.

While a student at UT Austin (1973-1981), I ran up against MODIFY and UPDATE, two source code control programs from Control Data Corporation for the CDC 6600 and later mainframes. I do not know when they first came out, but I suspect they came out not long after the 6600, which (if memory serves me) came out in the late 1960s.

I suspect that IBM had something well before anyone else did, but I have no knowledge whatsoever of IBM mainframe history, and I like it that way.

answered Dec 10, 2013 at 18:45
2
  • The CDC MODIFY and UPDATE commands were utilities to apply software updates, not for managing changes in your own software, as far as I can make out. See apps.dtic.mil/dtic/tr/fulltext/u2/a208003.pdf, which describes the utilities on page the page numbered 52 (61 in the PDF), and computinghistory.org.uk/downloads/39256, which describes the software release materials on #4 (PDF #16) as coming in UPDATE format. Commented Dec 31, 2018 at 17:31
  • I believe that Xerox SPUDS (Source Program Update Disk System) was a similar package. Commented Dec 31, 2018 at 17:36
2

The IEBUPDTE program, originally created for IBM's OS/360 system, dates back to 1962, 10 years older than SCCS. Its purpose is to apply a set of changes to a set of input source programs, creating a set of modified source programs. All source code was managed either as "decks" of 80-column punched cards, or as files that resembled them. These source program decks had "sequence numbers" in a fixed set of columns on each line or card (COBOL specified them to be at the left, in columns 1-6, almost everything else assumed them to be at the right in columns 73-80). Sequence numbers had to increase line by line, but most source code increased by 10s, 100s, or 1000s, to allow room in the integral number space between two lines for later insertions.

A typical IEBUPDTE control deck might look like:

./ CHANGE NAME=PROG001
 PROGRAM XYZZY 00005000
./ DELETE SEQ1=9000,SEQ2=15000
 DO I=1,10 00026000
./ CHANGE NAME=PROG002
 J=256 00092000
./ ENDUP

which would modify two source files, "PROG001" and "PROG002", replacing line number "5000" (often the 5th line, following the "number by thousands" practice) and deleting lines 9000 through 15000 in PROG001 and replacing line 92000 in PROG002.

At its simplest level, that's a definition of Source Control. Unix folks would recognize that as what patch does, but using explicit numbering instead of implicit. It was common to apply sets of control decks to an input program in sequence, and to store those sets as a cohesive disk file (a Partitioned Dataset), which bears a strong similarity to the change histories that CVS and RCS store in their ,v files. IBM would frequently deliver code patches called Program Temporary Fixes (PTFs) in the form of large control decks that modified files as part of a single related changeset, which Subversion and Git users would find familiar.

answered Apr 5, 2018 at 1:25
2
  • Isn't IEBUDTE a software update system? It's similar to patch, so at best a component of a version control system. There is no graph of changes through time, as far as I can make out. Commented Dec 31, 2018 at 17:38
  • Yup, IEBUPDTE is similar to patch. Commented Jan 17, 2019 at 19:36

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.