UNDERSTANDING THE TRENDS OF DEVELOPER CONTRIBUTIONS IN NUGET, PYPI, AND NPM ECOSYSTEMS

  • Naufal Dzakia Raiffaza Informatics, Faculty of Engineering, Universitas Muhammadiyah Surakarta, Indonesia
  • Yusuf Sulistyo Nugroho Informatics, Faculty of Engineering, Universitas Muhammadiyah Surakarta, Indonesia
Keywords: contributions, developers, NPM, NuGet, PyPI

Abstract

Open-source software (OSS) projects have taken the software development industry rapidly by encouraging cooperation, creativity, and knowledge exchange. However, despite the widespread adoption and success of OSS, there is limited understanding of how contributions are distributed across different types of activities, such as code, documentation, and issue triage, and how these contributions vary over time within different OSS ecosystems. This gap in knowledge can impact effective project management and community engagement strategies.  To address this problem, we aim to look into the patterns of developer contributions within the three main OSS ecosystems hosted on GitHub, namely NuGet, PyPI, and NPM. We examine the distribution of type-based contribution and the trends of developer activities within these ecosystems. We classify contributions into code, documentation, and issue triage using a mixed-methods approach that combines content analysis and time-series analysis, and we analyze the timeline variations in contribution trends. Our results show differences in pull request activity and developer contribution patterns between ecosystems. The ‘npm-expansion’ repository leads in open pull requests, while the ‘warehouse’ repository in PyPI dominates closed pull requests. The NPM ecosystem shows the highest number of activities when it comes to open pull requests. Notable peaks can be seen in trends in code development and maintenance activities, indicating the changing priorities of various projects. The findings shed light on the changes of OSS contributions and highlight the value of varied roles and ongoing community involvement. The comprehension of contribution patterns in open-source software projects is improved by this study, which also provides guidance for project management, resource allocation, and community support strategies. The knowledge acquired can direct the creation of instruments and systems that support more cooperative and productive open-source software ecosystems.

Downloads

Download data is not yet available.

References

Z. Fang et al., “A Four-Year Study of Student Contributions to OSS vs. OSS4SG with a Lightweight Intervention,” in ESEC/FSE 2023 - Proceedings of the 31st ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Association for Computing Machinery, Inc, Nov. 2023, pp. 3–15. doi: 10.1145/3611643.3616250.

M. AlMarzouq, V. Grover, J. Thatcher, and R. Klein, “An empirical examination of newcomer contribution costs in established OSS communities: a knowledge-based perspective,” Internet Research, vol. 34, no. 3, pp. 665–689, Jan. 2024, doi: 10.1108/INTR-08-2022-0594.

B. Vasilescu, V. Filkov, and A. Serebrenik, “Perceptions of Diversity on Git Hub: A User Survey,” in 2015 IEEE/ACM 8th International Workshop on Cooperative and Human Aspects of Software Engineering, 2015, pp. 50–56. doi: 10.1109/CHASE.2015.14.

B. Trinkenreich, M. Guizani, I. Wiese, A. Sarma, and I. Steinmacher, “Hidden Figures: Roles and Pathways of Successful OSS Contributors,” Proc ACM Hum Comput Interact, vol. 4, no. CSCW2, Oct. 2020, doi: 10.1145/3415251.

D. Rozas, N. Gilbert, P. Hodkinson, and S. Hassan, “Talk Is Silver, Code Is Gold? Beyond Traditional Notions of Contribution in Peer Production: The Case of Drupal,” Frontiers in Human Dynamics, vol. 3, 2021, doi: 10.3389/fhumd.2021.618207.

C. Osborne, “Public-private funding models in open source software development: A case study on scikit-learn,” Apr. 2024, [Online]. Available: http://arxiv.org/abs/2404.06484

L. F. Dias et al., “Refactoring from 9 to 5? What and When Employees and Volunteers Contribute to OSS,” in 2020 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), 2020, pp. 1–5. doi: 10.1109/VL/HCC50065.2020.9127205.

G. Russo Latona, C. Gote, C. Zingg, G. Casiraghi, L. Verginer, and F. Schweitzer, “Shock! Quantifying the Impact of Core Developers’ Dropout on the Productivity of OSS Projects,” in Companion Proceedings of the ACM on Web Conference 2024, in WWW ’24. New York, NY, USA: Association for Computing Machinery, 2024, pp. 706–709. doi: 10.1145/3589335.3651559.

R. Abdalkareem, O. Nourry, S. Wehaibi, S. Mujahid, and E. Shihab, “Why do developers use trivial packages? An empirical case study on npm,” in Proceedings of the ACM SIGSOFT Symposium on the Foundations of Software Engineering, Association for Computing Machinery, Aug. 2017, pp. 385–395. doi: 10.1145/3106237.3106267.

