collaboration and governance of open source projects
DESCRIPTION
Our proposal for improving the collaboration and governance of open source software projectsTRANSCRIPT
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