Cited by 36Open Source Software InnovationsSoftware Engineering ResearchSoftware Engineering Techniques and Practices

How has forking changed in the last 20 years?: a study of hard forks on GitHub

Open access
Zhou, Shurui, Vasilescu, Bogdan, Kästner, Christian·2020·Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering

Abstract

The notion of forking has changed with the rise of distributed version control systems and social coding environments, like GitHub. Traditionally forking refers to splitting off an independent development branch (which we call hard forks); research on hard forks, conducted mostly in pre-GitHub days showed that hard forks were often seen critical as they may fragment a community Today, in social coding environments, open-source developers are encouraged to fork a project in order to contribute to the community (which we call social forks), which may have also influenced perceptions and practices around hard forks. To revisit hard forks, we identify, study, and classify 15,306 hard forks on GitHub and interview 18 owners of hard forks or forked repositories. We find that, among others, hard forks often evolve out of social forks rather than being planned deliberately and that perception about hard forks have indeed changed dramatically, seeing them often as a positive noncompetitive alternative to the original project.

The claims and statistics of this paper haven’t been checked yet.

Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.

A few free checks a day · papers already verified open instantly · results are public

Integrity signals

Registry

Crossref · 10.1145/3377811.3380412

Cites

2 of 2 references verified0 citation errors · 0 not checkable

Statistics

Claims the paper makes

The claims and statistics of this paper haven’t been checked yet.

Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.

A few free checks a day · papers already verified open instantly · results are public

Claims other papers make about this one

Each is checked against this paper’s own text: does it say what the citing paper says it does?

  • Hard forks are different from social forks popularized by GitHub, which are often used for collaboration while contributing to the original project using a pull request model.

    “Hard forks are different from social forks popularized by GitHub, which are often used for collaboration while contributing to the original project using a pull request model (Negoita et al. 2019;Zhou et al. 2020;Overhage and Widjaja 2022).”

Self-check

Percentages, sums and reported differences re-computed from the paper’s own numbers.

The self-check needs the paper’s full text.

Cites

Flagged first, then by citations

