If you can't read please download the document
Upload
osswatch
View
358
Download
1
Embed Size (px)
Citation preview
Slide 1
Project Governance
[email protected]@marxjohnson
In this session
What are governace models? Why are they important in FOSS projects?
Varieties of Governence models
Contribution management styles
Reflection on your own governance model
* The rules and roles involved in making descisions within a project* What kind of decisions? * How people lose and gain power * How IP is managed, how management might change (copyright assignment? CLAs?) * How roadmaps are set * How to determine whether an issue has been closed. Also when it warrants re-opening (method of appeal?)* Important to give a project stability, and thus sustainability * Allows potential contributors to understand how to engage * Describes he QA process to give users confidence in the project's outputs * Ensures that overall control is maintained, but can provide a framework for transition if required. * Attitude to forking? * Try to keep everyone happy by being inclusive of as many ideas as possible * Encourage forking this may actually put people off doing it due to the effort required* Provides a framework to ensure that the projects goals are met, e.g. commercial success, or just wide use * What are the metrics by which this is measured? * How are they fed back?
What's Governance?
The roles and processes for decision making within a project
Gardler, R. Hanganu, G. et al Governance Models
Informs potential contributors
Assures potential users
Helps build sustainability
Retains Control
Helps the project achieve its goals
* The rules and roles involved in making descisions within a project* What kind of decisions? * How people lose and gain power * How IP is managed, how management might change (copyright assignment? CLAs?) * How roadmaps are set * How to determine whether an issue has been closed. Also when it warrants re-opening (method of appeal?)* Important to give a project stability, and thus sustainability * Allows potential contributors to understand how to engage * Describes he QA process to give users confidence in the project's outputs * Ensures that overall control is maintained, but can provide a framework for transition if required. * Attitude to forking? * Try to keep everyone happy by being inclusive of as many ideas as possible * Encourage forking this may actually put people off doing it due to the effort required* Provides a framework to ensure that the projects goals are met, e.g. commercial success, or just wide use * What are the metrics by which this is measured? * How are they fed back?
Governance in Ubuntu
http://www.ubuntu.com/about/about-ubuntu/governance
Ensures...
There is a defined process that helps people contribute
Decisions are taken in a fair and transparent manner
Necessary decisions are taken, even when there's no clear consensus. There's also a clear path for appeal.
What's Governance?
For example, Ubuntu's governance model seeks to ensure that:* There is a defined process that helps people contribute to decisions regarding the Ubuntu community and distribution. It should be clear who is responsible for any given decision, and how others might contribute to the making of it.* Decisions regarding the Ubuntu distribution and community are taken in a fair and transparent fashion.* Necessary decisions are actually taken, even when there is no clear consensus among the community. There is a clear path for the appeal or escalation of a decision when necessary.
Styles of Governance
BenevolentDictatorship
Meritocracy
(Formal)
Basically 2 styles of governance Benevolent Dictatorship and MeritocracyWhile FOSS projects that are controlled by a sponsoring organisation might not be, Open development projects are meritocratic in nature, so "Formal Meritocracy" might be more appropriateIt's not a switch where you have to pick one or the other, it's more like a scale where you need to find the right balance for your project and community.
Benevolent Dictator
Gardler, R and Hanganu, G. et al - Benevolent dictator governance model
Folgel, K. - Producing Open Source Software
* There's no process for changing the leadership of the project, save for forking * The Dictator may have "leuitentants" that he or she consults * Quality developers must still have some influence, otherwise they'll leave *Folgel*
* The "Benevolent" part is important, people have to like or at least repect you. No successful FOSS community project is a Malevolent Dicatatorship. If your community doesn't like how you're managing the project, they'll leave or fork it. * Ensures decisions are made as one person has the final say
Sensitivity to your own influence
Letting people air ideas (even stupid ones)
Ability to acknowledge own mistakes
Ability to recognise good design
Personality
Folgel, K.
Qualities of a Benevolent Dictator
* What makes a good benevolent dictator * Sensitivity to your own influence, and thus self-restraint * Letting people air ideas, even stupid ones * Ability to acknlowledge stupid ideas * Ability to recognise good design, not necessarily do it yourself* Personality matters, you need to be likeable? Entertaining? Philanthropic? * This often means avoiding being a dick * Torvalds argues against this
Linus's take on being nice
"If you want me to "act professional", I can tell you that I'm not interested. I'm sitting in my home office wearign [sic] a bathrobe. The same way I'm not going to start wearing ties, I'm *also* not going to buy into the fake politeness, the lying, the office politics and backstabbing, the passive aggressiveness, and the buzzwords. Because THAT is what "acting professionally" results in: people resort to all kinds of really nasty things because they are forced to act out their normal urges in unnatural ways."
Meritocracy
"Power for those who earn it"
Meritocracy
Gardler, R and Hanganu, G. et al Meritocratic governance model
Helen contributes work to the projectHelen gains respect from peersRespect gives Helen'svoice more weight indiscussionsHelen is elected orappointed to a leadershipposition
* People earn respect from the community by contributing to the project * As respect is earned (social capital is accrued), the contributor's voice carries more weight in discussions * The contributor may be appointed or elected by the community to a leadership position, or simply given commit rights
Inclusive Equality of opportunity
Operates on consensus rather than votes
"Lazy Consensus" helps expedite non-controversial decisions
Meritocracy
Ubuntu Striking a balance
Read the Ubuntu Governance documentation http://oss.ly/ubuntu
What are the roles?
How are decisions made?
Is it a Benevolent Dictatorship or a Meritocracy?
Project Management
Raymond, E. - The Cathedral and the Bazaar
The Cathedral and the Bazaar Eric Raymond explores models of managing communities and soliciting engagements, particularly contrasting development of GNU Emacs with that of the Linux kernel.
Cathedral
Small group of experts
Infrequent release cycle
Heavily tested
Contributions subject to
heavy review
* A small core of highly committed contributors * Code developed within the core * Infrequent releases, heavily tested in private * Outside contributions might be accepted but only with heavy review
Bazaar
Larger, less formal group
"Release Early, Release Often"
"With enough eyes, all bugs are shallow"
Responsive to user and tester feedback
* A large group of contributors with various levels of commitment * Contributions welcome from all * Parallises problem solving - "With enough eyes, all bugs are shallow" * More frequent, less tested releases - "Release early, release often" * "Stable" release supported for longer, "beta" releases made freqently * Responsive to user and tester feedback
BenevolentDictator
FormalMeritocracy
Cathedral
Bazaar
Less open toparticipatory governance
More open toparticipatory governance
Less opento externalcontribution
More opento externalcontribution
GNU Emacs
Ubuntu
Apache HTTPD
Apache OODT
Linux
* You cannot initiate a project Bazaar-style * You need to present a plausible promise to encourage users, testers, and contributors to get involved. * You need to have something *runnable* to demonstrate this - not necessarily *complete* or *working* * The leadership needs to recognise good designs from others* Most projects will start in the bottom-left of the graph, and may move up or right as they mature* GNU Emacs Raymond's classic Cathedral (up until c. 2008) vs Linux, the classic Bazzar* Top-level ASF projects follow Meritocratic governance * HTTPD follows a more bazaar-style model of soliciting patches from all comers * OODT is more cautious and considered focus on quality over speed, development docs are there to reassure users, not bring in more developers* Ubuntu is somewhere in the middle Dictatorship with clear meritocratic elements, welcoming (and sometimes reliant) on contrib, but very top-down on wider architecture decisions.* Your choice of development model may inform your choice of tools - It's no coincidence that Git supports the Bazaar style of working
Activity
As a group, identify the roles within your project's governance structure
Who has the final say in decisions?
Discuss where your project sits on the graph.
How do you communicate this information to your community and potential contributors? How could this be improved?
Summary
Governance is important to define and communicate how your project operates
You need to strike the right balances to retain the right amount of control while inviting the right amount of contribution
There's no "one true way", it depends on your project's goals
Communicating your governance model effectively is important for managing the expectations of contributors
Questions?
Cathedral, Frankfurt by Brian Burger
http://www.flickr.com/photos/wirelizard/1414035429/Istanbul - Grand
Bazaar by Roger Woolstadt
http://www.flickr.com/photos/24736216@N07/3498051077
Saint IGNUcius speaking by Beatrice Murch
http://www.flickr.com/photos/blmurch/3001698026/
P1010100 by dazfuller
http://www.flickr.com/photos/68293811@N00/4043153407
Image Credits
References
Gardler, R and Hanganu, G. et al (2013) Governance Modelshttp://www.oss-watch.ac.uk/resources/governanceModels
Gardler, R. and Hanganu, G. et al (2013) Benevolent Dictator
Governance Model
http://www.oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel
Gardler, R. and Hanganu, G. et al (2013) Meritocratic Governance
Model
http://www.oss-watch.ac.uk/resources/meritocraticGovernanceModel
Fogel, K. (2005) "What makes a good benevolent dictator?"
Producing Open Source Software
http://producingoss.com/html-chunk/social-infrastructure.html#benevolent-dictator
Raymond, E. (2000) The Cathedral and the Bazaar
http://catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/
Canonical Ltd. Governance
http://www.ubuntu.com/about/about-ubuntu/governance
Linux Namesake argues in favour of being a jerkhttp://www.escapistmagazine.com/forums/read/7.822248-Linux-Namesake-Argues-In-Favor-Of-Being-A-Jerk