Hacker News new | past | comments | ask | show | jobs | submit login
The Go language's first commit (1972) (repography.com)
150 points by arraypad on Feb 14, 2022 | hide | past | favorite | 47 comments



This was done as a joke.

Go was released.

Someone else claimed he owns the name "Go" for a programming language. As a proof his github "go language" creation and commit date was shown. This wasn't fake, was real.

Google surely won't give up for this reason. Few days later google extended their go commit to 1972. Preceding that author's date by a long shot.

Guess you can find the news coverage from that time if you search.


Shitty joke. It was bought up in issue 9 in the golang repo and was a pretty big deal at the time.

I still think they should have renamed go to "nine". Alas Google had no problem just steamrolling the guy and then pissing on ten years of his work with a go fuck yourself in the form of this commit.

https://github.com/golang/go/issues/9


Not unlike Apple steamrolling the Swift language from ANL.

https://www.anl.gov/mcs/swift-fast-parallel-scripting-langua...


Perhaps pretty big deal for you. If it were pretty big deal in general we would have seen at least some copyright violation case about it.


You can't copyright a name. That's what trademark law does. While choosing a good name certainly takes some creative effort, it is not equivalent in the eyes of the law to a creative expression like a short story, song, or computer program.


Yeah. I feel bad for the guy who developed Go!, but I also totally understand Google's decision not to change the name.

Swift, Go are somewhat obvious names for a programming language (they express speed and action), and if you keep in mind *every smaller languages, it's almost impossible to come up with a name that nobody used as a programming language.

Sure, don't start a new programming language and call it Python or Java, but how about Falcon, Cheetah, Quick, etc? I never heard about any of them, but I'm sure there exist somewhere a programming language written by a solo developer that uses one of these names.


http://www.falconpl.org/ is The Falcon Programming Language. Seems to have been active from 2011 to 2014 and then a bit in 2018. https://www.linuxjournal.com/magazine/falcon-programming-lan... is about a language of the same name from 2008. It was a language Dr. Douglas W. Jones used to teach compiler construction at University of Iowa around 2013-2014 and possibly before (https://homepage.cs.uiowa.edu/~dwjones/compiler/spring13/fal...), later replaced by the similarly named Kestrel (https://homepage.cs.uiowa.edu/~dwjones/compiler/fall14/). The slides in https://www.nku.edu/~foxr/CSC407/NOTES/falcon mention at least two other languages named Falcon. I have no idea which of these might be the same languages or related to one another.

Falcon was also a computer system from Atari. Cheetah is also at least a computer system, a brand of drive, and a template system for Python. I don't know of languages called Cheetah or Quick. They may exist. "Quick" was part of the name for multiple programmers' tools and language implementations from Microsoft - QuickBasic, QuickC, QuickPascal, QuickAssembler... maybe more. They competed with the Borland Turbo C, Turbo Pascal, Turbo Assembler, Turbo Prolog, and Turbo Basic languages. This was back before MS switched to Visual C++, VisualBasic, etc.


Whether something is a big deal has nothing to do with whether there was a court case about it. Google behaved really poorly here. They should have changed the name. That has nothing to do with any law.


Organizations with very deep pockets have pursued copyright cases against Google. Mostly unsuccessfully because Google's pockets are deeper and litigation is expensive.


dsymonds strikes again..

David Symonds is a known type of bad actor within Google. Good luck if he latches onto your project or feature. This individual has consistently demonstrated a knack for deep sixing as much useful efforts as possible while simultaenously avoiding as much work as possible. The worst kind of BOFH developer I've encountered.

https://github.com/golang/protobuf/issues/156

It's just a sad aussie knoll troll situation.


This was done as a joke, but not in response to the Go! issue. If you have the original Mercurial repo from the time of the release, you will see it there from the start.

I wrote a longer post about this at https://research.swtch.com/govcs.


Ongoing discussion here:

Go’s Version Control History - https://news.ycombinator.com/item?id=30333594 - Feb 2022 (8 comments)


Many projects have changed names over the years to avoid confusion and give other projects some space in the realm of ideas. Perl was briefly Pearl, but dropped the 'a' due to such a conflict. Microsoft changed from "Git Virtual File System", abbreviated "GVFS", to "Virtual File System for Git", abbreviated "VFS for Git" because there was already a critical mass of articles and documentation for the GNOME Virtual File System. Where a name causes confusion among users, it's good practice to choose a new name even if there's no trademark.

Lots of other projects have similar names across different types of software projects, which can be a little confusing but not as confusing as the same name in the same sphere. "Sphinx" for example represents at least a documentation generator, a search engine and text indexer, a data collection package for research, materials simulation library (as "SPHInX"), an integrated hardware/software access control package, and a network monitoring system. "Argus" is at least a commercial real estate software package, a network and systems monitoring and alerting system similar to Nagios or Sensu, a museum collection management package, a network activity auditing package, safety case management software from Oracle, a high-tech optical analysis system for the sheet metal forming industry, a secure messaging solution for medical information, a suite of system monitoring and management tools for Windows, and an augmented reality (AR) system for support & troubleshooting in multiple manufacturing industries.

