←back to thread

392 points mfiguiere | 2 comments | | HN request time: 0.508s | source
Show context
lopkeny12ko ◴[] No.35475149[source]
I'm missing some historical context here. This article goes out of its way to compare and contrast with Bazel. Even the usage conventions, build syntax (Starlark), and RBE API are the same as in Bazel.

Did FB fork Bazel in the early days but retain basically everything about it except the name? Why didn't they just...adopt Bazel, and contribute to it like any other open source project?

replies(5): >>35475208 #>>35475282 #>>35475538 #>>35476674 #>>35477652 #
1. esprehn ◴[] No.35477652[source]
Blaze is very old (from 2006), the history is described here: https://mike-bland.com/2012/10/01/tools.html#blaze-forge-src...

In the years that followed folks left Google and joined other companies and created similar build systems because blaze had a lot of advantages at scale. Facebook made Buck, Twitter made Pants. Blaze was still closed source inside Google. They all used the same python looking language.

In 2012 Twitter open sourced Pants: https://blog.twitter.com/engineering/en_us/a/2016/the-releas...

In 2013 Facebook open sourced Buck: https://en.m.wikipedia.org/wiki/Buck_(software)

In 2015 Google finally open sourced most of blaze, but renamed it bazel for copyright reasons. Some might argue they waited too long because clearly there was a lot of demand for such a system. :)

After that Twitter (mostly?) migrated to bazel and Facebook sort of stalled out on Buck. But then recently they decided to rewrite it from scratch to fix a lot of the architecture problems resulting in Buck2.

Buck2 looks pretty impressive and hopefully it gets the bazel folks moving faster. For example the analysis phase in bazel is very slow even inside Google, and Buck2 shows an alternative design that's much faster.

replies(1): >>35477834 #
2. flurie ◴[] No.35477834[source]
The direction the Bazel team seems to be going in is shortening the wall clock time by allowing for concurrent analysis and execution: https://github.com/bazelbuild/bazel/issues/14057.