377,369 research outputs found

    Engaging developers in open source software projects: harnessing social and technical data mining to improve software development

    Get PDF
    As software development has evolved, an increasing amount of collaboration and management is done online. Open source software, in particular, has benefited greatly from communication and collaboration on the Internet. As software projects increase in size, the codebase complexity and required communication between developers increases. The barriers of entry for development participation are not only technical in nature but involve understanding the changing dynamics of the community. Social Technical Congruence (STC) attempts to understand and model the synergies between technical development and communication. Motivated by this theory, three algorithms were developed that leverage data from version control history and email mailing list communication to help developers better understand the community. The “code impact” algorithm identifies commits that are impactful to the overall technical structure of the source code. The “developer knowledge” algorithm calculates the knowledge that a developer or developers have for a particular section of code. Lastly, the “communication suggestions” algorithm provides suggestions about who a developer could be increasing communication with on the mailing list based on shared technical dependencies and recent communication. These algorithms were implemented in an online website called “Jamii”. Through an interactive front-end, the website provides relevant development-centric information to the community. The website was evaluated with Mozilla and KDE, two large open source communities. Quantitative and qualitative analysis provide details about the socialization process before the website was developed through an initial survey as well as afterwards. The results from the initial survey paint a primarily positive picture of socialization and inclusion for KDE and a more complex process of socialization and inclusion for Mozilla because of the large size of its community and codebase. In many cases for both communities, the ratings on a number of factors regarding the socialization process and effective coordination were actually higher for the beginner participants as compared to the veterans. This suggests that new participants may have an overly-inflated positive view than veteran members. This work provides fundamental contributions to the field of STC and may generalize to other distributed online collaboration efforts

    Uncovering the Causes of Emotions in Software Developer Communication Using Zero-shot LLMs

    Full text link
    Understanding and identifying the causes behind developers' emotions (e.g., Frustration caused by `delays in merging pull requests') can be crucial towards finding solutions to problems and fostering collaboration in open-source communities. Effectively identifying such information in the high volume of communications across the different project channels, such as chats, emails, and issue comments, requires automated recognition of emotions and their causes. To enable this automation, large-scale software engineering-specific datasets that can be used to train accurate machine learning models are required. However, such datasets are expensive to create with the variety and informal nature of software projects' communication channels. In this paper, we explore zero-shot LLMs that are pre-trained on massive datasets but without being fine-tuned specifically for the task of detecting emotion causes in software engineering: ChatGPT, GPT-4, and flan-alpaca. Our evaluation indicates that these recently available models can identify emotion categories when given detailed emotions, although they perform worse than the top-rated models. For emotion cause identification, our results indicate that zero-shot LLMs are effective at recognizing the correct emotion cause with a BLEU-2 score of 0.598. To highlight the potential use of these techniques, we conduct a case study of the causes of Frustration in the last year of development of a popular open-source project, revealing several interesting insights

    Collaborative Development within Open Source Communities

    Get PDF
    Open source communities are one of the most successful-- and least appreciated--examples of high-performance collaboration and community building on the Internet today. Open source communities began as loosely organized, ad-hoc communities of contributors from all over the world who shared an interest in meeting a common need. However, the organization of these communities has proven to be very flexible and capable of carrying out all kind of developments, ranging from minor projects to huge programs such as Apache (Höhn, & Herr, 2004; Mockus, Fielding, & Herbsleb, 2005

    Collaborative design : managing task interdependencies and multiple perspectives

    Get PDF
    This paper focuses on two characteristics of collaborative design with respect to cooperative work: the importance of work interdependencies linked to the nature of design problems; and the fundamental function of design cooperative work arrangement which is the confrontation and combination of perspectives. These two intrinsic characteristics of the design work stress specific cooperative processes: coordination processes in order to manage task interdependencies, establishment of common ground and negotiation mechanisms in order to manage the integration of multiple perspectives in design

    Collaborative Development of Open Educational Resources for Open and Distance Learning

    Get PDF
    Open and distance learning (ODL) is mostly characterised by the up front development of self study educational resources that have to be paid for over time through use with larger student cohorts (typically in the hundreds per annum) than for conventional face to face classes. This different level of up front investment in educational resources, and increasing pressures to utilise more expensive formats such as rich media, means that collaborative development is necessary to firstly make use of diverse professional skills and secondly to defray these costs across institutions. The Open University (OU) has over 40 years of experience of using multi professional course teams to develop courses; of working with a wide range of other institutions to develop educational resources; and of licensing use of its educational resources to other HEIs. Many of these arrangements require formal contracts to work properly and clearly identify IPR and partner responsibilities. With the emergence of open educational resources (OER) through the use of open licences, the OU and other institutions has now been able to experiment with new ways of collaborating on the development of educational resources that are not so dependent on tight legal contracts because each partner is effectively granting rights to the others to use the educational resources they supply through the open licensing (Lane, 2011; Van Dorp and Lane, 2011). This set of case studies examines the many different collaborative models used for developing and using educational resources and explain how open licensing is making it easier to share the effort involved in developing educational resources between institutions as well as how it may enable new institutions to be able to start up open and distance learning programmes more easily and at less initial cost. Thus it looks at three initiatives involving people from the OU (namely TESSA, LECH-e, openED2.0) and contrasts these with the Peer-2-Peer University and the OER University as exemplars of how OER may change some of the fundamental features of open and distance learning in a Web 2.0 world. It concludes that while there may be multiple reasons and models for collaborating on the development of educational resources the very openness provided by the open licensing aligns both with general academic values and practice but also with well established principles of open innovation in businesses
    • 

    corecore