As for "Go" for a language, I don't think confusion was likely. This other language doesn't seem to have been in widespread use or documented broadly outside the one project lead's own pages. It might have been kind to this other creator to change the name, but I don't think it was really necessary to avoid pain in the broader community.


Well, it's half joke if you know Go's history, but the half serious part would make that commit also the first commit of C++ and Objective-C


Something about the way git works suggests to me that Google did not in fact just change the timestamp on the first commit in their repository.


Force push works just fine for changing timestamps.


Something tells me your model of how git works is completely incorrect.


Step 1: change system clock

Step 2: make a commit

Step 3: rebase later commits to that commit

Step 4: force push to the main branch

Step 5: correct system clock

Try it. It works.


I can save you some time:

    git commit --date "Tue Jul 18 19:05:45 1972 -0500"
That format actually works just fine for --date.

There's also the GIT_AUTHOR_DATE and GIT_COMMITTER_DATE environment variables.


TIL. I've never needed this, but it could come in handy in the past.

Thanks.


The "Go!" language, right?

I mean the language was first IIRC.


Ha sneaky. They messed it up a bit though by putting it in a `macho` directory when Mach-O didn't exist until 1985.


So any thoughts on this company, Repography? Their dashboards look really cool, but the only way to give them a go with my own repositories is to authorize their Github app to "Act on my behalf", whatever that means, or to curl some unknown code and pipe that into bash locally on my machine. Neither option is one I'm particularly fond of trying, without additional assurances that this is a legit org. I don't know. I just feel like they could have spent a bit more time convincing me it's safe to do that authorization thing. Likewise, I could have downloaded their script and audited it before running - I just don't have the time to do that right now.


Hi, I'm Arpad, one half of Repography.

There's an entry in our FAQ [1] about this. We only use OAuth to identify your GitHub account and then the GitHub app installation has much better defined permissions.

I'd love to be able to restrict the OAuth scope even further but GitHub doesn't let us. I've heard this concern a couple of times now so I'll have another look. I can hopefully at least improve how it's presented and communicated so it's more reassuring!

[1] https://repography.com/faq


The back button is broken on your website.


This seems to be a joke, but I was expecting it might be serious, because (AIUI) the Go compiler is derived from the Plan 9 C compiler. Of course, that was probably not started in 1972, but it does mean Go's source code is older than the language itself.


One of the more strikingly recognizable steps along the way is the alef programming language, also a plan9/bell labs baby.


Russ cox wrote about it too: https://research.swtch.com/govcs


How would that even work if git was released in 2005? Am I missing something?


It’s just a joke. When creating a commit, you can override the timestamp to whatever you want.



A date is just a number in a file. You can create Git commits with any date you want.


For the sake of interest, not quite any date.

https://stackoverflow.com/questions/21787872/is-it-possible-...

e.g. this repo which represented the US constitution in a Git repository couldn't use the actual dates it wanted to. https://github.com/JesseKPhillips/USA-Constitution#who-made-...


Yes and this actually matters.

Not allowing the creation of repos of historical data with correct timestamps is a bad design decision, not an inevitability.


I have git repos with commits from before 2005 in projects converted from cvs, to subversion to git.


Obviously, code that old couldn't have been originally committed to git. But it is quite common to have old repositories migrated to git and one would expect the original time stamps been maintained after the migration.


In 1972 the web was still only available in black and white and a typical consumer laptop was the size of a steamer trunk.


Sorry, what do you want to say with that? I was talking in general, why Git repositories might contain commits which precede the creation of Git by a large amount. And I am sure, while no one committed the code in 1972 to any kind of repository, that the code snipped with its date is genuine. At that time Kernighan was working with other legends off the Unix world on Unix and the C language.


There existed VCSs in 1972.


You can modify the git history to your liking. There are tools for that, like reposurgeon [1].

[1] https://gitlab.com/esr/reposurgeon



There seems to be a lot of confusion. Check out the GIT_AUTHOR_DATE (or git commit --date) and GIT_COMMITTER_DATE environment variables for more insight.


Presumably the original first commit was a CL on perforce, and copybara did not yet exist, so they arbitrarily did this when exporting to git.


NFT sale when?


Where are the cool free projects? This repography is yet another product that wants my money.


Yes, this is actually not unusual. People need food, water, shelter, and suchlike in order to survive, and so they exchange their labour for goods and services. Money is a helpful token now rather widely used in this bartering process.

I know it's quite common in the web development community to take a lot of freely provided code which took immense labour to write, and then stitch it together, in a way that requires very little skill or effort, in order to sell the result - but this isn't the norm in the world at large.


Their developers decided donating their time to a bunch of demanding know-it-alls with no appreciation for their work was a bad deal for them.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: