Collaboration and Governance in OSS projects (Preliminary work) Javier Cánovas, Jordi Cabot [email protected] http://modeling-languages.com
Aug 28, 2014
Collaboration and Governance in OSS
projects(Preliminary work)
Javier Cánovas, Jordi [email protected]
http://modeling-languages.com
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]
Collaboro
DSL
Abstract Syntax
Concepts & relationship
s
Well-formed rules
Concrete Syntax
Textual Graphical
Semantics
Denotational Pragmatic Translationa
l Operational
Collaboro
• Providing means to discuss about language elements
• Overcoming technical barriers
Participation
• Facilitating voting and decision processes• Keeping traceability
Collaboration
Representing collaborations
Collaboro process
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]
How? Existing tools only store facts
- No support for the decision process
- No traceability of the decisions
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,…)
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
Governance metamodel
12© AtlanMod - [email protected]
Example
13© AtlanMod - [email protected]
Project myProject {Roles: CommittersDeadlines:
myDeadline : 7 daysRules:
myMajorityRule : Majority {applied to Taskwhen TaskReviewpeople Committersrange PresentminVotes 0deadline myDeadline
}}
Enforcing the rules (Optional)
14© AtlanMod - [email protected]
Architecture
15© AtlanMod - [email protected]
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???
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