An overview of historic models used to manage open source projects, where the world might be going, and why it matters.
From a GitHub CodeConf talk in Los Angeles, June 29 2016.
FOOTNOTES
Slide 21: http://www.apache.org/foundation/how-it-works.html
Slide 29: http://gustavopinto.org/lost+found/saner2016.pdf
Slide 37: https://www.joyent.com/blog/broadening-node-js-contributions
Slides 39 and 44: https://medium.com/node-js-javascript/building-a-better-node-community-3f8f45b45cb5#.b2ebksumt
Slide 48: Graph made based on data from https://github.com/rust-lang/rust/graphs/contributors
Slide 49: https://github.com/rust-lang/rfcs/blob/master/text/1068-rust-governance.md
Slide 63: https://jacobian.org/writing/retiring-as-bdfls/
Slide 66: Graph made based on data from https://github.com/clojure/clojure/graphs/contributors
21. @nayafia
“When the group felt that the person had "earned" the merit to be part of the
development community, they granted direct access to the code repository….
We call this basic principle "meritocracy": literally, government by merit….
The group was happy to have new people coming in and help, they were only filtering
the people that they believed committed enough for the task and matched the
human attitudes required to work well with others, especially in disagreement.”
Apache Software Foundation
37. @nayafia
“...while I believe these constructs to be well-intended...
Even at their very best, CLAs...seem like asking people to go
to the dentist before their pull request can be considered.”
Bryan Cantrill, Joyent
39. @nayafia
“Getting people to contribute is hard,
When you distribute ownership people contribute more,
And if anyone does something wrong,
Git is good at removing things.”
Mikeal Rogers, Node.js
44. @nayafia
“People need to be enabled to do good work.
When you make it clear and obvious what they can do,
More people will do,
And they won’t be people just like you.”
Mikeal Rogers, Node.js
49. @nayafia
“To the extent practical, we should include a diverse range of
perspectives in both design and decision-making, and
especially include people who are most directly affected by
decisions: users.”
Aaron Turon, Rust
63. @nayafia
“Kings, presidents, and BDFLs have their place,
and there are models of community that are
aided by having them. But the longer I observe
the Django community, the more I realize that
our community doesn’t need them.”
Jacob Kaplan-Moss, Django
75. @nayafia
Questions?
Special thanks to @mikeal for making this talk suck less , as well as @steveklabnik and
@puredanger for their valuable perspectives on Rust and Clojure