[svlug] -who option
eager at eagerm.com
Sat Mar 2 17:35:43 PST 2019
On 03/02/2019 02:24 PM, Mehma Sarja wrote:
> Hi LUGers,
> As the people who were around back when OSS started in earnest start keeling over, we should formalize our history. I propose we have a “-who” option for Linux commands which documents the history and people related to each command.
> For example “ls” would get a new option “ls -who” which would provide a history of the command and the people behind it.
As has been mentioned, the GNU way would be '-w' or '--who'. But why?
I'm all in favor of keeping track of our history and, certainly, much of
it has already been lost. I have a box of 5 1/4" floppy disks which may
have valuable historical information if only I could read them. Or
maybe not, since the small labels have felt-tip marker names in 8.3
format like "clrdfl.txt", which I'm sure was meaningful before the
synapses which contained that meaning were slowly but surely expunged.
This reminds me of the way that we tracked changes in source files in
the days of SCCS, RCS, and maybe even dusty decks in a shoebox. Every
file (and depending on shop standards, every function) would have a
header which contained a description written years before when the file
(or function) was created, and which may or may not still be descriptive
to its current operation. Every time someone made a modification to the
file they were to describe the change, usually with a date and the
persons name, initials, or handle. These ranged from cryptic one's like
"12/13/96 Wombat: Fixed bug" to a detailed analysis of the procedure
which had been removed from the function. (I kid you not: part of a
complex part of GDB contains a long critical comment describing what
used to be done at the location, complete with why it was wrong, but not
one word describing what was done now, only the assertion that it was
better.) Often, unless someone was checking, developers would forgot to
update the change log making it incomplete at best.
The inline history would sometimes turn a 300 line file into a thousand
line file, with new comments contradicting older ones, none of which
could be matched with actual code changes. The one redeeming grace was
that once compiled, these often ignored comments did not generate
With the development of improved Source Control Systems, such as CVS,
Hg, SVN, and git, descriptions of changes moved out-of-line into the
repository, where they no longer cluttered the source code and could be
managed much easier and much better.
Adding a authors function, triggered by '--who', would have many of the
same issues. While the persons' names (or handle like Wombat above)
would be included, there would be little to indicate whether the person
fixed a critical vulnerability or just corrected punctuation errors. Of
course, we could have each person describe their changes so it could be
printed with their name, either resulting in "Wombat: Fixed critical
bug" or a long essay on the serial comma. Likely, few people would ever
look at the list of authors and it would often not be updated.
One difference that an inline authors display has from the inline change
log is that the authors function generates executable code, which even
if never exercised, still takes up space in the executable file.
Of course, for any project in a git repository, finding the authors is
not all that difficult:
$ git log --format='%aN'
Michael Eager eager at eagerm.com
1960 Park Blvd., Palo Alto, CA 94306
More information about the svlug