Despite the rapid rise of open source systems (OSS), it is unclear what architectural patterns enable the success of these systems. There is little guidance on architectural patterns for OSS development. Consequently the creators of OSS projects have often come to their own solutions intuitively, via trial-and-error and design iterations. To fill this void we study the architectural challenges encountered by OSS projects and identify architectural patterns that address these challenges. We propose an integrated architectural style that addresses two challenges for OSS success: 1) what architectural principles and patterns enable the active participation of a large, distributed community, and 2) how to manage OSS licensing issues that prohibit open source (and proprietary) software to mix freely. It is critical to address these issues together as architectural decisions impact on licensing issues, which have an impact on the long-term survival of the system. We contribute to OSS development by identifying, integrating and advancing existing work on OSS patterns and offer an integrated architectural style that addresses these challenges simultaneously thus guiding future OSS development. We validate our approach via empirical studies of successful OSS systems that have evolved to use this style, and report on a case study using the proposed architectural style for a new OSS project.
['Alexander Lokhman', 'Tommi Mikkonen', 'Imed Hammouda', 'Rick Kazman', 'Hong-Mei Chen']
A Core-Periphery-Legality Architectural Style for Open Source System Development