Z. Chen, W. Ma, L. Chen, and W. Song, “Collaboration in software ecosystems: A study of work groups in open environment,” Inf Softw Technol, vol. 145, p. 106849, 2022, doi: https://doi.org/10.1016/j.infsof.2022.106849.

A. G. Young, A. Majchrzak, and G. C. Kane, “Reflection on writing a theory paper: How to theorize for the future,” Journal of the Association for Information Systems, vol. 22, no. 5. Association for Information Systems, pp. 1212–1223, 2021. doi: 10.17705/1jais.00712.

K. Kannee, S. Wattanakriengkrai, R. Rojpaisarnkit, R. G. Kula, and K. Matsumoto, “Intertwining Ecosystems: A Large Scale Empirical Study of Libraries that Cross Software Ecosystems,” Aug. 2022, [Online]. Available: http://arxiv.org/abs/2208.06655

P. Nidhi Sharma, S. L. Daniel, T. Chung, and V. Grover, “A Motivation-Hygiene Model of Open Source Software Code Contribution and Growth,” J Assoc Inf Syst, vol. 23, no. 1, pp. 165–195, 2022, doi: 10.17705/1jais.00712.

R. Kikas, G. Gousios, M. Dumas, and D. Pfahl, “Structure and Evolution of Package Dependency Networks,” in 2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR), 2017, pp. 102–112. doi: 10.1109/MSR.2017.55.

A. Decan, T. Mens, and P. Grosjean, “An Empirical Comparison of Dependency Network Evolution in Seven Software Packaging Ecosystems,” Empir Softw Eng, vol. 24, Jun. 2019, doi: 10.1007/s10664-017-9589-y.

P. K. Medappa, M. M. Tunc, and X. Li, “Sponsorship Funding in Open-Source Software: Effort Reallocation and Spillover Effects in Knowledge-Sharing Ecosystems,” SSRN Electronic Journal, 2023, doi: 10.2139/ssrn.4484403.

Y. Wang, L. Wang, H. Hu, J. Jiang, H. Kuang, and X. Tao, “The Influence of Sponsorship on Open-Source Software Developers’ Activities on GitHub,” in 2022 IEEE 46th Annual Computers, Software, and Applications Conference (COMPSAC), 2022, pp. 924–933. doi: 10.1109/COMPSAC54236.2022.00144.

Y. Fan, T. Xiao, H. Hata, C. Treude, and K. Matsumoto, “‘My GitHub Sponsors profile is live!’ Investigating the Impact of Twitter/X Mentions on GitHub Sponsors,” in Proceedings of the 2024 IEEE/ACM 46th International Conference on Software Engineering (ICSE), 2024. doi: 10.1145/3597503.3639127.

N. Shimada, T. Xiao, H. Hata, C. Treude, and K. Matsumoto, “GitHub Sponsors: Exploring a New Way to Contribute to Open Source,” in Proceedings - International Conference on Software Engineering, IEEE Computer Society, 2022, pp. 1058–1069. doi: 10.1145/3510003.3510116.

H. S. Qiu, A. Nolte, A. Brown, A. Serebrenik, and B. Vasilescu, “Going Farther Together: The Impact of Social Capital on Sustained Participation in Open Source,” in 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE), 2019, pp. 688–699. doi: 10.1109/ICSE.2019.00078.

H. S. Qiu, Y. L. Li, S. Padala, A. Sarma, and B. Vasilescu, “The Signals that Potential Contributors Look for When Choosing Open-source Projects,” Proceedings of the ACM on Human-Computer Interaction, vol. 3, no. CSCW. Association for Computing Machinery, Nov. 01, 2019. doi: 10.1145/3359224.

A. Agrawal, A. Rahman, R. Krishna, A. Sobran, and T. Menzies, “We don’t need another hero? the impact of ‘heroes’ on software development,” in Proceedings of the 40th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP ’18), 2018, pp. 245–253. doi: 10.1145/3183519.3183549.

A. Bosu, R. Shahriyar, P. Chakraborty, and A. Iqbal, “Understanding the Motivations, Challenges and Needs of Blockchain Software Developers: A Survey,” Empir Softw Eng, vol. 24, pp. 2636–2673, Aug. 2019, doi: 10.1007/s10664-019-09708-7.

C. Casalnuovo, B. Vasilescu, P. Devanbu, and V. Filkov, “Developer On boarding in GitHub: The role of prior social links and language experience,” in 2015 10th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC/FSE 2015 - Proceedings, Association for Computing Machinery, Inc, Aug. 2015, pp. 817–828. doi: 10.1145/2786805.2786854.

E. Constantinou and T. Mens, “Socio-technical evolution of the Ruby ecosystem in GitHub,” in 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER), 2017, pp. 34–44. doi: 10.1109/SANER.2017.7884607.

O. Kononenko, O. Baysal, and M. W. Godfrey, “Code review quality: How developers see it,” in Proceedings - International Conference on Software Engineering, IEEE Computer Society, May 2016, pp. 1028–1038. doi: 10.1145/2884781.2884840.

