«Microsoft Visual SourceSafe» («Visual SourceSafe», VSS, па-беларуску: Візуальная бясьпека крынічніку Microsoft) — праграмны пакет кантролю вэрсійнасьці кампаніі Microsoft, арыентаваны на дробныя распрацоўніцкія праекты. Як і большасьць сыстэмаў кантролю крынічнага коду, «SourceSafe» стварае віртуальную бібліятэку кампутарных файлаў. Найчасьцей ужываецца менавіта для кантролю крынічнага коду, хоць у прынцыпе можа працаваць зь любымі тыпамі файлаў. Аднак раньнія вэрсіі выявілі[1][2] нестабільную працу зь вялікімі аб’ёмамі нятэкставае інфармацыі (выявамі, бінарнымі выканальнымі файламі і да т.п.).
«SourceSafe» быў створаны кампаніяй пад назвай «One Tree Software». «One Tree Source Safe» меў некалькі рэлізаў ад 1.x да 2.x вэрсіяў, падтрымоўваў DOS, OS/2 (з графічным лучывам адміністратара прадстаўленьняў), Windows, Windows NT, Mac і Unix. Як толькі Microsoft набыла «OneTree» ў 1994 годзе[3], яна неадкладна спыніла падтрымку для ўсіх пляцовак, акрамя «Windows». Вэрсію для Unix падтрымлівае кампанія MainSoft.
16-бітны дастасунак Microsoft «Visual SourceSafe 3.1» (перапрацаваная вэрсія «One Tree 3.0») быў выпушчаны на кароткі час да выхаду вэрсіі 4.0. 4-я і далейшыя вэрсіі перажылі грунтоўныя архітэктурныя зьмяненьні, такія як замена папярэднай базы зьвестак на рухавік «Jet», які выкарыстоўваецца ў «Microsoft Access». У той час як праграмныя прадукты кампаніі «OneTree» даволі някепска ўспрымаліся распрацоўніцкімі суполкамі, «Microsoft Visual SourceSafe» неўзабаве пасьля таго, як адбыліся гэтыя архітэктурныя зьмены, займела рэпутацыю «Visual Source Shredder»[4] (па-беларуску: «Візуальная зьнішчалка крынічніку») ці «Visual Source Unsafe»[5] (па-беларуску: «Візуальная небясьпека крынічніку»).
«SourceSafe» першапачаткова зьяўляўся не кліент-паслугачовай СКВ, а толькі лякальнай. Архітэктурна гэта зьяўлялася адначасна плюсам і мінусам распрацоўкі ў залежнасьці ад асяродзьдзя, у якім выкарыстоўвалася праграма. Гэта дазваляла настроіць сыстэму аднаго карыстальніка прасьцей, чым пры выкарыстаньні іншых СКВ-сыстэмаў. Да таго ж працэс рэзэрвовага капіяваньня ўяўляў сабой звычайнае капіяваньне ўсяго зьмесьціва ў асобную тэчку. Аднак для шматкарыстальніцкіх асяродкаў не ставала шматлікіх магчымасьцяў, даступных у іншых прадуктах кіраваньня вэрсіямі, у тым ліку падтрымкі фіксацыі зьмяненьняў некалькіх файлаў адразу (ПЗ «CVS» мае такую самую праблему, бо зьяўляецца надбудовай над арыгінальнай «RCS»). «SourceSafe» пераймае сваю калектыўную функцыянальнасьць, выкарыстоўваючы непасрэдны аддалены сыстэмны доступ да ўсіх файлаў у сховішчы. Гэта, а таксама глюк, калі код выкарыстоўвае стары кавалак памяці пасьля выкліку да пераразьмеркаваньня, былі фактарамі, якія спрычыняліся да таго, што базы зьвестак SS часам валіліся.
Пачынаючы з VSS 2005 Microsoft рэалізавала рэжым «кліент-паслугач». У гэтым рэжыме кліентам не патрабавалася мець правы на запіс да агульных рэсурсаў SMB, дзе яны патэнцыйна мелі магчымасьць пашкодзіць базу зьвестак VSS. Замест гэтага доступ да файлаў зьдзяйсьняўся з дапамогай кліенцкіх прыладаў VSS — ваконнага кліенту VSS, каманднага радку ці некаторых дастасункаў, якія інтэграваліся або эмулявалі тыя кліенцкія прылады.
Стабільнасьць працы «Visual SourceSafe» крытыкуецца за спосаб, якім той ужывае наўпроставы файлавы мэханізм доступу, што дазваляе любому кліенту зьмяніць файл у сховішчы пасьля яго захопу. Калі кліенцкая машына выйдзе са строю падчас абнаўленьня файлу ў сховішчы, гэты файл можа быць пашкоджаны[6]. Шматлікія карыстальнікі «Visual SourceSafe» зьмяншалі гэтую рызыку, карыстаючыся ўтылітай у складзе «Visual SourceSafe», якая правярае БЗ на пашкоджаньні і, калі магчыма, выпраўляе знойдзеныя памылкі.
Хоць карыстаньне ўласнымі прадуктамі і лічыцца часткай «культуры Microsoft», выглядае, што VSS ёсьць выняткам з гэтага правіла; па чутках[7][8], вельмі малая частка праектаў унутры Microsoft карыстаюцца VSS, найболей ужываецца дастасунак «SourceDepot». Паводле Мэт’ю Доара:
![]() |
Microsoft itself used an internally developed version of RCS named SLM until 1999, when it began using a version of «Perforce» named «SourceDepot». | ![]() |
—Мэцью Доар, Matthew B. Doar Practical Development Environments. — O'Reilly, 2005. — С. 73. — ISBN 0596007965 |
Распрацоўніцкае падразьдзяленьне Microsoft для большасьці сваіх унутраных праектаў цяпер карыстаецца новай «Visual Studio Team System»[9].
Шматабяцальная абноўленая вэрсія пад назвай «Visual SourceSafe 2005» з абвешчанай палепшанай прадукцыйнасьцю і стабільнасьцю, лепшай апрацоўкай Юнікоду і XML-файлаў, а таксама магчымасьцю працы праз HTTP, была выпушчаная ў лістападзе 2005 году. Яна ўключалася ў склад выпускаў «Visual Studio 2005 Team System»[10], але не ўвайшла ў «Visual Studio 2008 Team System».
Адначасна Microsoft прадставіла новы прадукт для кіраваньня крынічным кодам і жыцьцёвым цыклам праектаў пад назовам «Team Foundation Server» у складзе «Visual Studio Team System». Гэты прадукт пазбаўлены шматлікіх недахопаў «Visual SourceSafe», што робіць яго прыдатным для вялікіх кампаніяў, якім патрэбныя высокія ўзроўні стабільнасьці і кантролю дзейнасьці.
Пачынаючы з «Visual Studio 2010» Microsoft больш не распаўсюджвае «SourceSafe». Замест гэтага для маленькіх капаніяў прапануецца «Team Foundation Server Basic»[11][12]. Цяперашнія карыстальнікі «SourceSafe» могуць працягваць выкарыстоўваць яго разам са «Studio 2010» пасьля ўсталяваньня «латкі».
Апошняя вэрсія праграмы, «Visual SourceSafe 2005», будзе зьнятая з падтрымкі 12 красавіка 2011 і канчаткова перастане абслугоўвацца 12 красавіка 2016 году[13].