Forked and Integrated Variants In An Open-Source Firmware Project
- Stefan Stanciulescu,
- Sandro Schulze,
- ,
- Technical University of Braunschweig
Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-reviewPublication Information
Output type
Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-reviewHost publication Subtitle
ICSMEOriginal language
EnglishPages from-to (Number of pages)
Pages 151 - 160 (10 pages)Publication milestones
- Published - 25/11/2015
Publication status
Published - 25/11/2015
Publisher
IEEE, United StatesISBN (Print)
978-1-4673-7532-0Publication IDs
- Scopus: 84961636963
Host publication title
2015 IEEE International Conference on Software Maintenance and EvolutionAbstract
Code cloning has been reported both on small (code fragments) and large (entire projects) scale. Cloning-in-the-large, or forking, is gaining ground as a reuse mechanism thanks to
availability of better tools for maintaining forked project variants, hereunder distributed version control systems and interactive source management platforms such as Github.
We study advantages and disadvantages of forking using the case of Marlin, an open source firmware for 3D printers. We find that many problems and advantages of cloning do translate to forking. Interestingly, the Marlin community uses both forking and integrated variability management (conditional ompilation)
to create variants and features. Thus studying it increases our understanding of the choice between integrated and clone-based
variant management. It also allows us to observe mechanisms governing source code maturation, in particular when, why and
how feature implementations are migrated from forks to the main integrated platform. We believe that this understanding will ultimately
help development of tools mixing clone-based and integrated variant management, combining the advantages of both.
availability of better tools for maintaining forked project variants, hereunder distributed version control systems and interactive source management platforms such as Github.
We study advantages and disadvantages of forking using the case of Marlin, an open source firmware for 3D printers. We find that many problems and advantages of cloning do translate to forking. Interestingly, the Marlin community uses both forking and integrated variability management (conditional ompilation)
to create variants and features. Thus studying it increases our understanding of the choice between integrated and clone-based
variant management. It also allows us to observe mechanisms governing source code maturation, in particular when, why and
how feature implementations are migrated from forks to the main integrated platform. We believe that this understanding will ultimately
help development of tools mixing clone-based and integrated variant management, combining the advantages of both.
Publication metrics
PlumX, opens in new tab
Citations
88
Captures
49
Access to documents
Related Event
Title
31st International Conference on Software Maintenance and Evolution
Event type
ConferenceDate
29/09/2015 - 01/10/2015Location
Bremen UniversityBremenGermany
