TYPO3 Communications Workshop: Governance

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