CHASE 2014 - The hard of newcomers to OSS projects

Post on 02-Jul-2015

75 views 0 download

Transcript of CHASE 2014 - The hard of newcomers to OSS projects

The Hard Life of Newcomers to

Open Source Software Projects

Igor Steinmacher

Tayana Conte

Marco Aurélio Gerosa

David Redmiles

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

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

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

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

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

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

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

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

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

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

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

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

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

15

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

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

Igor Steinmacher igorfs@utfpr.edu.br

Tayana U. Conte tayana@icomp.ufam.br

Marco A. Gerosa gerosa@ime.usp.br

David Redmiles redmiles@ics.uci.edu

Thanks

18