Our entire inner source portfolio is contained in the Flutter-Global GitHub organisation. GitHub recommends a flat single-org repository structure like this for inner source to simplify access control and consistent team management. At our scale with thousands of inner source repositories extra structure and conventions are required so we:
This section documents each of these areas in more detail.
A capability is the core building block of our repository structure.
A product is simply a special name for a capability with no parent. A product is a collection of capabilities that together form a coherent and named set of features for external or internal use.
Example: The Fixed Odds Cashout Quote Service (FCQ) is a service that quotes a price for customers who want to cashout their bet. This repository is part of the Cashout capability. And the Cashout capability is owned by the Global Betting Platform product. You can lookup the
product-global-betting-platform in the service catalogue.
There are a number of conventions and automation across
Flutter-Global to make our work easier: