SCM products are large and monolithic, difficult to adapt and evolve, with high entry cost. This paper describes a new approach to SCM in which the system is built from, potentially heterogeneous, existing pieces, with assembly mechanisms that enforce high-level properties. The approach does not provide a simple SCM tool, but a family of tools that is easily customized, fits both lowend users (only the required functionalities are present at a very low cost), as well as high-end users (for which very advanced features and/or specific features can be easily added). The paper describes the concepts and mechanisms of federations, and shows how our federation technology was used to develop a family of SCM systems.