M. Ortu, G. Destefanis, M. Kassab, S. Counsell, M. Marchesi, and R. Tonelli, “Would you mind fixing this issue?: An empirical analysis of politeness and attractiveness in software developed using agile boards,” in Lecture Notes in Business Information Processing, Springer Verlag, 2015, pp. 129–140. doi: 10.1007/978-3-319-18612-2_11.

M. Joblin, S. Apel, C. Hunsen, and W. Mauerer, “Classifying developers into core and peripheral: an empirical study on count and network metrics,” in Proceedings of the 39th International Conference on Software Engineering, in ICSE ’17. IEEE Press, 2017, pp. 164–174. doi: 10.1109/ICSE.2017.23.

L. F. Dias, I. Steinmacher, and G. Pinto, “Who drives company-owned OSS projects: internal or external members?,” Journal of the Brazilian Computer Society, vol. 24, no. 1, p. 16, 2018, doi: 10.1186/s13173-018-0079-x.

J. Tsay, L. Dabbish, and J. Herbsleb, “Influence of social and technical factors for evaluating contribution in GitHub,” in Proceedings - International Conference on Software Engineering, IEEE Computer Society, May 2014, pp. 356–366. doi: 10.1145/2568225.2568315.

H. Qiu, Y. Li, S. Padala, A. Sarma, and B. Vasilescu, “The Signals that Potential Contributors Look for When Choosing Open-source Projects,” Proc ACM Hum Comput Interact, vol. 3, pp. 1–29, Nov. 2019, doi: 10.1145/3359224.

D. Spadini, M. Aniche, and A. Bacchelli, “PyDriller: Python framework for mining software repositories,” in ESEC/FSE 2018 - Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Association for Computing Machinery, Inc, Oct. 2018, pp. 908–911. doi: 10.1145/3236024.3264598.

Y. Hu, J. Zhang, X. Bai, S. Yu, and Z. Yang, “Influence analysis of Github repositories,” Springerplus, vol. 5, no. 1, Dec. 2016, doi: 10.1186/s40064-016-2897-7.

S. Surana, S. Detroja, and S. Tiwari, “A Tool to Extract Structured Data from GitHub,” ArXiv, vol. abs/2012.03453, Dec. 2020, Accessed: Jun. 10, 2024. [Online]. Available: https://arxiv.org/abs/2012.03453

O. Elazhary, M.-A. Storey, N. Ernst, and A. Zaidman, “Do as I Do, Not as I Say: Do Contribution Guidelines Match the GitHub Contribution Process?,” Aug. 2019, [Online]. Available: http://arxiv.org/abs/1908.02320

K. Aggarwal, A. Hindle, and E. Stroulia, “Co-evolution of project documentation and popularity within Github,” in 11th Working Conference on Mining Software Repositories, MSR 2014 - Proceedings, Association for Computing Machinery, May 2014, pp. 360–363. doi: 10.1145/2597073.2597120.

S. Cao, Y. Zeng, S. Yang, and S. Cao, “Research on Python Data Visualization Technology,” in Journal of Physics: Conference Series, IOP Publishing Ltd, Feb. 2021. doi: 10.1088/1742-6596/1757/1/012122.

A. Lavanya et al., “Assessing the Performance of Python Data Visualization Libraries: A Review,” International Journal of Computer Engineering in Research Trends, vol. 10, no. 1, pp. 28–39, Jan. 2023, doi: 10.22362/ijcert/2023/v10/i01/v10i0104.

S. Han and I.-Y. Kwak, “Mastering data visualization with Python: practical tips for researchers,” Journal of Minimally Invasive Surgery, vol. 26, no. 4, pp. 167–175, Dec. 2023, doi: 10.7602/jmis.2023.26.4.167.

Y. Zhang, M. Zhou, A. Mockus, and Z. Jin, “Companies’ Participation in OSS Development-An Empirical Study of OpenStack,” IEEE Transactions on Software Engineering, vol. 47, no. 10, pp. 2242–2259, Oct. 2021, doi: 10.1109/TSE.2019.2946156.

V. N. Subramanian, “An empirical study of the first contributions of developers to open source projects on GitHub,” in Proceedings - 2020 ACM/IEEE 42nd International Conference on Software Engineering: Companion, ICSE-Companion 2020, Institute of Electrical and Electronics Engineers Inc., Oct. 2020, pp. 116–118. doi: 10.1145/3377812.3382165.

Published
2024-07-29
How to Cite
[1]
N. D. Raiffaza and Y. S. Nugroho, “UNDERSTANDING THE TRENDS OF DEVELOPER CONTRIBUTIONS IN NUGET, PYPI, AND NPM ECOSYSTEMS”, J. Tek. Inform. (JUTIF), vol. 5, no. 4, pp. 163-175, Jul. 2024.