Large monorepos have tradeoffs that may or may not make sense for a particular use case. Google's monorepo--in its form as a monorepo, not just the software it contains--is one of its biggest assets and creates enormous leverage.
And an enormous set of problems that must be managed. But multirepos have their own set of issues, and which set of problems you want is highly situation dependent.
I have always had this itch to work on some real life serious system programming projects, with the most recent wave OS kernels. I completed the MIT xv6 labs (a very small repo) and did a few Linux device driver labs (very large repo and it was the first time I experienced compilation time > 5 minutes).
I got burnt out after a while, so that kinda wrapped up my experience working on large repos.
Large monorepos have tradeoffs that may or may not make sense for a particular use case. Google's monorepo--in its form as a monorepo, not just the software it contains--is one of its biggest assets and creates enormous leverage.
And an enormous set of problems that must be managed. But multirepos have their own set of issues, and which set of problems you want is highly situation dependent.
I have always had this itch to work on some real life serious system programming projects, with the most recent wave OS kernels. I completed the MIT xv6 labs (a very small repo) and did a few Linux device driver labs (very large repo and it was the first time I experienced compilation time > 5 minutes).
I got burnt out after a while, so that kinda wrapped up my experience working on large repos.
thats just a large project tho? not necessarily a mono repo.
A mono repo doesn't necessarily mean large compile times, because it depends on the projects and their dependencies within that repo.