Company
Date Published
Author
Vlad A. Ionescu
Word count
4297
Language
English
Hacker News points
None

Summary

The article explores the advantages and disadvantages of different repository structures, specifically monorepos, polyrepos, and hybrid setups, in software development. It highlights how monorepos consolidate multiple projects into a single repository, facilitating cross-project contributions and simplifying dependency management but often complicating builds and releases due to scalability issues. Polyrepos, on the other hand, offer granular control over individual project releases and permissions, making them more compatible with existing open-source tools and practices, especially when separating open-source and closed-source code. Hybrid structures serve as a compromise, allowing for cohesive development of interdependent projects while accommodating open-source requirements. The discussion includes practical considerations such as code imports, contributions, release cycles, CI builds, code ownership, and issue tracking, suggesting that the choice between these structures should be influenced by factors like team size, engineering culture, and project requirements. The author expresses a personal preference for monorepos to promote cross-team collaboration, though acknowledges that hybrid setups often become necessary due to practical constraints.