skip to main content
research-article

Perceptions of open‐source software developers on collaborations: : An interview and survey study

Published: 25 April 2023 Publication History

Abstract

With the emergence of social coding platforms, collaboration has become a key and dynamic aspect to the success of software projects. In such platforms, developers have to collaborate and deal with issues of collaboration in open‐source software development. Although collaboration is challenging, collaborative development produces better software systems than any developer could produce alone. Several approaches have investigated collaboration challenges, for instance, by proposing or evaluating models and tools to support collaborative work. Despite the undeniable importance of the existing efforts in this direction, there are few works on collaboration from perspectives of developers. In this work, we aim to investigate the perceptions of open‐source software developers on collaborations, such as motivations, techniques, and tools to support global, productive, and collaborative development. Following an ad hoc literature review, an exploratory interview study with 12 open‐source software developers from github, our novel approach for this problem also relies on an extensive survey with 121 developers to confirm or refute the interview results. We found different collaborative contributions, such as managing change requests. Besides, we observed that most collaborators prefer to collaborate with the core team instead of their peers. We also found that most collaboration happens in software development (60%) and maintenance (47%) tasks. Furthermore, despite personal preferences to work independently, developers still consider collaborating with others in specific task categories, for instance, software development. Finally, developers also expressed the importance of the social coding platforms, such as github, to support maintainers, and contributors in making decisions and developing tasks of the projects. Therefore, these findings may help project leaders optimize the collaborations among developers and reduce entry barriers. Moreover, these findings may support the project collaborators in understanding the collaboration process and engaging others in the project.

Graphical Abstract

The paper investigates the perceptions of open‐source software developers on collaborations. Following an ad hoc literature review and an exploratory interview study with 12 developers, our novel approach also relies on an extensive survey with 121 developers. We observed that most collaborators prefer to collaborate with the core team instead of their peers. We also found that most collaboration happens in software development (60%). Finally, developers expressed the importance of the social coding platforms, such as GitHub, to support collaborators.

References

