On Thu, Aug 14, 2025, 19:29 Collin Funk <collin.fu...@gmail.com> wrote:
> I am curious about this: > > $ logname --version | tail -n 1 > Written by FIXME: unknown. > > The author "FIXME: unknown" was introduced by Jim in the following > commit [1]: > > commit 5b2aa1846bc8dc6d8ffce7d523cebc1ab45a17d7 > Author: Jim Meyering <j...@meyering.net> > AuthorDate: Sat Mar 6 15:28:54 1999 +0000 > Commit: Jim Meyering <j...@meyering.net> > CommitDate: Sat Mar 6 15:28:54 1999 +0000 > > Include long-options.h. > [long_options]: Remove the "help" and "version" entries. > Remove declarations of show_help and show_version. > (main): Use parse_long_options, including author name(s). > Remove the show_version and show_help blocks. > > The earliest version of sh-utils I could find is sh-utils-1.12.tar.gz > from 1994 [2]: > > $ tar -xf sh-utils-1.12.tar.gz > $ cd sh-utils-1.12 > $ TZ=UTC0 stat --format=%y ChangeLog NEWS > 1994-11-05 13:35:38.000000000 +0000 > 1994-11-05 13:26:00.000000000 +0000 > > The first ChangeLog entry to mention logname.c is the following: > > Wed Jul 24 02:13:31 1991 David J. MacKenzie (djm at > wookumz.gnu.ai.mit.edu) > > * stty.c (sane_mode): Always set control chars to sane values. > Set min and time if they're different from eof and eol. > > * whoami.c: Print UID as unsigned. > * logname.c: Do "whoami" if getlogin fails. > > * logname.c (main): fprintf was missing an arg. > > After writing all of that, I found that the original shellutils-1.0 > tarball, which I sadly cannot find remnants of, contained the logname > program based on the announcement [3]. > > If I understand correctly, the original fileutils, textutils, and > sh-utils, were all written by David MacKenzie [4]. And he continued to > work on them for some time before passing on maintence. > > Is it safe to credit David with logname? It would be nice to get rid of > the ugly FIXME in the --version output, and give proper credit where it > is due. > > But maybe there is some history I am missing. > > Collin > > [1] This commit predates Git, but I assume CVS repositories can be > converted to git and keep correct commit/author dates. > [2] https://ftp.gnu.org/old-gnu/sh-utils/sh-utils-1.12.tar.gz > [3] https://groups.google.com/g/gnu.utils.bug/c/xpTRtuFpNQc/m/mRc_7JWZ0BYJ > [4] https://youtu.be/D7vfI-WSP8Q?si=zeVjlljqCUGqYZzt Hi Colin, Go ahead and list David as the author there. I suspect the issue was that he didn't list himself as author, so there was always the possibility that the code was contributed by somebody else. Now, it's been so long, and that code is so small that this seems a fair compromise. Thanks for the due diligence.