Stu Feldman developed make(1) and touch(1), which were tools that came with
it. This work was initiated on Research Sixth Edition, which was evolving
into something that, as a kernel, was sometimes referred to as UNIX/TS. As
to when Stu started using the TS kernel over the early V6 kernel, that has
been lost to time. The same applies to the compiler. He might have started
using an earlier C compiler that linked with libS.a before stdio was fully
integrated into libc.a as it would later be. But I'm sure it was by the
time his work was complete.
Remember, there were no formal names. As the Research team and the Summit
(USG) teams worked together and shared changes, differences were
identified, such as in the kernels and specific tools. The *release
vehicle* for the final kernel from Ken and the tools to folks *outside of
the labs* was what we call the, which generally predate PWB 2.0 by a
small amount. Remember rleeease internally were tad more fluid (like git
clone but without a release guid). Also the tools like make/touch were
also included in the PWB via the Summit releases. Stu's paper is included
in the Seventh edition documentation, although it came from Research not
Summit.
On Sun, Jun 8, 2025 at 1:44 PM Joseph Holsten <joseph(a)josephholsten.com>
wrote:
A TikTok user was asking the history of the touch(1)
command:
https://www.tiktok.com/t/ZTjgSMyAQ/
Unix history repo let me find the first occurrence in V7:
https://github.com/dspinellis/unix-history-repo/blob/Research-V7-Snapshot-D…
But looking at ls source in V6, it’s clear that stat(2) had st_mtime so
touch would have been useful earlier. I notice make was added at the same
time, which cares significantly about mtime. Was that the impetus?
(Also, wow just writing a single char! Compared to present day impls which
give fine grained control to modify mtime & atime, the original seems both
indirect for the purpose and delightfully literal.)
--
Joseph Holsten
http://josephholsten.com
mailto:joseph@josephholsten.com
tel:+1-360-927-7234