Content-Based Filtering Approach to Suggest Tasks and Projects to GitHub Newcomers
Since Github’s introduction in 2008. the platform has been instrumental in enabling Open Source Software (OSS) development which rely on voluntary contributions from member developers.
As of 2019, the social coding platform hosts over 28 million repositories and 40 million developers around the world. The popularity of the platform has invited research on the collaborative and participatory nature in software development. Particularly relevant to open source software development is the experience of newcomers to contributing to an open source project.
Various socio-technical barriers have been identified to contribution when they join. Among them are the low receptivity of the community (e.g. sense of welcome, lack of politeness), lack of documentation, technical challenges (e.g. setting up the environment) and lack of orientation [1]. Research suggest that particular barriers to newcomers are difficulty finding a way to start, choosing a task and finding a mentor to navigate the project. It was suggested that the skills profile and proactivity of the developer (i.e. showing initiative) enable their contribution.
Practitioner information resources are available to enable participation from both project owners and potential contributors. [2] Recommendations provide potential contributors step-by-step actions to joining a new project. Project maintainers may indicate tasks that are more suitable for newcomers in an aid to reduce barriers.
Newcomers to open source software development are faced with a myriad of choices and factors in selecting a first project and first task on the GitHub platform: finding the right technology, high activity and availability of suitable tasks.
In this research, the authors propose a tool to help new contributors reduce the amount of considerations when exploring and seeking out a new project. The recommendation tool will take a user profile based on ability and professional background and suggest a set of potential projects. The tool will identify potential tasks within these projects that are newcomer friendly.
The key deliverable is a recommender framework that can accomplish the following.:
- Evaluate a newcomer's professional skills and ability
- Find and assess the issues or tasks or sufficiently active projects in GitHub to different levels of user.
- Match newcomers and these projects and tasks (or issues) based on their ability.
[1] Igor Steinmacher, Marco Aurelio Graciotto Silva, Marco Aurelio Gerosa, and David F. Redmiles. 2015. A systematic literature review on the barriers faced by newcomers to open source software projects. Inf. Softw. Technol. 59, C (March 2015), 67-85.
[2] First Timer's Only. 2019. Retrieved from https://www.firsttimersonly.com/