Object-oriented frameworks are an established tool for domain-specific reuse. Many framework design patterns and development processes have been documented, typically reverse engineering the common framework architecture from a number of conventionally built applications within a given domain. Frameworks vary in their construction from white box inheritance based systems to black box composition based systems with a full range of hybrids in between. The development cycle of a framework is generally assumed to follow a path from open framework to closed application. We describe a more flexible component-based approach to framework design that stresses a common interface for `plugging-in' new components at different stages of the lifecycle. An analysis of roles in framework development indicates that the traditional boundaries between developers and end users is unnecessarily rigid. We can more helpfully regard the various stages of a framework's development as an open continuu...