In 2019, we published an exploration of the size and makeup of the executable files produced by the Go compiler. CockroachDB engineers, the Go team, and the greater Go community were intrigued by the analysis, and the results of it pushed our projects further.
Two years passed, and both Go and CockroachDB had evolved significantly in that time. We wanted to explore: What might have changed? What could we learn?
On April 14, 2021, we published our revisited exploration of the Go executable files. However, what we thought was bold, exciting language and analysis came across to readers and particularly to developers on the Go team as incendiary and accusatory. To make matters worse, we made mistakes in the analysis and came to incorrect conclusions, then defended those conclusions for too long, even while updates were already happening behind the scenes in response to community feedback. We expected the Go developers to provide all the answers, with little examination into where CockroachDB’s growth contributed to our findings (thank you to Jeff Wendling @ Storj for taking the time to do an analysis with the CockroachDB version pinned). The phrase “extraordinary claims require extraordinary evidence” comes to mind, and we did not deliver extraordinary evidence.
Over the course of Friday and Saturday, we listened to the feedback from the community – and from Russ Cox specifically. Although we revised the article, we failed to make clear that we were revising it, we failed to publish our revisions in a timely manner, and we failed to explain what we had revised. The failure to adequately acknowledge our mistakes was disrespectful to the Go development team, as well as to the broader Go community.
The original draft of the analysis we presented was reviewed internally, and yet still inaccuracies slipped through. We are a team of humans. We make mistakes. We take full responsibility for the invalid conclusions we published, and we are sorry.
Open source software development relies on a community contributing ideas and asking hard questions that push the technology forward. We think this is a beautiful thing. Our community can exist only with mutual trust and respect. In this case, our community probed our own analysis, and uncovered mistakes and errors.
We have removed the article from our site and leave, instead, this apology. We did not hold up our end of the agreement. We are grateful for the feedback, and will continue to listen and do better.
-- The Cockroach Labs Team
I recently gave a talk at KubeCon North America -- “Experience Report: Running a Distributed System …Read more