18 февраля 1977 — Первая система контроля версий была опубликована
18 февраля 1977
18 февраля 1977 года была опубликована первая широко распространяемая версия SCCS (Source Code Control System) в составе Version 7 Unix в Bell Labs.
Это был один из первых практических инструментов, который позволил разработчикам системно отслеживать изменения в исходном коде.
Сегодня системы контроля версий — это норма. В 1977 году это была новая и очень смелая идея.
Что такое SCCS?
SCCS расшифровывается как Source Code Control System — система контроля исходного кода. Она была создана в Bell Laboratories инженером Маркoм Дж. Рокиндом (Marc J. Rochkind).
До появления подобных инструментов разработчики хранили версии файлов вручную:
file.c
file_new.c
file_final.c
file_final2.c
Очень легко было запутаться и потерять важные изменения.
SCCS предложила структурированный подход:
хранить историю изменений в специальном формате файла;
фиксировать, кто и когда внёс изменения;
добавлять комментарии к каждой правке;
восстанавливать любую предыдущую версию файла.
Для командной разработки это стало настоящим прорывом.
Как это работало
SCCS сохраняла историю в текстовых файлах, так называемых «s-files».
Вместо хранения полной копии каждой версии использовались дельты — различия между ревизиями. Это экономило место на диске, что было критически важно для компьютеров 1970-х годов.
Разработчик мог:
«забрать» файл в работу;
внести изменения;
вернуть файл обратно в систему с комментарием.
Сегодня это звучит привычно. В 1977 году это было инженерное новаторство.
Люди и контекст
SCCS была создана в Bell Laboratories — исследовательском центре, где также появились Unix и язык C.
В ту эпоху ключевыми фигурами были:
Кен Томпсон (Ken Thompson) — один из создателей Unix;
Деннис Ритчи (Dennis Ritchie) — создатель языка C;
Марк Дж. Рокинд (Marc J. Rochkind) — автор SCCS.
SCCS стала частью экосистемы Unix и задала направление развитию систем управления версиями.
Почему это важно
SCCS повлияла на появление следующих инструментов:
RCS (Revision Control System);
CVS (Concurrent Versions System);
Subversion;
Git.
Современные распределённые системы контроля версий намного мощнее, но их фундаментальная идея — хранить структурированную историю изменений — начинается именно здесь.
18 февраля 1977 года стало датой, когда контроль версий перестал быть личной практикой разработчика и превратился в инженерный стандарт.
С этого момента разработка программного обеспечения получила возможность масштабироваться.
Каждый раз, когда делаешь git commit, помните про историю.