4 ms·
I stopped reading when I reached that they made their own CVS. This is a solved problem, and even if it isn’t, there’s entire communities dedicated to it. Ther
by jonathankoren 3y ago
I stopped reading when I reached that they made their own CVS.
This is a solved problem, and even if it isn’t, there’s entire communities dedicated to it. There’s literally no reason why Facebook needs to be in the business of reinventing the wheel from scratch beyond some dude trying to show “impact”. It’s a distraction from core business problems.
- rigelbm 3y ago> This is a solved problem. Hosting a gigantic monorepo for 25K concurrent users is so far from a solved problem.
- jonathankoren 3y ago[flagged]
- sangnoir 3y agoFor a moment, let's assume they do abandon the monorepo. What solution would you recommend for managing code dependencies and coordinating releases between thousands of teams (at a modest 5 repos per team) - git tags?
- jonathankoren 3y agoThis coordinating releases across teams is not a unique a problem. In fact, every large software organization solves this problem. They don’t usually do it in a assbackwards way due to institutional blindness.
- sangnoir 3y agoYou're deflecting. What solution would you recommend, since you disapprove of monorepo as a solution to this problem we both agree exists. If you're not simultaneously updating the code and all it's references (i.e. a monorepo), you will need a version dependency graph system (with integrated with your build system). I'm yet to encounter one such tool that isn't awful to use[1]: monorepos are an improvement when you grow beyond a couple dozen repos. Git submodules aren't a good solution either. If you familiar with a decent tool/workflow that is not "institutionally blind", I'd love to learn more about it. 1. Gradle, Android's "repo", home-grown git-submodule-based build systems.
- rsdbdr203 3y agoI disliked a lot of things about working at Meta, the monorepo was not one... it was truly amazing, and very well done.
- __float 3y agoWhat version control system do you consider to have solved it?
- deleted 3y ago[deleted]
- morgannewman 3y agoYou might be surprised to learn that it was not and still is not a solved problem for companies like Meta. Here is an earlier write-up about this topic from Meta: https://engineering.fb.com/2014/01/07/core-data/scaling-mercurial-at-facebook/ https://engineering.fb.com/2014/01/07/core-data/scaling-merc...
- TechBro8615 3y agoAlso keep in mind they've been in hypergrowth mode since 2010 or earlier. Regardless of whether Git is the clear solution today, it definitely wasn't at that time. So it makes sense they invested in building their own tooling.
- jonathankoren 3y agoAnd now it's 2023, and they're inventing the wheel again.
- morgannewman 3y ago[dead]
- spookthesunset 3y agoNot a very robust analogy. There are tons of different wheel designs out there. Some are good for racing and suck for rain. Some are great in the snow but are noisy and inefficient on the highway. Etc... Maybe their needs are so special they need a wheel design that doesn't commercially exist?
- TechBro8615 3y agoSomeone really needs to reinvent that analogy.
- jonathankoren 3y agoYou might be surprised to learn that they're solving the wrong problem.
- charcircuit 3y ago>they made their own CVS. It is a fork of Mercurial and there wasn't a community dedicated to making it scale to the scale Meta was reaching hence why they invented resources in making Mercurial scale.
- o1y32 3y agoThat's a very uninformed opinion. Nobody could say that unless they are capable of actually coming up with a solution that can handle version control at Meta's scale.