← Back to context

Comment by kqr

16 hours ago

I have heard that the Google monorepo is called google3 but I don't know why. Maybe those things are common...

Probably a lot of Googlers don't know. It's ancient history, was called google3 even in 2006 when I first joined.

google1 = code written by Larry, Sergey and employee number 1 (Craig). A hacky pile of Python scripts, dumped fairly quickly.

google2 = the first properly engineered C++ codebase. Protobufs etc were in google2. But the build system was some jungle of custom Makefiles, or something like that. I never saw it directly.

google3 = the same code as google2 but with a new custom build system that used Python scripts to generate Makefiles. I suppose it required a new repository so they could port everything over in parallel with code being worked on in google2. P4 was apparently not that great at branches and google3 didn't use them. Later the same syntax for the build files was kept but turned into a new languages called Starlark and the Makefile generator went away in favor of Blaze, which directly interpreted them.

At least, that's the story I vaguely recall.

It's the third attempt of building the mono repo.

But not the 3rd mono repo on the same technology to avoid some scaling limit.