Microsoft Visual SourceSafe
Microsoft Visual SourceSafe (VSS) is a discontinued source control program, oriented towards small software development projects. Like most source control systems, SourceSafe creates a virtual library of computer files. While most commonly used for source code, SourceSafe can handle any type of file in its database, but older versions were shown to be unstable when used to store large amounts of non-textual data, such as images and compiled executables.
2005 (8.0.50727.42) / October 2005
|License||Proprietary commercial software|
SourceSafe was originally created by a North Carolina company called One Tree Software. One Tree SourceSafe had gone through several releases in their 1.x to 2.x cycles, supporting DOS, OS/2 (with a Presentation Manager GUI), Windows, Windows NT, Mac, and Unix. When Microsoft bought OneTree in 1994, they immediately ceased development on all versions except for Windows. Microsoft SourceSafe 3.1, Windows 16-bit-only and Macintosh, rebranded One Tree 3.0 versions, were briefly available before Microsoft released a Version 4.0. With the acquisition of One Tree Software, Microsoft discontinued its source code control product at the time, Microsoft Delta. After the acquisition, Mainsoft Corporation developed SourceSafe for UNIX in cooperation with Microsoft. Later, Metrowerks, Inc. developed Visual SourceSafe for Macintosh in cooperation with Microsoft.
SourceSafe was initially not a client/server Source Code Management, but rather a local only SCM system. Architecturally, this serves as both a strength and weakness of design, depending on the environment it is used in. It allows a single user system to be set up with less configuration than that of some other SCM systems. In addition, the process of backing up can be as simple as copying all of the contents of a single directory tree. For multi-user environments, however, it lacks many important features found in other SCM products, including support for atomic commits of multiple files (CVS has the same problem as it is built upon the original RCS). SourceSafe inherits its shared functionality using direct remote file system access to all the files in the repository. This, together with historic bugs in the codebase, occasionally led to SourceSafe database corruption, a problem noted by Microsoft.
Starting with VSS 2005, Microsoft added a client–server mode. In this mode, clients do not need write access to a SMB share where they can potentially damage the SS database. Instead, files must be accessed through the VSS client tools - the VSS windows client, the VSS command-line tool, or some application that integrates with or emulates these client tools.
Visual SourceSafe's stability is criticised due to the way Visual SourceSafe uses a direct, file-based access mechanism that allows any client to modify a file in the repository after locking it. If a client machine crashes in the middle of updating a file, it can corrupt that file. Many users of Visual SourceSafe mitigate this risk by making use of a utility provided by Visual SourceSafe that checks the database for corruption and, when able, corrects errors that it finds.
Microsoft in-house use
Although "eating their own dog food" is often said to be part of Microsoft's culture, VSS appears to be an exception; it is widely rumored that very few projects within Microsoft relied on Visual SourceSafe before the product was discontinued, and that the predominant tool at the time was SourceDepot. According to Matthew Doar:
Microsoft itself used an internally developed version of RCS named SLM until 1999, when it began using a version of Perforce named SourceDepot.
The Microsoft Developer Division was using Team Foundation Server for most of its internal projects, although a VSS transcript implied that other large teams use "a mix of customized in-house tools."
Microsoft has since moved on to using Git.
An updated version called Visual SourceSafe 2005 was released in November 2005, promising improved performance and stability, better merging for Unicode and XML files, as well as the ability to check files out over HTTP. It was included with Visual Studio 2005 Team System editions, but is not included with Visual Studio Team System 2008.
At the same time, Microsoft also introduced a source control called Team Foundation Version Control (TFVC), which was part of project lifecycle management product Visual Studio Team System. This product addresses many of the shortcomings or Visual SourceSafe, making it suitable for larger teams requiring high levels of stability and control over activities.
With Visual Studio 2010, Microsoft no longer distributes Visual SourceSafe. Microsoft now offers Team Foundation Server Basic for smaller development teams. There is a hotfix so existing SourceSafe customers can use SourceSafe with Visual Studio 2010.
- Visual SourceSafe 2005 Software Configuration Management in Practice (Packt Publishing, 2007)
- Real World Software Configuration Management (Apress, 2003)
- Essential SourceSafe (Hentzenwerke Publishing, 2001)
- De Smet, Alan (2009-04-15). "Visual SourceSafe: Microsoft's Source Destruction System". Retrieved 2010-09-19.
- Bolton, Michael (2003-01-28). "Visual SourceSafe Version Control: Unsafe at any Speed?". Retrieved 2010-09-19.
- "Company News; Microsoft Says It Has Acquired One Tree Software". The New York Times. November 16, 1994. Retrieved 2007-11-21.
- "MICROSOFT SHIPS SOURCESAFE SOURCE-CODE-MANAGEMENT SYSTEM". The Free Library by Farlex. Retrieved 21 May 2014.
- "MICROSOFT CORPORATION ACQUIRES ONE TREE SOFTWARE". The Free Library by Farlex. Retrieved 21 May 2014.
- Gross, Daniel (November 15, 1995). "Go Configure". CIO Magazine. Retrieved 21 May 2014.
- "Mainsoft to ship Visual SourceSafe for UNIX". The Free Library by Farlex. Retrieved 21 May 2014.
- "Metrowerks Signs Exclusive License for Microsoft Visual SourceSafe on Mac OS". The Free Library by Farlex. Retrieved 21 May 2014.
- "SourceSafe database corruption". Microsoft. Retrieved 18 Dec 2014.
- "MICROSOFT ANNOUNCES VISUAL SOURCESAFE, AN INTUITIVE CODE-MANAGEMENT SYSTEM". The Free Library by Farlex. Retrieved 21 May 2014.
- "Microsoft Announces Visual SourceSafe 5.0,An Intuitive, Project-Oriented Version Control System". Microsoft. Retrieved 21 May 2014.
- "Microsoft Support Lifecycle- Visual SourceSafe 6.0 Standard Edition". Microsoft Support. Microsoft. Retrieved 21 May 2014.
- "Microsoft Support Lifecycle - Visual SourceSafe 2005 Standard Edition". Microsoft. Retrieved 21 May 2014.
- "Best Practices for Preventing Data Corruption". MSDN.
- "Microsoft tests its own dog food". ZDNet. CBS Interactive. July 21, 2003. Archived from the original on January 8, 2007. Retrieved October 9, 2005.
- "It's all Hype. - Jerry Dennany's Occasional Clue". Weblogs.asp.net. 2003-07-15. Retrieved 2012-04-13.
- Doar, Matthew B. (2005). Practical Development Environments. O'Reilly. p. 73. ISBN 0-596-00796-5.
- Guckenheimer, Sam; Neno Loje (2012). Visual Studio Team Foundation Server 2012: Adopting Agile Software Practices: From Backlog to Continuous Feedback (3rd Edition) (Microsoft Windows Development Series). O'Reilly. p. 241. ISBN 0-321-86487-5.
- Richard Chirgwin (2017-05-25). "Windows is now built on Git, but Microsoft has found some bottlenecks". The Register. Retrieved 2017-06-01.
- "VS 2008 and SourceSafe Q&A - BUGBUG: poor title - Site Home - MSDN Blogs". Blogs.msdn.com. 2007-12-03. Retrieved 2012-04-13.
- Krill, Paul (2009-09-30). "Microsoft looks to move SourceSafe users to newer technology | Developer World". InfoWorld. Retrieved 2012-04-13.
- "Visual SourceSafe Road Map". Msdn2.microsoft.com. Retrieved 2012-04-13.