The document summarizes research into the barriers faced by newcomers when first contributing to open source software projects. It finds that newcomers struggle with issues like setting up their local workspace, understanding large and outdated codebases, lack of documentation, and not knowing how to find an initial task to start working on. The research was conducted through surveys of 9 newcomers to OSS projects and interviews with 24 OSS developers. It identifies 6 main categories of barriers faced by newcomers, including technical hurdles, documentation problems, cultural differences, and difficulties with project orientation. The researchers conclude that lowering these barriers, such as by providing mentoring support, could help increase contributions from newcomers to OSS projects.
CHASE 2014 - The hard of newcomers to OSS projects
1. The Hard Life of Newcomers to
Open Source Software Projects
Igor Steinmacher
Tayana Conte
Marco Aurélio Gerosa
David Redmiles
2. Motivation
Newcomers can face barriers to make their first
contribution
Literature focuses on long-term contributors
Newcomers are expected to learn about the project on their own
What about those short-time (or single time) contributors?
Outsider
Onboarding Contributing
Newcomer Contributor Member
Motivation
Attractiveness Retention
Onboarding Barriers
Onboarding
Onboarding Barriers
2
3. Goal
Empirically evidence and categorize the
barriers faced by newcomers onboarding to
OSS projects and propose a tool to support
these newcomers
Studying the barriers faced by newcomers
Creating a model of barriers for newcomers to OSS
3
4. Method
• Preliminary study
• Qualitative analysis using procedures of Grounded Theory
• Two sources
• PhD candidates (IME/USP) and undergrad students (UTFPR)
• Assignment: contribute to an OSS projects
• Feedback: open-ended questionnaire
• 9 subjects (5 PhD candidates / 4 undergrad students)
• Answers to a questionnaire answered by OSS developers
• Recruitment: mailing lists and forums
• Question: “In your opinion, what are the main difficulties faced by
newcomers when they want to start contributing to this project?
(Consider technical and non-technical issues).”
• 24 complete answers
4
5. Sample
Project Questionnaire Students
LibreOffice 6 2
Apache Open Office 3
aTunes 3
Mozilla Firefox 3 3
Audacity 2
jEdit 1
OpenVPN 1
FreePlane 1
Emacs 1
JabRef - 4
Did not inform 3
For how long have you being
contributing to the project?
Count
Less than 6 months 7
Between 6 months and 1 year 3
Between 1 year and 3 years 6
More than 3 years 8
5
6. Results
Category # of documents
(feedback/question)
#quotes # barriers
Issues to build/set up workspace 8 (4 / 4) 15 (10/5) 5
Code issues 15 (7 / 8) 21 (11/10) 5
Problem with documentation 15 (8 / 7) 23 (15/8) 10
Newcomer Behavior 3 (0 / 3) 3 (0/3) 2
Newcomer Tech. Knowledge 12 (4 / 8) 16 (7/9) 7
Social Interaction Issue 11 (6 / 5) 12 (8/4) 6
Finding a way to start 11 (8 / 3) 22 (18/4) 3
6
7. Issues to build/set up the workspace:
Data Source
Feedback
Students
Questions
Less than 6
months
Between 6 months
and 3 years
More than 3
years
Issues setting up • • •
Platform dependency • •
Finding the correct source code •
Library dependencies •
“the biggest problem was how to get
project from SCM and it to work properly.”
“The biggest problem was how to get
project from SCM and it to work properly.”
“when we tried to run the project, we found
that some dependencies were missing...
and there was not even a README file to
support us”
7
8. Code Issues
Data Source
Feedback
Students
Questions
Less than 6
months
Between 6 months
and 3 years
More than
3 years
Bad Quality of Code • • •
Codebase Size • • •
Outdated Code •
Problems Understanding the code • • •
Lack of Code Standards •
“huge codebase that takes time to learn”
“the main difficulty was getting used to the code …
[they need to] define very clearly what are the
standards, including the class and methods naming.”
“[a problem is] the junk code.”
8
9. Documentation Problems
Data Source
Feedback
Students
Questions
Less than 6
months
Between 6 months
and 3 years
More than
3 years
Lack of Documentation • • •
Lack of Documentation on Proj.
Structure
•
Lack of Documentation on setting
up workspace
•
Lack of Documentation on
Contribution Process
•
•
Outdated documentation • •
Unclear documentation •
Spread documentation •
Lack of Code Comments •
Lack of Design Documentation •
Lack of Code Documentation •
9
10. Finding a way to start
Data Source
Feedback
Students
Questions
Less than 6
months
Between 6 months
and 3 years
More than 3
years
Find the right piece of code to
work
• •
Outdated list of bugs •
Find a task to start • • •
“We do not know what is easy when we join a project, or
at least the size of the problem that we are getting into. It
is necessary to take a risk and try a few possibilities.”
“it's not always clear where someone new
can jump in and make an impact.”
“I don't know what are the easiest ones and
what part of code should I start looking at”
10
11. Isn’t it newcomers fault?
Newcomers’ behavior
Data Source
Feedback
Students
Questions
Less than 6
months
Between 6 months
and 3 years
More than 3
years
Lack of Commitment • •
Underestimating the challenge •
“[newcomers] often underestimate the
challenge.”
“you need courage to engage with
the development community.”
11
12. Isn’t it newcomers fault?
Newcomers’ knowledge
Data Source
Feedback
Students
Questions
Less than 6
months
Between 6 months
and 3 years
More than 3
years
Previous knowledge on project
tooling
• •
Previous knowledge on VCS • •
Choosing the right tooling •
Lack of knowledge on
technologies used
•
Programming language used •
Learning curve •
Learning curve on project tooling • •
General lack of knowledge • • •
“[It is hard] to become acquainted with the
used tooling, when the project is rather
new and/or changed the tooling it used.”
“[a problem is] understanding
obscure old C++”
“as the projects use different
frameworks, you need to
understand these frameworks
in order to contribute.”
12
13. Code Issues
Data Source
Feedback
Students
Questions
Less than 6
months
Between 6 months
and 3 years
More than
3 years
Delayed Responses •
Impolite answers •
Finding someone to help • •
Use of intimidating terms •
Communication issues •
“there should be someone responsible for
receiving and coordinating the onboard of
new members in the project,”
“at the beginning it seemed
that they did not want help”
“it took time to receive answers to
our email”
“It is hard to get someone to give us this
kind of information [find where to start].”
13
14. Other results not brought by the paper
• 36 interviews with OSS practitioners
• Newcomers, dropouts, and experienced members
• Systematic Literature Review qualitatively analyzed
• Complete model with 50+ barriers grouped in 6
categories
• Technical Hurdles
• Documentation problems
• Newcomers’ characteristics
• Cultural differences
• Reception Issues
• Orientation Needs
14
16. Conclusions
• Placing a first contribution in an OSS project can be a
tough task
• There are both technical and social issues that need to be
addressed
• The two most reported barriers - find a task to start and
problems setting up the local workspace - are not well
explored by the literature
• Good receptivity and providing easy enough step-by-step
guidance can make the differente
• Human guidance (mentoring) is invaluable, but hard to get
in these communities: how to overcome that?
16
17. Provoking questions
• What can alleviate or mitigate the barriers?
• What is already in place?
• How to make newcomers aware of the existing barriers?
(How can it help?)
• What is needed to make it simple for the community to
offer these solutions?
• Can we increase the amount of contributions if we provide
the correct tooling?
• Can we apply some existing approaches to help
newcomers overcoming ‘code understanding’ issues?
• Have any study already addressed it? How to put it to work in
practice?
17