Recommending Open Source Software Projects to Developers
48 Pages Posted: 6 Aug 2020
Date Written: June 25, 2020
Growing popularity of OSS has attracted millions of developers to social coding platforms such as GitHub.com. However, it appears that OSS software is becoming a victim of its own success because finding the right project, among millions of projects hosted on social coding platforms, is a gruelling task for developers. Lack of mismatch among developers and projects has resulted in high developer turnover and project failures. In this context, the evolving nature of developers’ preferences and projects’ goals, complicates matching of developers and projects.
This paper proposes a new artefact based on collaborative filtering (CF) recommendation technique to recommend OSS projects to developers. The dynamic nature of projects’ evolution and the developers preferences makes this a very different problem than, say, recommending products to consumers. Our proposed method uses developers’ socio-technical activities to capture their evolving preferences and project goals, and creates an implicit personalized project rating/ranking for developers. A multi-criteria decision-making technique is used to generate an overall rating based on developers’ different types of activities. The proposed artefact has been evaluated with the real-world data from GitHub. Our results show that developers who join projects that we recommend, are among the top contributors on these recommended projects, and vice versa for the developers who join projects that we don’t recommend. The comparison of proposed method with other state of the art collaborative filtering approaches shows promising results.
Keywords: Open Source Software, Recommendation System, Collaborative Filtering
Suggested Citation: Suggested Citation