Skip to search boxSkip to navigationSkip to main content

Forked and Integrated Variants In An Open-Source Firmware Project

Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-review

Publication Information

Output type

Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-review

Host publication Subtitle

ICSME

Original language

English

Pages 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 States
978-1-4673-7532-0

Publication IDs

  • Scopus: 84961636963

Host publication title

2015 IEEE International Conference on Software Maintenance and Evolution

Abstract

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.

Publication metrics

PlumX, opens in new tab

Citations
88
Captures
49

Related Event

Title

31st International Conference on Software Maintenance and Evolution

Event type

Conference

Date

29/09/2015 - 01/10/2015

Location

Bremen UniversityBremenGermany