collaboration and governance of open source projects

17
Collaboration and Governance in OSS projects (Preliminary work) Javier Cánovas, Jordi Cabot [email protected] http://modeling-languages.com

Upload: jordi-cabot

Post on 28-Aug-2014

378 views

Category:

Software


0 download

DESCRIPTION

Our proposal for improving the collaboration and governance of open source software projects

TRANSCRIPT

Page 1: Collaboration and Governance of Open Source Projects

Collaboration and Governance in OSS

projects(Preliminary work)

Javier Cánovas, Jordi [email protected]

http://modeling-languages.com

Page 2: Collaboration and Governance of Open Source Projects

Background We can all agree that development is a collaboration

process

We didn’t see this collaboration taking place in the development of MDE artefacts (not talking about synch development)

We built Collaboro, a tool to enable the collaboration of domain experts and technical people when building a DSL. See http://modeling-languages.com/enabling-the-collaborative-definition-of-dsls/

2© AtlanMod - [email protected]

Page 3: Collaboration and Governance of Open Source Projects

Collaboro

DSL

Abstract Syntax

Concepts & relationship

s

Well-formed rules

Concrete Syntax

Textual Graphical

Semantics

Denotational Pragmatic Translationa

l Operational

Page 4: Collaboration and Governance of Open Source Projects

Collaboro

• Providing means to discuss about language elements

• Overcoming technical barriers

Participation

• Facilitating voting and decision processes• Keeping traceability

Collaboration

Page 5: Collaboration and Governance of Open Source Projects

Representing collaborations

Page 6: Collaboration and Governance of Open Source Projects

Collaboro process

Page 7: Collaboration and Governance of Open Source Projects

Effective Collaboration requires Governance

How does the community make a decision?– Majority? Unanimity? Dictatorship?– Minimal participation level?– Depending on the phase? (proposals,

comments, solution)

This is NOT a MDE problem – Switched to study OSS projects

7© AtlanMod - [email protected]

Page 8: Collaboration and Governance of Open Source Projects

How? Existing tools only store facts

- No support for the decision process

- No traceability of the decisions

Page 9: Collaboration and Governance of Open Source Projects

OSS development

9© AtlanMod - [email protected]

Each phase implies decisions

Page 10: Collaboration and Governance of Open Source Projects

Is governance a real challenge in OSS

10© AtlanMod - [email protected]

In a survey among OSS contributors, they said:1. Understanding the governance model (e.g.

who/when/how decides to accept a patch) was very difficult (implicit, scattered,…)

2. A clear view of this model would attract more contributors

3. They believed it was feasible to define the governance model

A manual analysis of several well-known ones confirmed 1) and the extreme variability among them (also in terms of tools: forums, email,…)

Page 11: Collaboration and Governance of Open Source Projects

Let’s help all OSS projects define their governance rules!

11© AtlanMod - [email protected]

By providing a DSL that facilitates the specification of governance rules in a “standard” format

And a decision engine able to interpret and apply these rules to evolve a project status

Relying on Collaboro to store the collaboration information

Page 12: Collaboration and Governance of Open Source Projects

Governance metamodel

12© AtlanMod - [email protected]

Page 13: Collaboration and Governance of Open Source Projects

Example

13© AtlanMod - [email protected]

Project myProject {Roles: CommittersDeadlines:

myDeadline : 7 daysRules:

myMajorityRule : Majority {applied to Taskwhen TaskReviewpeople Committersrange PresentminVotes 0deadline myDeadline

}}

Page 14: Collaboration and Governance of Open Source Projects

Enforcing the rules (Optional)

14© AtlanMod - [email protected]

Page 15: Collaboration and Governance of Open Source Projects

Architecture

15© AtlanMod - [email protected]

Page 16: Collaboration and Governance of Open Source Projects

Mining governance models

16© AtlanMod - [email protected]

Taking OSS projects in GitHub

Goal: get an idea of the (often implicit) popular governance models adopted

Study possible correlations between the governance models and the “success” of a project– Is democracy better???

Page 17: Collaboration and Governance of Open Source Projects

A word of caution

17© AtlanMod - [email protected]

Many OSS projects are “fake” /dead (i.e. they do not really want collaborators: backup, CV)

85% of projects have never been forked