[1]
Herbsleb JD, Moitra D. Global software development. IEEE Softw. 2001:16‐20.
[2]
Ulziit B, Warraich ZA, Gencel C, Petersen K. A conceptual framework of challenges and solutions for managing global software maintenance. J Softw Evol Process. 2015;27:763‐792.
[3]
Venters CC, Capilla R, Betz S, et al. Software sustainability: research and practice from a software architecture viewpoint. J Syst Softw. 2018;138:174‐188.
[4]
Condori‐Fernandez N, Lago P. Characterizing the contribution of quality requirements to software sustainability. J Syst Softw. 2018;137:289‐305.
[5]
Qureshi I, Fang Y. Socialization in open source software projects: a growth mixture modeling approach. Organizational Res Methods. 2011;14:208‐238.
[6]
Schilling A, Laumer S, Weitzel T. Who will remain? an evaluation of actual person‐job and person‐team fit to predict developer retention in floss projects. In: Hawaii International Conference on System Sciences (HICSS). Los Alamitos, USA: IEEE; 2012:3446‐3455.
[7]
Rastogi A, Nagappan N. Forking and the sustainability of the developer community participation: an empirical investigation on outcomes and reasons. In: International Conference on Software Analysis, Evolution, and Reengineering (SANER). Osaka, Japan: IEEE; 2016:102‐111.
[8]
Steinmacher I, Chaves AP, Gerosa MA. Awareness support in global software development: a systematic review based on the 3C collaboration model. In: International Conference on Collaboration and Technology. Berlin, Heidelberg: Springer; 2010:185‐201.
[9]
Gousios G, Zaidman A, Storey M‐A, Van Deursen A. Work practices and challenges in pull‐based development: the integrator's perspective. In: International Conference on Software Engineering (ICSE). Florence, Italy: IEEE; 2015:358‐368.
[10]
Gousios G, Storey M, Bacchelli A. Work practices and challenges in pull‐based development: the contributor's perspective. In: International Conference on Software Engineering (ICSE). Austin, TX, USA: IEEE; 2016:285‐296.
[11]
Capiluppi A, Lago P, Morisio M. Characteristics of open source projects. In: European Conference on Software Maintenance and Reengineering (CSMR). Benevento, Italy: IEEE; 2003:317‐327.
[12]
Morrison P, Pandita R, Murphy‐Hill E, McLaughlin A. Veteran developers' contributions and motivations: an open source perspective. In: IEEE Symposium on Visual Languages and Human‐Centric Computing (VL/HCC). Cambridge, UK: IEEE; 2016:171‐179.
[13]
Yue Y, Ahmed I, Wang Y, Redmiles D. Collaboration in global software development: an investigation on research trends and evolution. In: International Conference on Global Software Engineering (ICGSE). Montreal, Canada: IEEE; 2019:68‐69.
[14]
Lanubile F, Ebert C, Prikladnicki R, Vizcaíno A. Collaboration tools for global software engineering. IEEE Software. 2010;27:52‐55.
[15]
Dabbish L, Stuart C, Tsay J, Herbsleb J. Social coding in Github: transparency and collaboration in an open software repository. In: ACM Conference on Computer‐Supported Cooperative Work and Social Computing (CSCW). Seattle, Washington, USA; 2012:1277‐1286.
[16]
McDonald N, Blincoe K, Petakovic EVA, Goggins S. Modeling distributed collaboration on GitHub. Advances in Complex Systems. 2014;17:1450024.
[17]
Tsay J, Dabbish L, Herbsleb J. Let's talk about it: evaluating contributions through discussion in GitHub. In: International Symposium on Foundations of Software Engineering (FSE). Hong Kong, China; 2014:144‐154.
[18]
Arciniegas‐Mendez M, Zagalsky A, Storey M, Hadwin AF. Using the model of regulation to understand software development collaboration practices and tool support. In: ACM Conference on Computer‐Supported Cooperative Work and Social Computing (CSCW). Portland, Oregon, USA; 2017:1049‐1065.
[19]
Steinmacher I, Treude C, Gerosa MA. Let me in: guidelines for the successful onboarding of newcomers to open source projects. IEEE Softw. 2018;36:41‐49.
[20]
Tymchuk Y, Mocci A, Lanza M. Collaboration in open‐source projects: myth or reality? In: International Conference on Mining Software Repositories (MSR). Hyderabad, India; 2014:304‐307.
[21]
Bird C. Sociotechnical coordination and collaboration in open source software. In: International Conference on Software Maintenance (ICSM). Williamsburg, VA, USA; 2011:568‐573.
[22]
Bjorn P, Bardram J, Avram G. Global software development in a CSCW perspective. In: ACM Conference on Computer‐Supported Cooperative Work and Social Computing (CSCW). Baltimore, Maryland, USA; 2014:301‐304.
[23]
Mokarzel Filho R, de Souza Pereira M, Faria C, Lemos G. Collaboration tool for distributed open source verification. In: International Conference on Global Software Engineering (ICGSE). Montreal, QC, Canada: IEEE; 2019:139‐142.
[24]
Constantino K, Zhou S, Souza M, Figueiredo E, Kästner C. Understanding collaborative software development: an interview study. In: International Conference on Global Software Engineering (ICGSE). Seoul, Republic of Korea; 2020:55‐65.
[25]
Schilling A. What do we know about floss developers' attraction, retention, and commitment? a literature review. In: Hawaii International Conference on System Sciences (HICSS). Waikoloa, HI, USA; 2014:4003‐4012.
[26]
Crowston K, Wei K, Howison J, Wiggins A. Free/libre open‐source software development: what we know and what we do not know. ACM Comput Surv (CSUR). 2008;44:1‐35.
[27]
Miller KW, Voas J, Costello T. Free and open source software. IT Prof. 2010:12:14‐16.
[28]
Laurent A. Understanding open source and free software licensing: guide to navigating licensing issues in existing & new software. USA: O'Reilly Media; 2004.
[29]
Whitehead J. Collaboration in software engineering: a roadmap. Future of Software Engineering (FOSE). Minneapolis, USA: IEEE; 2007:214‐225.
[30]
Riehle D, Ellenberger J, Menahem T, et al. Open collaboration within corporations using software forges. IEEE Softw. 2009;26:52‐58.
[31]
Kalliamvakou E, Gousios G, Blincoe K, Singer L, German DM, Damian D. The promises and perils of mining GitHub. In: International Conference on Mining Software Repositories (MSR). Hyderabad, India; 2014:92‐101.
[32]
Storey M, Singer L, Cleary B, Figueira Filho F, Zagalsky A. The (r) evolution of social media in software engineering. In: Proceedings of the on Future of Software Engineering. Hyderabad, India; 2014:100‐116.
[33]
Zhou S, Vasilescu B, Kästner C. What the fork: a study of inefficient and efficient forking practices in social coding. In: ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (FSE/ESEC). Tallinn, Estonia. ACM; 2019:350‐361.
[34]
Linåker J, Munir H, Wnuk K, Mols C. Motivating the contributions: an open innovation perspective on what to share as open source software. Journal of Systems and Software. 2018;135:17‐36.
[35]
Lakhani KR, Von Hippel E. How open source software works: “free” user‐to‐user assistance. Gabler: Springer; 2004.
[36]
Gamalielsson J, Lundell B. Sustainability of open source software communities beyond a fork: how and why has the libreoffice project evolved? J Syst Softw. 2014;89:128‐145.
[37]
Butler B, Sproull L, Kiesler S, Kraut R. Community effort in online groups: who does the work and why. Leadership at a Distance: Research in Technologically Supported Work. 2002:1:171‐194.
[38]
Marlow J, Dabbish L, Herbsleb J. Impression formation in online peer production: activity traces and personal profiles in GitHub. In: ACM Conference on Computer‐Supported Cooperative Work and Social Computing (CSCW). San Antonio, Texas, USA; 2013:117‐128.
[39]
Tsay J, Dabbish L, Herbsleb J. Influence of social and technical factors for evaluating contribution in GitHub. In: International Conference on Software Engineering (ICSE). 2014:356‐366.
[40]
McDonald N, Goggins S. Performance and participation in open source software on GitHub. In: Conference on Human Factors in Computing Systems (CHI); Paris. France; 2013:139‐144.
[41]
Corbin J, Strauss A. Basics of qualitative research: Techniques and procedures for developing grounded theory. California, USA: SAGE Publications; 2014.
[42]
Creswell JW, Creswell JD. Research design: qualitative, quantitative, and mixed methods approaches. California, USA: SAGE Publications; 2017.
[43]
Qiu H, Nolte A, Brown A, Serebrenik A, Vasilescu B. Going farther together: the impact of social capital on sustained participation in open source. In: International Conference on Software Engineering (ICSE). Montreal, QC, Canada: IEEE; 2019:688‐699.
[44]
Pinto G, Steinmacher I, Gerosa M. More common than you think: an in‐depth study of casual contributors. In: International Conference on Software Analysis, Evolution, and Reengineering (SANER). Osaka, Japan: IEEE; 2016:112‐123.
[45]
Onoue S, Hata H, Matsumoto K. A study of the characteristics of developers' activities in GitHub. In: Asia‐Pacific Software Engineering Conference (APSEC). Bangkok, Thailand: IEEE; 2013:7‐12.
[46]
Viggiato M, Oliveira J, Figueiredo E, Jamshidi P, Kästner C. How do code changes evolve in different platforms? a mining‐based investigation. In: International Conference on Software Maintenance and Evolution (ICSME). Cleveland, OH, USA: IEEE; 2019:218‐222.
[47]
Viggiato M, Oliveira J, Figueiredo E, Jamshidi P, Kästner C. Understanding similarities and differences in software development practices across domains. In: International Conference on Global Software Engineering (ICGSE). Montreal, QC, Canada: IEEE; 2019:84‐94.
[48]
Oliveira J, Fernandes E, Vale G, Figueiredo E. Identification and prioritization of reuse opportunities with JReuse. In: International Conference on Software Reuse (ICSR). Salvador, Brazil: Springer; 2017:184‐191.
[49]
Oliveira J, Viggiato M, Figueiredo E. How well do you know this library? mining experts from source code analysis. In: Brazilian Symposium on Software Quality (SBQS). Fortaleza, Brazil: Association for Computing Machinery; 2019:49‐58.
[50]
Pham R, Singer L, Liskin O, Figueira Filho F, Schneider K. Creating a shared understanding of testing culture on a social coding site. In: International Conference on Software Engineering (ICSE). San Francisco, CA, USA: IEEE; 2013:112‐121.
[51]
Gousios G, Pinzger M, Deursen A. An exploratory study of the pull‐based software development model. In: International Conference on Software Engineering (ICSE). Hyderabad, India; 2014:345‐355.
[52]
Minto S, Murphy GC. Recommending emergent teams. In: International Conference on Mining Software Repositories (MSR). USA; 2007:5‐13.
[53]
Jiang J, He J, Chen X. Coredevrec: Automatic core member recommendation for contribution evaluation. J Comput Sci Technol. 2015;30:998‐1016.
[54]
Costa C, Figueirêdo J, Pimentel JF, Sarma A, Murta L. Recommending participants for collaborative merge sessions. IEEE Trans Softw Eng. 2019;7:1198‐1210.
[55]
Miller C, Widder DG, Kästner C, Vasilescu B. Why do people give up flossing? A study of contributor disengagement in open source. In: IFIP International Conference on Open Source Systems. Cham, Switzerland: Springer; 2019:116‐129.
[56]
Krüger J, Wiemann J, Fenske W, Saake G, Leich T. Do you remember this source code? In: International Conference on Software Engineering (ICSE). Gothenburg, Sweden: Association for Computing Machinery; 2018:764‐775.
[57]
Steinmacher I, Pinto G, Wiese I, Gerosa M. Almost there: a study on quasi‐contributors in open‐source software projects, International Conference on Software Engineering (ICSE). Gothenburg, Sweden: IEEE; 2018:256‐266.
[58]
Von Krogh G, Haefliger S, Spaeth S, Wallin M. Carrots and rainbows: motivation and social practice in open source software development. MIS Quarterly. 2012:36:649‐676.
[59]
Lee A, Carver JC, Bosu A. Understanding the impressions, motivations, and barriers of one time code contributors to floss projects: A survey. In: International Conference on Software Engineering (ICSE). 2017:187‐197.
[60]
Lee A, Carver JC. Are one‐time contributors different? A comparison to core and periphery developers in floss repositories. In: International Symposium on Empirical Software Engineering and Measurement (ESEM). Toronto, ON, Canada: IEEE; 2017:1‐10.
[61]
Kalliamvakou E, Damian D, Blincoe K, Singer L, German D. Open source‐style collaborative development practices in commercial projects using GitHub. In: International Conference on Software Engineering (ICSE). Florence, Italy: IEEE; 2015:574‐585.
[62]
Giuffrida R, Dittrich Y. A conceptual framework to study the role of communication through social software for coordination in globally‐distributed software teams. Inform Softw Technol. 2015:63:11‐30.
[63]
Storey M‐A, Zagalsky A, Figueira Filho F, Singer L, German DM. How social and communication channels shape and challenge a participatory culture in software development. IEEE Trans Softw Eng. 2016:43:185‐204.
[64]
Bissyandé T, Lo D, Jiang L, Réveillere L, Klein J, Le Traon Y. Got issues? who cares about it? a large scale investigation of issue trackers from GitHub. In: International Symposium on Software Reliability Engineering (ISSRE). Pasadena, CA, USA: IEEE; 2013:188‐197.
[65]
Stol K‐J, Avgeriou P, Ali Babar M. Identifying architectural patterns used in open source software: approaches and challenges. In: International Conference on Evaluation and Assessment in Software Engineering (EASE). Staffordshire, UK: BCS Learning & Development; 2010:91‐100.
[66]
Steinmacher I, Graciotto Silva MA, Gerosa MA, Redmiles DF. A systematic literature review on the barriers faced by newcomers to open source software projects. Inform Softw Technol. 2015:59:67‐85.
[67]
S. Stănciulescu SS, Wąsowski A. Forked and integrated variants in an open‐source firmware project. In: International Conference on Software Maintenance and Evolution (ICSME). Bremen, Germany: IEEE; 2015:151‐160.
[68]
Farias V, Wiese I, Santos R. What characterizes an influencer in software ecosystems? IEEE Softw. 2019:36:42‐47.
[69]
Blincoe K, Sheoran J, Goggins S, Petakovic E, Damian D. Understanding the popular users: following, affiliation influence and leadership on github. Inform Softw Technol. 2016;70:30‐39.
[70]
Cai Y, Zhu D. Reputation in an open source software community: antecedents and impacts. Decision Support Syst. 2016:91:103‐112.
[71]
Zhou M, Mockus A. Does the initial environment impact the future of developers? In: International Conference on Software Engineering (ICSE). Honolulu, HI, USA; 2011:271‐280.
[72]
Surian D, Liu N, Lo D, Tong H, Lim E‐P, Faloutsos C. Recommending people in developers' collaboration network. In: Working Conference on Reverse Engineering (WCRE). Limerick, Ireland: IEEE; 2011:379‐388.
[73]
Begel A, Simon B. Novice software developers, all over again. In: International Workshop on Computing Education Research (ICER). Sydney, Australia: Association for Computing Machinery; 2008:3‐14.
[74]
Balali S, Annamalai U, Padala HS, et al. Recommending tasks to newcomers in oss projects: how do mentors handle it? In: International Symposium on Open Collaboration (OpenSym). Virtual conference, Spain; 2020:1‐14.
[75]
Canfora G, Di Penta M, Oliveto R, Panichella S. Who is going to mentor newcomers in open source projects? In: International Symposium on the Foundations of Software Engineering (FSE). Cary, North Carolina, USA: Association for Computing Machinery; 2012:1‐11.
[76]
Steinmacher I, Conte T, Gerosa MA, Redmiles D. Social barriers faced by newcomers placing their first contribution in open source software projects. In: ACM Conference on Computer‐Supported Cooperative Work and Social Computing (CSCW). Vancouver, BC, Canada. 2015:1379‐1392.
[77]
Jiang J, Lo D, He J, Xia X, Kochhar PS, Zhang L. Why and how developers fork what from whom in GitHub. Empir Softw Eng. 2017;22:547‐578.
[78]
Wohlin C, Runeson P, Höst M, Ohlsson MC, Regnell B, Wesslén A. Experimentation in software engineering. Berlin, Heidelberg: Springer; 2012.
[79]
Bernard HR. Research methods in anthropology: qualitative and quantitative approaches. New York, USA: Rowman & Littlefield; 2017.
[80]
Morse JM. Designing funded qualitative research; 1994.

Cited By

View all
  • (2024)Sustaining Maintenance Labor for Healthy Open Source Software Projects through Human Infrastructure: A Maintainer PerspectiveProceedings of the 18th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement10.1145/3674805.3686667(37-48)Online publication date: 24-Oct-2024

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Journal of Software: Evolution and Process
Journal of Software: Evolution and Process  Volume 35, Issue 5
May 2023
187 pages
ISSN:2047-7473
EISSN:2047-7481
DOI:10.1002/smr.v35.5
Issue’s Table of Contents

Publisher

John Wiley & Sons, Inc.

United States

Publication History

Published: 25 April 2023

Author Tags

  1. collaboration in software development
  2. collaborative software development
  3. distributed collaboration
  4. open‐source software projects
  5. sustained developer community participation

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 31 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Sustaining Maintenance Labor for Healthy Open Source Software Projects through Human Infrastructure: A Maintainer PerspectiveProceedings of the 18th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement10.1145/3674805.3686667(37-48)Online publication date: 24-Oct-2024

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media