AboutBlogLaunch app

The Go language's first commit (1972)

Published on Feb 14, 2022 by Arpad Ray

While working on Repography I've explored a ton of open source Git repos. Recently looking at golang/go, I was amazed to see the first commit appears to be from computing legend Brian Kernighan in July 1972.

commit 7d7c6a97f815e9279d08cfaea7d5efb5e90695a8
Author: Brian Kernighan <bwk>
Date:   Tue Jul 18 19:05:45 1972 -0500

    hello, world

    R=ken
    DELTA=7  (7 added, 0 deleted, 0 changed)

diff --git a/src/pkg/debug/macho/testdata/hello.b b/src/pkg/debug/macho/testdata/hello.b
new file mode 100644
index 0000000000..05c4140424
--- /dev/null
+++ b/src/pkg/debug/macho/testdata/hello.b
@@ -0,0 +1,7 @@
+main( ) {
+       extrn a, b, c;
+       putchar(a); putchar(b); putchar(c); putchar('!*n');
+} 
+a 'hell';
+b 'o, w';
+c 'orld';
The very first commit in golang/go. Presumably submitted via fax.

Brian is then hard at work for the next few years:

In 1988 the team decided to take a break for about 20 years before Robert Griesemer's first commit, Go spec starting point.

It's interesting to note that the file from these early commits (the final ANSI C version) is still in the Go repo today.

I absolutely love that someone took the time to implant this easter egg and that it still endures, in such a prominent project.

The real history through the lens of our Time and Influence poster

Finally, having fiddled with the time range a bit, I rendered the poster I intended to... I think this makes it super clear how the core team has evolved over time. It's also encouraging that several of the top contributors appear to have become involved relatively recently.

The top contributors to golang/go, from 1972 (well, 2008) to 2022
The top contributors to golang/go, from 1972 (well, 2008) to 2022

I wonder what other easter eggs and interesting stories are hiding in commit histories? If you have any suggestions please let us know.

Update: As mentioned in the discussion on HackerNews, Russ Cox also wrote about this easter egg providing lots of great context.

What is Repography?

Repography is a web app which creates data visualizations for your Git repos. You can use our command line script to try out Repography on any Git repo, or install our GitHub app.

Our dashboards are kept up-to-date automatically and are designed to be embedded in your README.md.
Our dashboards are kept up-to-date automatically and are designed to be embedded in your README.md.
[object Object]
Our posters are available for purchase both as downloads (€5) and as framed prints (€60).

One click, no signup required

BETA