ROIpad ← Back to Search
softwareengineering › answer

Answer to: How to organize multiple customized projects around a shared and evolving codebase?

Score: 1
Answered: Dec 3, 2025
User Rep: 18,620
This very much depends on what exactly those about 20 repositories contain, their dependencies, reasons for evolution and development, and what you mean by "used by one group of developers" (that was written before the edit, so some of that is cleared up now). With a complex codebase you will need to employ stabilization mechanisms. Determine owners (or owning teams) for each repository who ultimately decide what goes into each. They may use inputs in the form of new requirements for the next major version, or pull requests for suggested fixes or minor additions, but they need to set the direction of development. Use stable dependencies (for example, based on semantic versioning) to clearly communicate which version of a repository is needed by others, and have clear rules for backward compatibility, depreciation, etc. Customization is a difficult issue. Better think of projects based on suggested templates. If different applications/projects can have different database schemas, domain objects etc. it might be best to develop a stable framework or language in which these can be described so that a schema can be migrated to a new version of the underlying libraries easily. As a model, consider libraries that are available in common large ecosystems such as Python, Javascript, Rust, etc. All of these allow applications or libraries to depend on specific versions of other libraries to prevent surprises. Semantic versioning provides mechanisms to communicate which versions of libraries are expected to be backward compatible to others. When considering microservices, having different forks within the various projects will likely lead to incompatible evolution. I would either use microservices as-is with a defined functionality (closed), or libraries which can be wrapped if you need additional project-specific functionality.
design-patterns architecture git github
View Question ↗
Question
Parent Entity
Score: 5 • Views: 190
Site: softwareengineering