chase 2014 - the hard of newcomers to oss projects

18
The Hard Life of Newcomers to Open Source Software Projects Igor Steinmacher Tayana Conte Marco Aurélio Gerosa David Redmiles

Upload: igor-steinmacher

Post on 02-Jul-2015

73 views

Category:

Education


0 download

TRANSCRIPT

Page 1: 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

Page 2: CHASE 2014 - The hard of newcomers to OSS projects

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

Page 3: CHASE 2014 - The hard of newcomers to OSS projects

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

Page 4: CHASE 2014 - The hard of newcomers to OSS projects

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

Page 5: CHASE 2014 - The hard of newcomers to OSS projects

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

Page 6: CHASE 2014 - The hard of newcomers to OSS projects

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

Page 7: CHASE 2014 - The hard of newcomers to OSS projects

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

Page 8: CHASE 2014 - The hard of newcomers to OSS projects

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

Page 9: CHASE 2014 - The hard of newcomers to OSS projects

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

Page 10: CHASE 2014 - The hard of newcomers to OSS projects

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

Page 11: CHASE 2014 - The hard of newcomers to OSS projects

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

Page 12: CHASE 2014 - The hard of newcomers to OSS projects

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

Page 13: CHASE 2014 - The hard of newcomers to OSS projects

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

Page 14: CHASE 2014 - The hard of newcomers to OSS projects

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

Page 15: CHASE 2014 - The hard of newcomers to OSS projects

15

Page 16: CHASE 2014 - The hard of newcomers to OSS projects

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

Page 17: CHASE 2014 - The hard of newcomers to OSS projects

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

Page 18: CHASE 2014 - The hard of newcomers to OSS projects

Igor Steinmacher [email protected]

Tayana U. Conte [email protected]

Marco A. Gerosa [email protected]

David Redmiles [email protected]

Thanks

18