1 Introduction
Companies today are producing more source code than ever before. Given the increasingly large codebases involved, it is worth examining the software engineering experience provided by the various approaches for source code management. Large companies with multiple products typically have many internal libraries and frameworks, and a vast number of dependencies between projects from entirely separate parts of the organization. Successfully organizing these dependencies and frameworks is crucial for development velocity.