Enabling the Definition and
Enforcement of Governance
Rules in Open Source Systems
Javier Cánovas, Jordi Cabot
ICSE – SEIS conference
May 2015
Governance
Making decisions
Flickr/MartisFich
Examples
Why?
io.js aims to provide faster and predictable release cycles. It currently
merges in the latest language, API and performance improvements to
V8 while also updating libuv and other base libraries.
This project aims to continue development of io.js under an "open
governance model" as opposed to corporate stewardship.
Source: https://iojs.org/en/faq.html
Examples
Source: https://commonspace.wordpress.com/2015/01/26/participationplan/
Mozilla needs a more creative and radical
approach to participation in order to succeed.
…What’s less clear: what practical steps do we
take to supercharge participation at Mozilla? …
…we’ve written a first draft Mozilla Participation
Plan. This plan is focused on increasing the impact
of participation efforts already underway across …
Examples
Source: http://seclists.org/fulldisclosure/2015/Feb/42
******
It’s not so strange …
It’s not so strange …
It’s not so strange …
It’s not so strange …
Tholman/elevator.js
Governance?
A governance model describes the roles that
project participants can take on and the process for
decision making within the project.
In addition, it describes the ground rules for
participation in the project and the processes
for communicating and sharing within the project
team and community.
In other words it is the governance model that
prevents an open source project from
descending into chaos.
Is it really necessary?
Our proposal
Defining and Enforcing Governance Rules
Flickr/WillScullin
What do we propose?
Defining Governance Rules
Defining Governance Rules
Project YOUR_PROJECT {
Roles: Leader, Contributors
Deadlines:
D1 : 7 days
Rules:
R1 : Majority {
applied to Task
when TaskReview
people Leader, Contributors
range Present
minVotes All
deadline D1
}
}
DSL
Verbalization
All proposals for bugs and feature requests will
be accepted or rejected in 7 days by the leader
and the contributors of the project according to a
majority voting process with a 50% of positive
votes. To calculate the ratio, only those votes
issued at the moment of applying the rule will be
counted.
Wizard
What do we propose?
What do we propose?
governance.md
governance.md
Conclusion
- Assessment of the need for mechanisms to facilitate the understanding of
governance in software projects
- Approach to define and enforce governance rules
- Proposal to bring the idea to life (governance.md)
Challenges and innovative aspects
Future vision
- Study usability aspects
- How to specify other rules (e.g., team organization)
- Support for privacy concerns
- Mining existing projects to infer/study their rules
- Empirical evaluation at mid/long term
Thanks!
Javier Luis Cánovas Izquierdo
javier.canovas@inria.fr
@jlcanovas
Jordi Cabot
jcabot@uoc.edu
@softmodeling

Enabling the Definition and Enforcement of Governance Rules in Open Source Systems

  • 1.
    Enabling the Definitionand Enforcement of Governance Rules in Open Source Systems Javier Cánovas, Jordi Cabot ICSE – SEIS conference May 2015
  • 2.
  • 3.
    Examples Why? io.js aims toprovide faster and predictable release cycles. It currently merges in the latest language, API and performance improvements to V8 while also updating libuv and other base libraries. This project aims to continue development of io.js under an "open governance model" as opposed to corporate stewardship. Source: https://iojs.org/en/faq.html
  • 4.
    Examples Source: https://commonspace.wordpress.com/2015/01/26/participationplan/ Mozilla needsa more creative and radical approach to participation in order to succeed. …What’s less clear: what practical steps do we take to supercharge participation at Mozilla? … …we’ve written a first draft Mozilla Participation Plan. This plan is focused on increasing the impact of participation efforts already underway across …
  • 5.
  • 6.
    It’s not sostrange …
  • 7.
    It’s not sostrange …
  • 8.
    It’s not sostrange …
  • 9.
    It’s not sostrange … Tholman/elevator.js
  • 10.
    Governance? A governance modeldescribes the roles that project participants can take on and the process for decision making within the project. In addition, it describes the ground rules for participation in the project and the processes for communicating and sharing within the project team and community. In other words it is the governance model that prevents an open source project from descending into chaos.
  • 11.
    Is it reallynecessary?
  • 12.
    Our proposal Defining andEnforcing Governance Rules Flickr/WillScullin
  • 13.
    What do wepropose?
  • 14.
  • 15.
    Defining Governance Rules ProjectYOUR_PROJECT { Roles: Leader, Contributors Deadlines: D1 : 7 days Rules: R1 : Majority { applied to Task when TaskReview people Leader, Contributors range Present minVotes All deadline D1 } } DSL Verbalization All proposals for bugs and feature requests will be accepted or rejected in 7 days by the leader and the contributors of the project according to a majority voting process with a 50% of positive votes. To calculate the ratio, only those votes issued at the moment of applying the rule will be counted. Wizard
  • 16.
    What do wepropose?
  • 17.
    What do wepropose?
  • 18.
  • 19.
  • 20.
    Conclusion - Assessment ofthe need for mechanisms to facilitate the understanding of governance in software projects - Approach to define and enforce governance rules - Proposal to bring the idea to life (governance.md) Challenges and innovative aspects Future vision - Study usability aspects - How to specify other rules (e.g., team organization) - Support for privacy concerns - Mining existing projects to infer/study their rules - Empirical evaluation at mid/long term
  • 21.
    Thanks! Javier Luis CánovasIzquierdo javier.canovas@inria.fr @jlcanovas Jordi Cabot jcabot@uoc.edu @softmodeling

Editor's Notes

  • #2 Speaker’s presentation
  • #3 Introducting the main topic of the presentation: governance
  • #4 Illustrating the concept with examples involving companies
  • #5 Illustrating the concept with examples involving companies
  • #6 Illustrating the concept with examples involving companies
  • #7 Not only companies, it seems to be quite common not to understand how “normal” projects are governed (e.g., when issues are going to be addressed, etc.)
  • #8 Not only companies, it seems to be quite common not to understand how “normal” projects are governed (e.g., when issues are going to be addressed, etc.
  • #9 Not only companies, it seems to be quite common not to understand how “normal” projects are governed (e.g., when issues are going to be addressed, etc.
  • #10 Not only companies, it seems to be quite common not to understand how “normal” projects are governed (e.g., when issues are going to be addressed, etc.
  • #11 What is governance? Why it enables sustainability?
  • #12 Some motivation about the importance of governance rules (more in the paper)
  • #13 Pause to introduce our proposal
  • #14 First idea: Making explicit governance rules
  • #15 Metamodel/grammar we propose (not intended to be fully explained in the presentation)
  • #16 Notation/syntaxes/wizard to facilitate its definition
  • #17 Second idea: Once we have the governance rules explicitly defined…
  • #18 … we can also enforce them (optionally!)
  • #19 Novel idea: Why not including a governance.md file in each project?
  • #20 This is just example
  • #21 Summary of main challenges/future vision