Research works printed but not linked: 38

  1. Michał Antkiewicz, Wenbin Ji, Thorsten Berger, Krzysztof Czarnecki, Thomas Schmorleiz, Ralf Lämmel, S , tefan Stănciulescu, Andrzej Wąsowski, and Ina Schae- fer. 2014. Flexible Product Line Engineering with a Virtual Platform. In Comp. Int'l Conf. Software Engineering (ICSE). ACM, 532-535.
  2. Christopher Bogart, Christian Kästner, James Herbsleb, and Ferdian Thung. 2016. How to Break an API: Cost Negotiation and Community Values in Three Software Ecosystems. In Proc. Int'l Symposium Foundations of Software Engineering (FSE). ACM, 109-120.
  3. Caius Brindescu, Mihai Codoban, Sergii Shmarkatiuk, and Danny Dig. 2014. How Do Centralized and Distributed Version Control Systems Impact Software Changes?. In Proc. Int'l Conf. Software Engineering (ICSE). ACM, 322-333.
  4. Bee Bee Chua. 2017. A Survey Paper on Open Source Forking Motivation Reasons and Challenges. In 21st Pacific Asia Conference on Information Systems (PACIS). 75.
  5. Laura Dabbish, Colleen Stuart, Jason Tsay, and Jim Herbsleb. 2012. Social coding in GitHub: transparency and collaboration in an open software repository. In Proc. Conf. Computer Supported Cooperative Work (CSCW). ACM, 1277-1286.
  6. Laura Dabbish, Colleen Stuart, Jason Tsay, and James Herbsleb. 2013. Leveraging transparency. IEEE Software 30, 1 (2013), 37-43.
  7. Neil A Ernst, Steve Easterbrook, and John Mylopoulos. 2010. Code forking in open-source software: a requirements perspective. arXiv preprint arXiv:1004.2889 (2010). · arXiv
  8. Stefan Fischer, Lukas Linsbauer, Roberto Erick Lopez-Herrejon, and Alexander Egyed. 2014. Enhancing clone-and-own with systematic reuse for developing software variants. In Proc. Int'l Conf. Software Maintenance (ICSM). IEEE, 391-400.
  9. Karl Fogel. 2005. Producing open source software: How to run a successful free software project. O'Reilly Media, Inc.
  10. Kam Hay Fung, Aybüke Aurum, and David Tang. 2012. Social Forking in Open Source Software: An Empirical Study. In Proc. Int'l Conf. Advanced Information Systems Engineering (CAiSE) Forum. Citeseer, 50-57.
  11. Georgios Gousios. 2013. The GHTorent dataset and tool suite. In Proc. Working Conf. Mining Software Repositories (MSR). IEEE Press, 233-236.
  12. Georgios Gousios, Martin Pinzger, and Arie van Deursen. 2014. An exploratory study of the pull-based software development model. In Proc. Int'l Conf. Software Engineering (ICSE). ACM, 345-355.
  13. Georgios Gousios, Bogdan Vasilescu, Alexander Serebrenik, and Andy Zaidman. 2014. Lean GHTorrent: GitHub data on demand. In Proc. Working Conf. Mining Software Repositories (MSR). ACM, 384-387.
  14. Georgios Gousios, Andy Zaidman, Margaret-Anne Storey, and Arie Van Deursen. 2015. Work Practices and Challenges in Pull-Based Development: The Integrator's Perspective. In Proc. Int'l Conf. Software Engineering (ICSE), Vol. 1. 358-368.
  15. Wenbin Ji, Thorsten Berger, Michal Antkiewicz, and Krzysztof Czarnecki. 2015. Maintaining Feature Traceability with Embedded Annotations. In Proc. Int'l Software Product Line Conf. (SPLC). ACM, 61-70.
  16. Jing Jiang, David Lo, Jiahuan He, Xin Xia, Pavneet Singh Kochhar, and Li Zhang. 2017. Why and how developers fork what from whom in GitHub. Empirical Software Engineering 22, 1 (2017), 547-578.
  17. Natalia Juristo and Omar S Gómez. 2010. Replication of software engineering experiments. In Empirical software engineering and verification. Springer, 60-88.
  18. Eirini Kalliamvakou, Georgios Gousios, Kelly Blincoe, Leif Singer, Daniel M German, and Daniela Damian. 2016. An in-depth study of the promises and perils of mining GitHub. Empirical Software Engineering 21, 5 (2016), 2035-2071.
  19. Andrew M St Laurent. 2004. Understanding Open Source and Free Software Licens- ing: Guide to Navigating Licensing Issues in Existing & New Software. O'Reilly Media, Inc.
  20. Yi Li, Chenguang Zhu, Julia Rubin, and Marsha Chechik. 2017. Semantic slicing of software version histories. IEEE Trans. Softw. Eng. (TSE) 44, 2 (2017), 182-201.
  21. Max Lillack, Ştefan Stănciulescu, Wilhelm Hedman, Thorsten Berger, and Andrzej Wąsowski. 2019. Intention-based Integration of Software Variants. In Proceedings of the 41st International Conference on Software Engineering (ICSE '19). IEEE Press, Piscataway, NJ, USA, 831-842.
  22. Leticia Montalvillo and Oscar Díaz. 2015. Tuning GitHub for SPL development: branching models & repository operations for product engineers. In Proceedings of the 19th International Conference on Software Product Line. ACM, 111-120.
  23. Linus Nyman. 2014. Hackers on forking. In Proc. Int'l Symposium on Open Collaboration (OpenSym). ACM, 6.
  24. Linus Nyman and Tommi Mikkonen. 2011. To Fork or not to Fork: Fork Moti- vations in SourceForge Projects. In Proc. IFIP Int'l Conf. on Open Source Systems. Springer, 259-268.
  25. Rohan Padhye, Senthil Mani, and Vibha Singhal Sinha. 2014. NeedFeed: Taming Change Notifications by Modeling Code Relevance. In Proc. Int'l Conf. Automated Software Engineering (ASE). ACM, 665-676.
  26. Ayushi Rastogi and Nachiappan Nagappan. 2016. Forking and the Sustainabil- ity of the Developer Community Participation-An Empirical Investigation on Outcomes and Reasons. In Proc. Int'l Conf. Software Analysis, Evolution, and Reengineering (SANER), Vol. 1. IEEE, 102-111.
  27. Baishakhi Ray, Miryung Kim, Suzette Person, and Neha Rungta. 2013. Detecting and characterizing semantic inconsistencies in ported code. In Proc. Int'l Conf. Automated Software Engineering (ASE). IEEE, 367-377.
  28. Eric S Raymond. 2001. The Cathedral & the Bazaar: Musings on linux and open source by an accidental revolutionary. O'Reilly Media, Inc.
  29. Luyao Ren. 2019. Automated Patch Porting Across Forked Projects. In Proc. Int'l Symposium Foundations of Software Engineering (FSE). ACM, New York, NY, USA, 1199-1201.
  30. Luyao Ren, Shurui Zhou, Christian Kästner, and Andrzej Wąsowski. 2019. Iden- tifying Redundancies in Fork-based Development. In Proc. Int'l Conf. Software Analysis, Evolution, and Reengineering (SANER). IEEE, 230-241.
  31. Gregorio Robles and Jesús M. González-Barahona. 2012. A Comprehensive Study of Software Forks: Dates, Reasons and Outcomes. In Proc. IFIP Int'l Conf. on Open Source Systems. 1-14.
  32. Julia Rubin and Marsha Chechik. 2013. A framework for managing cloned product variants. In Proceedings of the 2013 International Conference on Software Engineering. IEEE Press, 1233-1236.
  33. Stefan Stănciulescu, Thorsten Berger, Eric Walkingshaw, and Andrzej Wąsowski. 2016. Concepts, operations, and feasibility of a projection-based variation control system. In Proc. Int'l Conf. Software Maintenance and Evolution (ICSME). IEEE, 323-333.
  34. Igor Steinmacher, Gustavo Pinto, Igor Scaliante Wiese, and Marco Aurélio Gerosa. 2018. Almost there: A study on quasi-contributors in open-source software projects. In Proc. Int'l Conf. Software Engineering (ICSE). IEEE, 256-266.
  35. Robert Viseur. 2012. Forks impacts and motivations in free and open source projects. International Journal of Advanced Computer Science and Applications 3, 2 (2012), 117-122.
  36. Steve Weber. 2004. The success of open source. Harvard University Press.
  37. Shurui Zhou, Ştefan Stãnciulescu, Olaf Leßenich, Yingfei Xiong, Andrzej Wą- sowski, and Christian Kästner. 2018. Identifying Features in Forks. In Proc. Int'l Conf. Software Engineering (ICSE). ACM Press, 105-116.
  38. Shurui Zhou, Bogdan Vasilescu, and Christian Kästner. 2019. What the Fork: A Study of Inefficient and Efficient Forking Practices in Social Coding. In Proc. Europ. Software Engineering Conf./Foundations of Software Engineering (ESEC/FSE). ACM Press, New York, NY, 350-361.

Cited by

Sorted by citations

Authors
Zhou, S., Vasilescu, B., & Kästner, C.
Affiliations
Carnegie Mellon University (US)
Venue
Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering
Publisher
ACM
Published
2020-06-27
Pages
445-456
ISSN
0270-5257 (ISSN-L)
OpenAlex
W3090035558
Cited by
36
References
2
Citations by year
2026: 4 · 2025: 6 · 2024: 2 · 2023: 6 · 2022: 6 · 2021: 10 · 2020: 2
FWCI
6.97
Type
conference paper
Language
en
Open access
Locations
  • ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) (publishedVersion)
  • Zenodo (CERN European Organization for Nuclear Research) (submittedVersion, cc-by)
Funders
National Science Foundation (1552944, 1717022, 1813598)
Topics
  • Physical Sciences › Computer Science › Computer Science Applications › Open Source Software Innovations
  • Physical Sciences › Computer Science › Information Systems › Software Engineering Research
  • Physical Sciences › Computer Science › Information Systems › Software Engineering Techniques and Practices
Keywords
forking, hard forks, distributed version control systems, GitHub, open source software, developer communities, community fragmentation, developer perceptions

About these checks

Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.

Statistics and arithmetic are recomputed, not judged.

Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.

What counts as a claim ›How we measure confidence ›How we check this ›

Are you an author, or do you see a problem with this page? Request a review