Collaboration and Governance of Open Source Projects


Published on

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

Published in: Software, Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Collaboration and Governance of Open Source Projects

  1. 1. Collaboration and Governance in OSS projects (Preliminary work) Javier Cánovas, Jordi Cabot
  2. 2. 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 collaborative-definition-of-dsls/ 2© AtlanMod -
  3. 3. Collaboro DSL Abstract Syntax Concepts & relationships Well-formed rules Concrete Syntax Textual Graphical Semantics Denotational Pragmatic Translational Operational
  4. 4. Collaboro • Providing means to discuss about language elements • Overcoming technical barriers Participation • Facilitating voting and decision processes • Keeping traceability Collaboration
  5. 5. Representing collaborations
  6. 6. Collaboro process
  7. 7. 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 -
  8. 8. How? Existing tools only store facts
  9. 9. OSS development 9© AtlanMod - Each phase implies decisions
  10. 10. Is governance a real challenge in OSS 10© AtlanMod -  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,…)
  11. 11. Let’s help all OSS projects define their governance rules! 11© AtlanMod -  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
  12. 12. Governance metamodel 12© AtlanMod -
  13. 13. Example 13© AtlanMod - Project myProject { Roles: Committers Deadlines: myDeadline : 7 days Rules: myMajorityRule : Majority { applied to Task when TaskReview people Committers range Present minVotes 0 deadline myDeadline } }
  14. 14. Enforcing the rules (Optional) 14© AtlanMod -
  15. 15. Architecture 15© AtlanMod -
  16. 16. Mining governance models 16© AtlanMod -  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???
  17. 17. A word of caution 17© AtlanMod -  Many OSS projects are “fake” /dead (i.e. they do not really want collaborators: backup, CV) 85% of projects have never been forked