(zow.txt screenshot)

To donate to the GNU RCS maintainer, click here:



For other ways to donate, see patronage.


In the early 1990s, I first encountered RCS on a DECstation 3100, working as a co-op in Hudson, Massachusetts (USA).  It was a new experience, this bunch of programs, for someone who had previously only worked on a diffident IBM mainframe (via green-screen 3278 and later 8-color 3279 terminals) and VAX/VMS (via a beautiful amber-screen vt220 terminal) for university course projects.  For the DECstation 3100 ran Ultrix (a unixoid operating system) and the commands were short and case-sensitive.  In particular, using a pipe to filter the rlog command's output through the powerful grep and sed utilities became an addictive pastime. 

Over the years, I've happily used RCS for versioning dot- (see above) and various other isolated files, mostly through the Emacs interface.  In fact, I like both Emacs and RCS so much, I implemented ‘vc-annotate’ (bound to ‘C-x v g’, normally) for RCS in 2004 or so. 

But back to RCS proper...  In 2009, I found a small bug in one of the manpages and dutifully submitted a small patch.  After a period of silence, I remembered that this process (finding a small doc bug, submitting a patch, and waiting in vain for a response) had been repeated several times already, so I finally worked up the courage to ask the GNU folks for assignment as the maintainer.  More waiting (just to be sure) and -- surprise! -- maintainership was granted.  In early 2010 I was able to finally fix that bug, and in the process move the source code repository to Git, bump the license to GPLv3+, write a (proper) texinfo manual, modernize the build system and portability support, and do a massive rewrite (the prerogative of every new maintainer :-D), using obstacks instead of the usual malloc/free patterns.  That rewrite was not so wise, as it turned out, because it introduced bugs... 

The last "pre-ttn-era" version was 5.7 (released June 1995).  The first "ttn-era" version was 5.8 (released August 2011). 


Latest version is 5.10.1 (released 2022-02-02).  Check it out! 


Although RCS is in pretty good shape now, it can always stand to be improved: bugfixes, features, performance, etc.  (See chapter Still Missing in the manual, and also file HACKING in the repo.) 

One very difficult "bug" to fix is the holder of the copyright for GNU RCS.  At the moment GNU RCS is copyright by its authors, which includes Walter F. Tichy, Paul Eggert, and myself, along with any collaborators who have made significant changes to the code.  This is unusual for a program in the GNU project; normally, copyright is assigned to the Free Software Foundataion.  I've discussed the situation (briefly) with the FSF copyright clerk and it seems there are two possible resolutions: either track down everyone involved and obtain from each individual a copyright assignment, or rewrite the programs in a completely different language so that the provenance of the source code can be better regulated "this time around".  Being a fan of Guile Scheme (see software), I am leaning towards the second option, even though it is a huge amount of work.

Anyway, if you'd like to encourage me on these (or related) endeavors, please navigate to the top of the page and click in good conscience. 

Copyright (C) 2014-2022 Thien-Thi Nguyen