Talk:Source Code Control System

Wiki Education Foundation-supported course assignment
This article is or was the subject of a Wiki Education Foundation-supported course assignment. Further details are available on the course page. Student editor(s): Harshalgala, Darshanypatel.

Above undated message substituted from Template:Dashboard.wikiedu.org assignment by PrimeBOT (talk) 09:50, 17 January 2022 (UTC)

The Story of How SCCS Was Invented
Here's something I posted to the TUHS list last November (2015) that you might enjoy: Since you asked, here's the true story of how I came up with the delta encoding, a story never before told.

I was living in a garden apartment in Sayreville, NJ, and at night would walk my girlfriend's dog along a hillside just outside our front door. It was usually cold, I didn't like the dog (still don't like dogs), and hated dodging the piles of dog shit while he tugged on the leash. So, as a coping mechanism, I used to let my mind wander, and one evening it was wandering and wondering about a problem I was struggling with, which was how to store the source and the deltas all in the same file. (It was a "data set," on the IBM OS/360 system we were using--we weren't on UNIX yet.)

Anyway, no doubt simultaneously with this unpleasant animal taking a shit, I came up with idea of surrounding pieces of text with markers. (The algorithm itself is documented in my original 1975 paper, which you can read about here: http://basepath.com/aup/talks/SCCS-Slideshow.pdf.)

(Wouldn't this be an even better story if I said that the little piles of dog poop on the hillside looked like markers in the soft glow of a full moon? It's not true, but perhaps I'll tell it that way if the occasion arises in the future.)

When I got inside, I started to sketch out how the markers might work, and came up with interesting observation that insertion start/end markers obviously nested, but deletion start/end markers did not nest with insert start/end markers. This is obvious if you think about it the right way: When you delete, the text you're deleting could have been added at various times, but when you insert, the inserted text is always added at the same time.

I didn't have replacement markers; insert and delete were enough, I thought.

I kept fooling around with the idea until I had an algorithm that I thought would work to retrieve any version with a single pass. (It's in the paper, referenced above.)

To prove the algorithm to be correct, I enumerated all possible cases of insertions mixed in with deletions. I don't recall how many cases I had, but I think it was around 20 or 30. Then I painstakingly went though every case, making sure the algorithm produced the right answer. This was a rare example of me doing actual work.

Coding it up, as I remember, was very easy, as the scheme is pretty simple. I'm sure I had it running in SNOBOL4 in a day or two. Redesigning SCCS in C for UNIX came maybe a year or so later, but the algorithm remained the same.

Larry [McVoy] very kindly says: "SCCS has interleaved deltas. It's a brilliant design that has far far better performance than anything else out there."

Maybe it was brilliant, but I can tell you that I was just trying to pass the time while that stupid dog did his business. Rochkind (talk) 05:12, 18 February 2016 (UTC)


 * This is a really nice story. Would you allow me to have a copy of the text at: http://sccs.sourceforge.net/ Schily (talk) 11:31, 18 February 2016 (UTC)

Sure. It's in the public domain. Referencing my website (basepath.com) would be nice. Rochkind (talk) 14:28, 18 February 2016 (UTC)


 * Thank you, I intended to include the link to the PDF anyway. I can add a second link to the top level page as well Schily (talk) 17:34, 18 February 2016 (UTC)

Windows?
Can anyone tell me why the page says "Operating system	Unix-like, Windows" in the box at upper right? Clearly SCCS is part of the UNIX world. A Windows port might be possible, and might even exist, but it's misleading to refer to SCCS as a Windows application. Rochkind (talk) 04:52, 18 February 2016 (UTC)


 * The SCCS source from Solaris has been made portable to most UNIX platforms in early 2006 and ported to Win-DOS using Cygwin in January 2007. SCCS had a few issues that result from the fact that Microsoft won't allow you to rename open files. These issues have been identified after more than 1000 systematic tests have been run in order to verify correct behavior for all documented features on all platforms.


 * Because of the named issues, SCCS would not be usable on Cygwin without a change. I understand mentioning Windows with SCCS to be at the same level as mentioning that recent versions of the Bourne Shell run on this platform. The original Bourne Shell would not work on Windows as it is based on an own memory management subsystem that calls sbrk. Thanks to Geoff Collyer, we have a new stak.c implementation that is based on malloc and allows to implement the Bourne Shell as a portable program that can be used on Cygwin as well. Schily (talk) 10:56, 18 February 2016 (UTC)

My understanding of Cygwin is that it's a virtual UNIX environment. How is that a port? Rochkind (talk) 14:30, 18 February 2016 (UTC)

WP:RM

 * MOVE because it would match how (CVS)Concurrent Versions System and (RCS)Revision Control System are titled. 132.205.45.148 21:57, 27 Apr 2005 (UTC)
 * Done. Lachatdelarue (talk) 22:17, 28 Apr 2005 (UTC)

Rochkind web log links
Why were my links to Marc Rochkind's web log deleted? The note says they are "vanity links", but the log entry discusses Marc's recollections of creating SCCS. I think they are relevant to this article and I would like to see them included. &mdash;The preceding unsigned comment was added by Seitz (talk • contribs).
 * I'm sorry that I forgot to sign my previous comment.
 * Is there some way to include the link in question in this article? I found them useful to learning about SCCS, and I think others would, too.  Should I put it under "External Links"?  Seitz 19:27, 19 February 2006 (UTC)
 * Note that the "I hear voices talking about me" reference link is currently (02-Mar-2011) not working, but it can be found at the bottom of the page here: http://www.basepath.com/marcblog/2005_06_01_archive.html —Preceding unsigned comment added by 174.137.229.165 (talk) 18:10, 2 March 2011 (UTC)

Single UNIX Specification
I removed the final paragraph of the main article which discussed the inclusion of SCCS in the Single UNIX Specification. I did so for two reasons:
 * The second paragraph already mentions that SCCS is included in the Single UNIX Specification.
 * The removed paragraph included unattributed opinions.

Windows based GUI for SCCS
Hi.. Anyone knows if there is a freeware or shareware which provides a windows based GUI for SCCS repositories?

Prasad RA HCL Technologies Bangalore

Who uses SCCS format
ClearCase, PVCS, and Visual SourceSafe were recently added as systems using the SCCS file format. This was the first I'd heard of that. Does someone have a source to verify this? -- Seitz 04:06, 5 June 2006 (UTC)

-- ClearCase uses an interleaving branching structure like SCCS, but it doesn't use SCCS format, and for very good reason: SCCS only supports a single branch off of the trunk. You can't have a branch off of a branch. (You can, but SCCS's file format doesn't directly support it). The interleaving branch method used by SCCS has an advantage over RCS's format in that it can pull up almost any version just as quickly while RCS's format can pull up the latest version very quickly, but takes longer and longer the more versions it has to go back.

I suspect that PVCS might use SCCS format because it was originally a front end for SCCS. Sablime (another AT&T product) does use SCCS format.

Addendum: I just confirmed that ClearCase definitely does not use SCCS format. I've also found the script pcvs_to_rcs script which is different from the sccs2rcs script that comes with CVS. This pretty much confirms that PCVS doesn't use SCCS format.

I can't vouch for SourceSafe (although I have my doubts since it uses a proprietary database to store its source code) and TeamWare. It is pretty much well known that Bitkeeper uses SCCS format. I'll also add Sublime.

I removed ClearCase and PVCS from the list of version control systems that use SCCS format:

David W.


 * Since no one was able to document SourceSafe's use of SCCS, I removed it. My comment mistakenly said TeamWare, but I meant SourceSafe.


 * I also checked the Sablime web site, and found it supports SCCS as an option, but primarily uses SBCS. See:


 * http://www.bell-labs.com/project/sablime/sbcsman/sc2sbcs.html
 * http://www.bell-labs.com/project/sablime/sbcsman/sb2sccs.html


 * I can confirm TeamWare definitely uses SCCS. -- Seitz 18:54, 1 October 2006 (UTC)


 * TeamWare was a frontend for SCCS. Sablime seems to use the sccs command sources but it looks like Sablime replaced the low level history file access code by something that writes binary history files. Given the fact that SCCSv3 (before February 1977) used binary history files, this looks a bit strange. Sablime however does not support to write SCCS history files but converting programs for SCCS -> Sablime and Sablime -> SCCS. As POSIX does not define the SCCS history file format, Sablime could be called "POSIX SCCS compliant" ;-) As Sablime allows to switch between forward and backward deltas, Sablime does not seem to use the weave delta format. --Schily (talk) 22:42, 15 June 2011 (UTC)

first source code revision control system
I happened to recall that UNIVAC EXEC 8 had versioned files, which could predate SCCS. The feature was accessed by the "elt" processor, which could store up to 63 versions in an element (and wrap around when there were more). EXEC 8 was released in 1964. I don't see a source which backs up the comment that SCCS was the first such system. Tedickey (talk) 10:50, 7 April 2010 (UTC)

That's true--Exec 8 did have versioned files--but it wasn't a revision control system. And, of course, since the earliest days of computing, programmers always kept past versions of their code.Rochkind (talk) 23:22, 6 March 2011 (UTC)

Rarely used..
It would be nice if there were a better source for the injected opinion than an obscure (and inaccessible), uncited paper whose purpose was to advertise yet another program. TEDickey (talk) 23:15, 6 June 2011 (UTC)


 * I am very sure that this claim is not based on facts. Before 1988, SCCS was dominating and in 1988 RCS was not free while SCCS has been part of every UNIX installation. Given the fact that you need to learn three command lines to be able to use SCCS, I cannot see a reason why people would like to call SCCS complex. I have no idea why people make false claims on SCCS. The most popular false claim on SCCS is that RCS is faster than SCCS. If you run a test on both to verify this claim, you will find that SCCS is not slower than RCS but that SCCS is faster than RCS once you have more than aprox. 5000 deltas from a single file. With 10000 deltas, SCCS needs the same anount on CPU time for checking out the oldest and the youngest version. RCS needs aprox. 4x the amount of CPU time than SCCS to check out the oldest revision and aprox. 2x the amount of CPU time than SCCS to check out the youngest version. --Schily (talk) 13:00, 15 June 2011 (UTC)


 * Right... I'm sure the statement that SCCS was rarely used is completely false. Its use in and out of Bell Labs was widespread. Rochkind (talk) 20:00, 12 July 2011 (UTC)


 * Solaris was under SCCS (TeamWare is just a wrapper around SCCS), until at least 2008. This is 500MB of source code in more than 46000 files. The Sun Compiler suite is AFAIK still under SCCS. SCCS got a bad touch from people who actively tried to discredit SCCS and who believed the claims from Tichy that RCS is supposed to be faster than SCCS. But SCCS uses a file format that is never slower than RCS and SCCS can do things that other revision control systems cannot do without spending many CPU cycles (e.g version/date/programmer annotated lines). I am able to retrieve an annotated 50 kB file with hundreds of revisions in less than 1ms (you cannot do this with revision control systems that do not use the weave format), so someone could write a GUI that allows to slide through revisions in real time.


 * The one and only major fault from SCCS is that it was not an integrated part of UNIX (but rather a part of the programmers work bench) and that SCCS has not been available as true OpenSource early.


 * I convinced SCO in 2001 to make SCCS OpenSource, but then they have been bought by Caldera Linux two weeks before the source should have been handed out and there was no interest in OpenSource anymore. It took some more time to convince Sun to make SCCS OpenSource and I did not do this for fun, but in order to add the few missing features that make SCCS a distributed system that supports to control projects and not only single files.


 * Wikipedia should not spread unsourced claims. Thank you Mark for giving us your view! --Schily (talk) 09:12, 13 July 2011 (UTC)

Unofficial releases
As far as I can tell, there is an official SCCS included with UNIX, which is not the same as the version linked here by User:Schily. In my opinion, his version should be considered a fork, and the software infobox should refer to the original UNIX version, despite it not being actively developed anymore. --138.246.2.113 (talk) 09:06, 12 July 2011 (UTC)


 * As there is no common source base amongst UNIX vendors, any SCCS version from any UNIX vendor must be seen as a private fork. The SCCS version described in this article is based on the most popular and most featurefull version available (the one previously maintained by Sun). Unlike the private versions from UNIX vendors, this version offers a common sharable source that has been tested for working correctly on all major UNIX platforms. Unlike the private version from UNIX vendors, this version is maintained and will soon support distributed development. --Schily (talk) 10:15, 12 July 2011 (UTC)


 * As usual, no WP:RS has been provided, and the context of your edits is self-promotional, detracting from the topic TEDickey (talk) 10:44, 12 July 2011 (UTC)
 * See WP:CRYSTAL for other issues with your edits TEDickey (talk) 10:56, 12 July 2011 (UTC)
 * As usual no constructive contribution from User:Tedickey... --Schily (talk) 10:59, 12 July 2011 (UTC)


 * That seems to be the usual practice, lacking WP:RS, e.g., from vendors indicating that "official SCCS" has been deprecated in favor of Schilling's fork. TEDickey (talk) 09:10, 12 July 2011 (UTC)


 * Please understand that as long as the original UNIX versions such as Solaris, HP-UX and IBM AIX ship a different SCCS version (even if they ship three different versions, they are official - this is why I now wrote "various" as maintainers, acknowledging the fact that there is more than one version), we cannot allow you to claim that you are the current maintainer. Please refrain from doing such promotional edits as per Conflict of interest. Please also leave mentionings of other versions such as GNU CSSC in place. Its existence and relevancy is sound. If you want to get listed as the official version here, provide WP:RS that your version is replacing the existing SCCS versions in the major Unix operating systems and have an independent party perform the edit for you. Please read and adher to WP:Suggestions for COI compliance and stop to WP:POVPUSH and personally attack other editors. Your insults against TEDickey are not acceptable, please read WP:Civility. --138.246.2.113 (talk) 17:24, 12 July 2011 (UTC)
 * Oh, and please also understand that I'm trying to keep the article neutral, and obviously I am giving your version of SCCS an appropriate place there. Just not the prime position, since the other SCCS have the bigger market share, don't they? --138.246.2.113 (talk) 17:31, 12 July 2011 (UTC)
 * As you are introducing false claims, it is hard to believe that you are interested in keeping the article neutral. --Schily (talk) 09:14, 13 July 2011 (UTC)
 * Your repeated personal attacks on other editors detract from any message you may be considering TEDickey (talk) 09:24, 13 July 2011 (UTC)
 * What you are doing can definitely be seen as personal attacks, I however only try to correct false and unsourced claims. --Schily (talk) 09:31, 13 July 2011 (UTC)


 * There aren't any sources for your remarks. Referring to "false claims" sounds as if you're calling the other editors liars, which is undoubtedly an attack.  If you do not mean your remarks to be taken in that light, you should retract them. TEDickey (talk) 09:40, 13 July 2011 (UTC)


 * If you did not introduce unsourced claims, this discussion would have been much easier. If you like to get correct information, you may need to ask people who know the facts. I did e.g. ask Eric Allman about the legal state of SCCS (see below) and I use many other trustworthy sources. It seems to be a common mistake made by US people to believe they have been personally attacked even though there was only a fact based discussion and it seems to be a common mistake from US people to reply with personal attacks on arguments from a fact based discussion. Do not make this mistake... --Schily (talk) 09:56, 13 July 2011 (UTC)

The statement above by talk, "any SCCS version from any UNIX vendor must be seen as a private fork" is, I believe, accurate. Certainly the vendors' SCCS versions differ in ways not easily explainable by any mechanism apart from a sequence of forks. Some of the differences between vendors' versions are described at http://www.gnu.org/software/cssc/manual/SCCS-Version-Differences.html JamesYoungman (talk) 22:19, 30 June 2014 (UTC)


 * It's not much of a source: it refers to Dynix, Solaris 2.6, Solaris 8 and SCO OpenServer, and makes a few vague comments about "many other versions of Unix". Ignores AIX, HPUX, Tru64.  Some of the minor differences cited could also be due to the point at which their respective systems forked from AT&T source (as AT&T continued to evolve) rather than changes in the forks themselves.  To make an interesting discussion, a source without vague comments which covers the systems which are POSIX-certified would be useful (and a table where the reader could see where data is known to differ) TEDickey (talk) 22:32, 30 June 2014 (UTC)

Licensing
There have been attempts from IP 138.246.2.113 to introduce false claims on licensing.

SCCS was closed source until December 19 2006. At that time, SCCS was released under the Common Development and Distribution License by Sun Microsystems.

If SCO was not bought by Caldera Linux, SCCS would have been released under the BSD license in 2001, but this did not happen.

SCCS is part of PWB and SCCS sources are definitely not part of the UNIX sources even though often kept in a single directory tree. SCCS sources have been put on the CSRG CDs that contain the BSD UNIX SCCS history between 1978 and 1994. The code on these CDs is however not OpenSource and the SCCS sources that can be seen in various FreeBSD CVS repositories cannot be distributed legally to people that do not own a related AT&T source code license.

The only legally distributable SCCS source code is the one that is based on the code that has been made available by Sun in December 2006. --Schily (talk) 09:28, 13 July 2011 (UTC)


 * The AT&T source code license and CDDL make at least two licenses, which can be described by the shorthand "various" (= more than one!). I bet the various Unix vendors will offer additional licensing options. So what exactly is my "false claim"? --138.246.2.113 (talk) 10:40, 13 July 2011 (UTC)


 * I don't see a particular "false claim". Schily's standard response here as elsewhere is to assert that people who offer different opinions (or sources) have defective reasoning (understatement) TEDickey (talk) 10:44, 13 July 2011 (UTC)


 * The AT&T source code license means just Closed Source which is the other alternative mentioned already. "Various" has the common accepted meaning of "close to many" and thus cannot be seens as correct. --Schily (talk) 12:02, 13 July 2011 (UTC)


 * "Various" has more than one meaning. It appears that "many" is a secondary meaning; the primary meaning (from the word's origin) simply means "different".  You should WP:AGF and ask the editor for clarification rather than attacking him. TEDickey (talk) 22:19, 13 July 2011 (UTC)

Citation needed markers
Please remove such markers only if you found a suitable source to quote!

The current SCCS development on sccs.berlios.de fixed many problems that are still present in "vendors" SCCS versions. If there was active development at the side of the UNIX vendors, these vendors did of course fix their problems... --Schily (talk) 15:22, 30 July 2011 (UTC)


 * Please provide a reference for the "active developers only" requirement. Why must only active developers be listed? The Unix operating systems ship a different version than yours, you are not "the developer" of their version. There is no need for a citation; there are multiple versions that do not bear the same name. If we need a citation, then for you being the official developer. I'd list IBM, Oracle, HP, and others. But actually it makes even more sense to just leave it empty. --87.174.50.215 (talk) 20:06, 30 July 2011 (UTC)
 * User:Chire (youseem to try to stay anonymous), what you are doing here is called vandalism. IBM and HP cannot be called an official developer: They don't currently work on SCCS and they could not even give away their source variant as they do not own the needed permission. Orcale (even though they have the right) is currently not interested on a future SCCS development - there is a 6 year old source and no visible activity. I caused SCCS to become OpenSource and I do active development. It is interesting to see that you are trying to hide information about active OSS development. --Schily (talk) 14:06, 31 July 2011 (UTC)
 * Schily's still providing no reliable sources and relying on personal attacks to prove his points. TEDickey (talk) 14:16, 31 July 2011 (UTC)
 * As usual, you are writing text that cannot lead to a useful goal. It is not helpful to claim personal attacks as we currently have a situation that you and Chire created and that is not aligned with WP rules.


 * You are still not providing reliable sources for the claims (regarding alleged active development at other sides) you and/or Chire added. Would you please follow the WP rules and either give a proof that there is active development elsewhere or restore the information from an Intel guy you/Chire removed: the only active development is at sccs.berlios.de and this is a verifiable fact. --Schily (talk) 09:38, 1 August 2011 (UTC)


 * As the self-promotional/self-interested party in this discussion, it's up to you to provide useful reliable, third-party sources to cancel out your conflict of interest. Accusing others of not being "helpful" in the sense that they're not willing to help promote your own interests is also in a broad sense accusing them of lacking good faith. TEDickey (talk) 10:51, 1 August 2011 (UTC)
 * I am sorry to see that you obviosly intentionally like to violate WP rules. The information that I am the current developer iswas added by an Intel guy - not by me. You/Chire removed this without providing any proof. It is your duty to provide a reilable source for that new claim introduced by you/Chire. Why do you try to undermine OSS activities by removing information about the OSS activities? --Schily (talk) 12:15, 1 August 2011 (UTC)


 * How about reading the comment? The is no requirement of "active". It is okay to list "dead developers". (Besides, we do not know what IBM, HP and Oracle are doing internally. Or if Google or Bitkeeper maybe has another SCCS branch.) --Chire (talk) 11:08, 1 August 2011 (UTC)
 * You clearly are a bit paranoid. I can do my moderation of your biased edits well using my account. You insult and accuse me anyway, so why should I hide?
 * I do support the anonymous edits: there is no requirement for "active" developers listed only. Fact: IBM, Oracle, HP ship a version that is not developed by you, therefore you must not to be listed as developer. Just because you happen to maintain the only "active" fork of SCCS doesn't make you the official developer, but just a random guy forking SCCS. In fact, there is no proof of notability of your SCCS version, by wikipedia standards it should be removed altogether. This is as if we would list cdrkit as developer for cdrtools (they develop the GPL branch of cdrtools...). Your SCCS version is as much official SCCS as cdrkit is official cdrtools. --Chire (talk) 11:08, 1 August 2011 (UTC)
 * Why do you like to compare active OSS projects with dead projects like cdrkit? --Schily (talk) 12:16, 1 August 2011 (UTC)
 * That is not the point; but in general Wikipedia doesn't care much about "active" or not. We know the earth is not flat, yet Flat Earth is a proper topic, despite being "inactive" for a few years... Because there are reliable sources that people for some time thought the world were flat.
 * But you again try to avoid facing (or even hide) the key point: there are official (cdrtools, UNIX vendor SCCS versions) and inofficial (cdrkit as cdrtools fork, your SCCS fork) versions.
 * How about proofing notability of your SCCS fork according to WP:NOTABILITY? The current sources only assert notability this for the official versions! So actually we would even have to delete the link to your fork, since your version is not notable as of now. Note: this is not what I'm proposing (although I'd probably not oppose it either), since I believe the revival efforts are worth mentioning the way they are in the article right now (but not more, as in making it appear as if you were the official developer, which you are not, unless you provide a reliable source!). --Chire (talk) 13:47, 1 August 2011 (UTC)
 * Do you really believe that you can fool people so they do not understand that there is an official development on cdrtools by the original author, but there it no SCCS development from original providers - neither by Mark Rochkind nor by AT&T? There is however active SCCS development in the Berlios project.


 * But this is far off-topic. It seems that you just like to prevent people from realising that you removed an accepted statement from an Intel guy, turning the message from the Intel guy into it's converse without giving any citation for your claim. --Schily (talk) 16:03, 5 August 2011 (UTC)
 * No, this it no off-topic. Please understand it does not matter to Wikipedia whether or not there is "active" development. Nor if it was "an Intel guy" that added the link, your best friend, yourself, or me. It does not matter, it doesn't give any WP:NOTABILITY. Your version is still not official, and you still have not provided any proof of relevancy of your development. As such, the link might actually need to be removed by Wikipedias standards. --Chire (talk) 19:20, 6 August 2011 (UTC)

In 2005 and 2006, Jörg Schilling asked...
Reading the thread on the discussion, it's apparent that there was little interest on Sun's part in making SCCS free, that (lacking a better source than those given), that it was figuratively tossed into the box simply as an afterthought. TEDickey (talk) 12:07, 10 November 2011 (UTC)


 * Yes, but User:Schily needs this, so his SCCS-Fork is more prominently placed than the Heirloom Project SCCS-version (which apparently is the essentially unmodified Sun code). In my opinion, the two SCCS-based projects should be treated the same. --Chire (talk) 18:09, 10 November 2011 (UTC)


 * Sure, the context and intent of the edit was plain enough. But the source doesn't support in any sense the implication that Sun did that because Schilling asked.  Perhaps there's another source which gives Sun's rationale for the content which they relicensed. TEDickey (talk) 18:29, 10 November 2011 (UTC)


 * They did not as far as I can tell. SCCS apparently was released as part of a "Developer Products Consolidation (DevPro)" update including libm, medialib, make, sccs within the overall process of releasing OpenSolaris code  There is no attribution to Schily as far as I can tell. Here is the closest I could find to an announcement: . There are four names thanked, but Schily is not mentioned. Oh, and in 2007 he claimed he had been asking for the SCCS sources since 2000. Doesn't sound to me as it was an immediate reaction to his requests. --Chire (talk) 22:35, 10 November 2011 (UTC)


 * I happened to notice another edit, stating in his change comment "I've used SCCS on Linux since 1997". That doesn't seem consistent with Schily's edits in this topic. TEDickey (talk) 23:26, 10 November 2011 (UTC)


 * I believe he has had access to SunOS/Solaris/UNIX sources long before they were open source. Either through Fraunhofer, University or for developing cdrtools on SunOS/Solaris. But of course without being able to re-publish them. --Chire (talk) 11:53, 11 November 2011 (UTC)


 * That wouldn't make them "widely available" as asserted in Schily's most recent edit of the page. To be "widely available", the reader understands that to mean that the program is provided as a package in the various distributions.  I seem to recall seeing a non-official rpm for Fedora, but nothing for anything else.  Perhaps Schily has made a list, for consideration.  (I've also noticed a disparity between Schily's assertions about POSIX versus the responses that he gets from the POSIX people - perhaps a separate thread should be started to weed out the claims versus facts) TEDickey (talk) 12:07, 11 November 2011 (UTC)


 * Schily's SCCS also seems to diverge from original SCCS a lot. From his web page, the next version will use a ("deliberately") incompatible file format (apparently to fix some upcoming date issues). Also, he says that SCCS is faster than RCS, but also that his SCCS is significantly faster than the original SCCS. So it may well be that RCS is faster than original SCCS, which would make many of the published assertions correct. IMHO, he should be using a different name, such as schily-sccs. --Chire (talk) 11:09, 13 November 2011 (UTC)


 * Renaming it would lose the implied authority of the "POSIX" label. However, lacking other information, it's likely that the only benchmarks Schily has used are those that select out the corner cases where SCCS is "faster" than RCS.  Likewise, I've not come across any credible measurements that deal with it in depth.  TEDickey (talk) 11:38, 13 November 2011 (UTC)


 * I've tried to clean up these things. I chose to call Schily version a fork, since he openly announces to become incompatible. --Chire (talk) 21:19, 14 November 2011 (UTC)


 * That's an improvement TEDickey (talk) 00:22, 15 November 2011 (UTC)

When Jörg's version is a "fork", then all UNIX vendors come with private forks
Jörg's version is based on the Solaris fork of SCCS, IBM ships an own fork of SCCS, HP does and SCO does. If you believe that the term fork is appropriate, it is of course also appropriate and needed for various UNIX vendor's versions. Please do not add discrediting terms to wikipedia and treat comparable versions equal. — Preceding unsigned comment added by 130.149.17.4 (talk) 12:31, 17 November 2011 (UTC)
 * No. They are the original vendors. They bought SCCS as part of UNIX. Plus, as you have claimed yourself, they do not do active development at all, just minimal maintainance and porting to their UNIX. You however are doing independent active development (see Fork (software development)) up to the point where you plan to introduce an incompatible file format. On the other end, GNU SCCS is an entirely independent version (that doesn't even claim to be SCCS as in shared heritage). And the Heirloom project apparently can at most be called a port, as from their changelog, all they did was make SCCS compile in their build system (also no independent development of the previous codebase). --Chire (talk) 18:50, 17 November 2011 (UTC)


 * "discrediting" in this context apparently means "not inclined to put up with Schily's self-promotional statements, which have no third-party sources whatsoever" TEDickey (talk) 21:59, 17 November 2011 (UTC)


 * AT&T is the original vendor for SCCS and none of the UNIX vendors is shipping an original AT&T version. They all ship forked variants that differ in functionality and behavior.


 * I am not sure how to best call Heirloom sccs... It compiles with some problems on Linux, you need top manually edit files first to let the build system find a shell. It does not compile on Solaris, it does not compile on AIX, it does not compile on HP-UX. It seems that you have strange promotional interests that do not belong to Wikipedia. Who of you is the person behind Heirloom? Why do you advertize such a project that had a limited activity during three months and did not change a line since then?


 * Finally, if you like to talk to Jörg, I recommend to send him a mail. — Preceding unsigned comment added by 130.149.17.4 (talk) 10:00, 18 November 2011 (UTC)
 * Hello Jörg. I've never even had a look at Heirloom beyond their changelog, because I don't need SCCS anyway: nobody I know uses it anyway, it's dead. I didn't know about Heirloom, before someone else (check the changelog, it's a named user with 850+ edits!) introduced it to the article. I moved it below your version, as it doesn't seem to be very active, and CSSC last because it reports itself as incomplete and independent. And I put the x-years old UNIX versions first, since they have been around the longest. I will not tolerate you demoting the other SCCS versions all the time, while in particular the traditional UNIX versions have thousands more users than your version (where you as well may be the sole user). It is the traditional UNIX versions that are WP:NOTABLE, yours is not (nor is the heirloom port). --Chire (talk) 15:16, 18 November 2011 (UTC)
 * If you would bother to look closely, I in fact placed the four versions in a rather equal position, while you were trying to make your SCCS fork the "official" SCCS, tried to place/keep it in a more prominent position than the others and even delete the other versions from the article. So who is trying to advertise, and who is trying to be neutral here? --Chire (talk) 15:16, 18 November 2011 (UTC)

dominant version control system
Editor's change comment asserts that SCCS was "dominant" until "1990". That comment is unsourced. Most sources agree that SCCS was supplanted by RCS and/or CVS, though the timescale for this is vague. The sentence should be amended to reflect available WP:RS, rather than simply removing it. TEDickey (talk) 10:56, 22 March 2012 (UTC)
 * RCS was close to completely unused before 1989 because it was non-free software. If you are able to name us other source code controls systems than SCCS that have been in use in the 1980s, you are of course welcome! The use after 1990 was based on the free availability of CVS and the wrong claims about speed comparisons between SCCS and RCS. Schily (talk) 13:21, 12 November 2014 (UTC)


 * I began using RCS in May 1988, which was distributed by Sun. That's referring to my changelog, of course. There were other CM systems which you have demonstrated inexperience with, but I do not need to list them here. TEDickey (talk) 10:12, 13 November 2014 (UTC)
 * Which changelog? Schily (talk) 15:06, 14 November 2014 (UTC)


 * [here] is a starting point. TEDickey (talk) 11:57, 15 November 2014 (UTC)
 * I cannot see anything there that could help in the current discussion. Schily (talk) 14:19, 18 November 2014 (UTC)


 * My comment was made in the context of your repeated assertion that rcs was not distributed before ~1990. Sun distributed RCS 4 as part of SunOS in 1988. TEDickey (talk) 23:28, 18 November 2014 (UTC)
 * You are of course free to verify this claim. Up to now it is unverified and I remember that I had to compile RCS even in the 1990s when there was the rare case to have a need for RCS. Schily (talk) 11:13, 19 November 2014 (UTC)


 * Your memory doesn't agree with the history which I recorded for my project. TEDickey (talk) 00:27, 20 November 2014 (UTC)


 * Lacking a suitable WP:RS, e.g., a WP:Verifiable set of release notes (or first-hand report, e.g., from one of the rcs developers) for the first release of rcs by Sun on SunOS, what I have to go on is the discussions with my co-worker, who provided feedback on my rcs wrappers -- as well as the fact that I began work on this in May 1988. TEDickey (talk) 01:32, 20 November 2014 (UTC)

Obsolete
Probably no one except for the 2-3 individuals with a personal interest in it would disagree. For example (before getting into a long discussion, check on the definition of "obsolete") TEDickey (talk) 23:03, 5 May 2014 (UTC)
 * http://www.oxfordreference.com/view/10.1093/oi/authority.20111124121224317
 * http://search.cpan.org/~hmbrand/VCS-SCCS-0.20/SCCS.pm
 * http://oval.mitre.org/language/version5.11/ovaldefinition/deprecation/unix-definitions-schema.html

Claiming that something that is part of a recent standard (POSIX) is obsolete sounds a bit stange. Schily (talk) 10:15, 6 May 2014 (UTC)


 * Because your comment was non-responsive, these links might help:

TEDickey (talk) 23:56, 6 May 2014 (UTC)
 * http://dictionary.reference.com/browse/obsolete
 * http://www.merriam-webster.com/dictionary/obsolete
 * http://www.oxforddictionaries.com/us/definition/american_english/obsolete


 * Once you edited the articles for RCS, CVS and SVN to mention that these systems are obsolete, I may think about your idea, but as long as the named other systems are not called obsolete, your wish looks like an attempt to make the SCCS article unbalanced. Schily (talk) 08:32, 7 May 2014 (UTC)

Do I get a vote on this? It is more than obvious that SCCS is completely obsolete. But it is great that people are still arguing about something I did as a 24-year-old kid almost two generations ago. Beat that with a stick! Rochkind (talk) 05:00, 18 February 2016 (UTC)


 * The original SCCS implementation can be seen as obsolete today. But Sun created a tool called "NSE" that was published in early 1986 and that acts as a frontend to SCCS that gives first distributed features. Later around 1990, (after the CDE developers Sun, IBM, HP, AT&T, ... wanted to collaborate but signaled that they will not port the translucent filesystem to their OS) Sun created TeamWare and TeamWare was another frontend to SCCS that implemented the next step towards modern distributed version control software. Larry McVoy was working in the TeamWare support team at Sun Microsystems around 1990 and then created his own company where he reimplemented SCCS and added the distributed version control interface that all modern programs copied.


 * Given that RCS is a much more archaic system than SCCS and did not fix any of the design flaws from SCCS, I continued to use SCCS and I negotiated with SCO to make SCCS OSS in early 2001. But then SCO was sold to a Linux company that was not interested in OSS an I had to wait until December 2006 when I could convince Sun to OSS the code.


 * I made the code portable and created a new history file format that is similar to the V4 format from February 1977 but includes 4-digit year numbers and a timezone offset and nanosecond granularity.


 * It turned out that SCCS is much faster than other revision control systems and I designed a new "database format" for a so called "changeset" file. In order to verify whether SCCS could be used in the future, I created a history file with 3 million deltas in it and it is still really fast. With the timing results, I could verify that an enhanced SCCS with changeset support could support the Linux kernel development extrapolated to the next 50+ years on a machine from 2005 with extrapolated typical commit times < 10s after 50 years of continued development. This is much faster than GIT is expected to be under the same constraints.


 * There will be a new SCCS version with changeset support and networking support within the next 1-2 years, so I cannot see the basic idea behind SCCS to be obsolete already. Schily (talk) 11:26, 18 February 2016 (UTC)

Obsolete doesn't mean dead and unused. Many photographers shoot with a Nikon F, but it's obsolete. Really, if you asked a random sample of twenty-something programmers what they used, about 95% of them would say GitHub, the others would name some other cloud-based system, and only those paying attention in their software engineering classes would even know what SCCS was. Rochkind (talk) 14:34, 18 February 2016 (UTC)


 * But the Nikon F did not get updates since the 1980s while the SCCS code base nearly doubled during the past 10 years. So there seems to be a difference. I however agree that many people may not know mercurial as well ;-) Schily (talk) 17:37, 18 February 2016 (UTC)

SCC compliance
SCC compliant and 'SCC' evokes 'SCCS' and the ability to make sources interchangeable among different vendors. This was a non trival problem at one time (when 'BUNCH', 'mainframe', and 'mini' meant state-of-the-art). Even Microsoft thought so, as late as 1989. I would think have thought that citations like the ones just reverted make a difference to the article. Apparently not. --Ancheta Wis   (talk  &#124; contribs) 14:57, 14 February 2015 (UTC)

Usually, edits that address inline tags are considered helpful. But it appears that their removal are collateral damage from interchanges between parties with a long history. I would like to do what I can to minimize this sort of damage, as it factionalizes the encyclopedia, which is not helpful to it. Any suggestions? --Ancheta Wis   (talk  &#124; contribs) 15:14, 14 February 2015 (UTC)


 * ??? SCC is a Microsoftism and no standard, in special it is unrelated to SCCS. As mentioned on your talk page already, if you like to write something helpful for Microsoft related software, you can do this on the related article. Schily (talk) 19:27, 14 February 2015 (UTC)
 * No, you have it backward; SCCS influenced others, even Microsoft; even IBM's ClearCase was SCC compliant, as were multiple other version control systems. See Rochkind's citation of IBM's CLEAR as one of the influences on SCCS. I would think that this article would be interested in these influences. --Ancheta Wis   (talk  &#124; contribs) 19:39, 14 February 2015 (UTC)
 * Rochkind did not mention Clearcase, as Clearcase did not exist in 1975. Please note that there is no relevance to SCCS even if other programs may follow this Microsoftism. Schily (talk) 19:55, 14 February 2015 (UTC)

VRCS paper as a source
Two obvious problems with that as a source: (a) it was written in 1997, and (2) it was not written as a neutral survey of the state of the art, but rather to promote a different tool. TEDickey (talk) 19:41, 10 September 2016 (UTC)

Likewise, the suggested links for BitMover and Teamware date from the later 1990s. Neither supports the statement to which they were added TEDickey (talk) 21:33, 10 September 2016 (UTC)

SCCS Basic Commands
It strikes me (212.44.43.190 (talk) 22:35, 27 January 2017 (UTC)) that this section is missing the sccs delta command to actually commit the change to the checked out file. Retrieving the file with sccs edit is moderately pointless unless you check the change back in. sccs sccsdiff is also somewhat interesting to the user, but not obviously missing.


 * I edited the article to include sccs delget, but it may be a better idea to add a pointer to the recent manpages: . Pages 2..4 give an overview of the available commands.  Schily (talk) 13:37, 30 January 2017 (UTC)

Initial release 1972
The referenced paper does not actually say SCCS was initially released in 1972. It says "... when we began development of it (in late 1972)" and "The first release of SCCS was coded, debugged, and tested by one person in less than three months." and goes on to say that there was a six-month trial after completing the prototype. That would make the initial release in 1973 (agreeing with a later comment about 1973). The paper does not identify the actual developer of this initial version, but in the acknowledgments section cites three different developers who "worked with the author on the design and coding" TEDickey (talk) 22:43, 9 September 2019 (UTC)

Right -- initial release was in 1973. Entirely coded by me; other cited contributors did not do any development or coding of SCCS. One of them, as I recall, did some coding on a related utility. Rochkind (talk) 21:12, 12 August 2020 (UTC)

source for "developed SCCS in SNOBOL4 at Bell Labs for maintaining the large source code base"
The given source does not say that. Rather, it indicates that Rochkind developed a prototype (e.,. proof of concept) and was able to get one moderately large group (one group of 100 developers out of several tens of thousands at that point in time) to use it for some trial period. The previous revision wasn't so blatantly promotional. TEDickey (talk) 21:04, 7 May 2020 (UTC)
 * Thank you. I withdrew my changes, because the references that I was think of, don't actually identify the name of the source control system used. Perhaps I'll find more detail another time. Kbrose (talk) 22:29, 7 May 2020 (UTC)


 * sounds good TEDickey (talk) 22:55, 7 May 2020 (UTC)

"100 developers out of several tens of thousands" isn't really right. Much less than a thousand worked at the location where the first version was put on the mainframe (Piscataway, NJ). That version was never packaged up for distribution or installation. The developers simply used it on the same mainframe on which it was developed. Rochkind (talk) 21:19, 12 August 2020 (UTC)

Opengroup "official repository"
I can't find anythign related to SCCS on this website. It would make much more sense to link to http://sccs.sourceforge.net/, maybe not as an official repository, but it is probably the best available now. 93.254.27.45 (talk) 08:36, 10 June 2022 (UTC)

Here's one of the mentions: sccs - front end for the SCCS subsystem (DEVELOPMENT) TEDickey (talk) 10:55, 10 June 2022 (UTC)