Wanna see your open source project succeed? - Nurture your community

57
Wanna see your OSS project succeed? Nurture your community Jordi Cabot – ICREA Research Professor at UOC @softmodeling modeling-languages.com

Transcript of Wanna see your open source project succeed? - Nurture your community

Page 1: Wanna see your open source project succeed? - Nurture your community

Wanna see your OSS project succeed? Nurture your

community

Jordi Cabot – ICREA Research Professor at UOC

@softmodeling modeling-languages.com

Page 2: Wanna see your open source project succeed? - Nurture your community

SOM Research LabSoftware runs the world. Models run the software

Page 3: Wanna see your open source project succeed? - Nurture your community

The Team

Postdoc

PhD Students

Professors

Lecturers

Page 4: Wanna see your open source project succeed? - Nurture your community

Our missionWe are interested in the broad area

of systems and software engineering, especially promoting

the rigorous use of software models and engineering principles in all software

engineering tasks while keeping an eye on the most unpredictable

element in any project: the people involved in it.

Flickr/clement127

Page 5: Wanna see your open source project succeed? - Nurture your community
Page 6: Wanna see your open source project succeed? - Nurture your community

Been there, done that since 2003 <<metaclass >>

GeneralizableElement

<<stereotype>>

<<stereotype>> Temporal

Tags Durability: DurabilityKind Frequency: FrequencyKind

Constraints { Durability=constant or Durability=permanent implies Frequency=single}

<<enumeration>> DurabilityKind

constant permanent durable instantaneous

<<enumeration>> FrequencyKind

single intermittent

Fig. 4.1 –The <<temporal>> stereotype

Page 7: Wanna see your open source project succeed? - Nurture your community
Page 8: Wanna see your open source project succeed? - Nurture your community

I’m part of your tribe

Page 9: Wanna see your open source project succeed? - Nurture your community

Why the f*** are people not using our tools?

Page 10: Wanna see your open source project succeed? - Nurture your community

Industrialization of research tools

BUT:

-Relies too much on SMEs that may change their focus

- Naïve view of open source (people will magically show up and help)

Page 11: Wanna see your open source project succeed? - Nurture your community

Remember when...

Many projects fail and get abandoned in the very early stages unable to get any traction (or

because they lose it!)

Page 12: Wanna see your open source project succeed? - Nurture your community

Goal: Discuss strategies to ensure the long-term sustainability of Papyrus

Page 13: Wanna see your open source project succeed? - Nurture your community

Software Analysis

Page 14: Wanna see your open source project succeed? - Nurture your community

Most works focus on code analysis

Page 15: Wanna see your open source project succeed? - Nurture your community
Page 16: Wanna see your open source project succeed? - Nurture your community

CodeCommunity

Page 17: Wanna see your open source project succeed? - Nurture your community

Nurture

your Com

munity

Your community is

the KEY

Page 18: Wanna see your open source project succeed? - Nurture your community
Page 19: Wanna see your open source project succeed? - Nurture your community

How to help your

OSS succeed

Governing

OptimizingOnboarding

Page 20: Wanna see your open source project succeed? - Nurture your community
Page 21: Wanna see your open source project succeed? - Nurture your community

Community Health

Page 22: Wanna see your open source project succeed? - Nurture your community

Size doesn’t matter

Page 23: Wanna see your open source project succeed? - Nurture your community

Undertanding Community = Graph Analysis

• Many types of graphs (e.g. Bipartite graphs)• Many types of properties

– Micro-view (local properties)– Macro-view (global properties)– Meso-level (emerging properties)

• Analysis at different levels

Page 24: Wanna see your open source project succeed? - Nurture your community

Build the right graph for your purpose

Page 25: Wanna see your open source project succeed? - Nurture your community

Label Usage

Page 26: Wanna see your open source project succeed? - Nurture your community

User Involvement

Page 27: Wanna see your open source project succeed? - Nurture your community

Bus Factor“Number of key developers who would need to be incapacitated (hit by a bus), to send the project into disarray that it would not be able to proceed”

Page 28: Wanna see your open source project succeed? - Nurture your community

64.43%

12.58%

Page 29: Wanna see your open source project succeed? - Nurture your community

Betweenness & ciaUseful to identify subcommunities

and increase commnication

Page 30: Wanna see your open source project succeed? - Nurture your community

Nestedness (first results)

Occasional contributors focus on the most frequently modified files

Page 31: Wanna see your open source project succeed? - Nurture your community

http://matt.might.net/articles/phd-school-in-pictures

And there’s much more...

rich club ordering, small world behaviour,

modularity…

Page 32: Wanna see your open source project succeed? - Nurture your community

Gitana: Integrated analysis

Coding platform

Issue trackers Commun. channels

Code review tools

Page 33: Wanna see your open source project succeed? - Nurture your community

Attracting contributors (and keeping them)

Page 34: Wanna see your open source project succeed? - Nurture your community
Page 35: Wanna see your open source project succeed? - Nurture your community

+Retention: If you contribute to one

release in WP, there is a 46%

chance you will contribute to the

next

Page 36: Wanna see your open source project succeed? - Nurture your community

Facilitate on boarding: Importance of first

impressions

Page 37: Wanna see your open source project succeed? - Nurture your community

What kidney

exchange

programs can

teach us about OSS?

© www.forbes.com

Page 38: Wanna see your open source project succeed? - Nurture your community

Retribution=OSS as a matching

market (markets where money is

not the main factor)

Page 39: Wanna see your open source project succeed? - Nurture your community

© diehardbrain.blogspot.com.es/

Page 40: Wanna see your open source project succeed? - Nurture your community

Gamification on top of GitHub

Page 41: Wanna see your open source project succeed? - Nurture your community

© Apple Records

Power to the people

Page 42: Wanna see your open source project succeed? - Nurture your community

Benevolent Dictator for Life

Page 43: Wanna see your open source project succeed? - Nurture your community

******

Page 44: Wanna see your open source project succeed? - Nurture your community

Governance in every project

MUST be explicit (TRANSPARENCY)

Page 45: Wanna see your open source project succeed? - Nurture your community

Governance should also

be more democratic

Page 46: Wanna see your open source project succeed? - Nurture your community
Page 47: Wanna see your open source project succeed? - Nurture your community

If you don’t like it, just fork itOption only available for technical users

End-users are not technical experts, can’t give valid opinionsNo need to ALL vote on EVERYTHING. Or not with the same weight (dangerous road)

The open source definition does not mention democracyTrue

Page 48: Wanna see your open source project succeed? - Nurture your community

It would be impossible to make decisionsMany types of democracy (liquid, direct, representative,...)

I am a volunteer, I want to work on what interests meSure. You can always do that (but less impact)

Proprietary software is much worseAgreed

Page 49: Wanna see your open source project succeed? - Nurture your community

******

Page 50: Wanna see your open source project succeed? - Nurture your community
Page 51: Wanna see your open source project succeed? - Nurture your community

Project myProject { Roles: Committers Deadlines: myDeadline : 7 days Rules: myMajorityRule : Majority { applied to Task when TaskReview people Committers range Present minVotes 3 deadline myDeadline }}

All the proposals for new development tasks will be accepted or rejected in 7 days by the committers of the project.

Verbalization

Page 52: Wanna see your open source project succeed? - Nurture your community
Page 53: Wanna see your open source project succeed? - Nurture your community

The many names of Democracy

Page 54: Wanna see your open source project succeed? - Nurture your community

The many names of Democracy

Page 55: Wanna see your open source project succeed? - Nurture your community

• Problem is getting worse – Complexity of SW– New channels (e.g. Slack)– Team distribution

• Need of studies targeting MDE projects

• Multi-disciplinary solution

Page 56: Wanna see your open source project succeed? - Nurture your community
Page 57: Wanna see your open source project succeed? - Nurture your community

Let’s work

[email protected]

@softmodeling

modeling-languages.co

m