Emerging Models for Open Source Contributions

Emerging Models for
Open Source
Contributions
@nayafia for GitHub CodeConf
@nayafia
1980s-late 1990s: BDFL
Late 1990s-mid 2010s: Meritocracy
Mid 2010s-today: Liberal contribution
@nayafia
Different models solve for
different “market” needs
@nayafia
Market = users + contributors
@nayafia
1980s-late 1990s: BDFL
(Linux)
@nayafia
Fewer users, fewer
contributors
@nayafia
The BDFL has benefits:
@nayafia
Centralized leadership and
governance
@nayafia
Centralized roadmap and
direction
@nayafia
But BDFLs are also by
definition less democratic.
@nayafia
And BDFLs made
companies nervous.
@nayafia
Open source needed
company buy-in to
succeed.
@nayafia
Late 1990s-mid 2010s: Meritocracy
(Apache)
@nayafia
Apache flattened the BDFL
model, enabling multiple actors
to participate.
@nayafia
Anyone (with merit) can
contribute
@nayafia
Anyone (with merit) can
vote on decisions
@nayafia
This did wonders for
company buy-in
@nayafia
(And is partially why open source
thrives today)
@nayafia
But there was still friction
in the form of one little
clause:
@nayafia
*with merit
@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
@nayafia
If you wanted to be part of
a meritocracy, you needed
to prove yourself.
@nayafia
And you prove yourself by
spending time on a project.
@nayafia
This makes sense in theory
(only people who’ve
“earned it” get a voice)
@nayafia
But in practice, it favored
those who could “pay [with
time, money] to play”
@nayafia
Mid 2010s-now: Liberal contribution
(Node.js)
@nayafia
More users, more tech
talent than ever before
@nayafia
Git + GitHub made it
easier for anyone to
jump in on projects
@nayafia
49% of ppl on top GitHub
projects only contributed once
@nayafia
More noise from casual
contributors
@nayafia
Under a meritocracy, this
was a bad thing
@nayafia
Casual contributors hadn’t
“earned” their voice
@nayafia
Make them go away!
@nayafia
But some people looked at
casual contributors and saw
an opportunity.
@nayafia
Instead of tuning out the noise,
Node.js decided to harness and
redirect it
@nayafia
Dropped their CLA
requirement
@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
@nayafia
Adopted a liberal
contribution policy
@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
@nayafia
And some fun things
started to happen:
@nayafia
Way more contributions*
* oh yeah there was a fork
@nayafia
Free marketing:
contributors
became WOM
ambassadors
@nayafia
Attracted new perspectives,
skills, backgrounds
@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
@nayafia
Awesome!
@nayafia
Another example of
liberal contribution
model: Rust
@nayafia
Rust went from BDFL (2010) ->
core team (2013) -> federated
structure (2015)
@nayafia
Rust has 1200+ contributors, many of
whom make regular contributions
@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
@nayafia
Some patterns for liberal
contribution models:
@nayafia
1/ Floodgates, not bottlenecks
@nayafia
2/ “Consensus seeking” (discuss major
concerns) rather than “consensus” (pure
vote)
@nayafia
3/ Meet contributors where they
are
@nayafia
4/ Default to yes
@nayafia
Putting it all together
@nayafia
Do BDFLs still matter?
@nayafia
Yes!
@nayafia
Some centralization is important,
especially in early stage
@nayafia
BFDLs can help incubate a
project, set vision, and reduce
noise early on
@nayafia
As project matures, liberal
contribution models can help
with growth
@nayafia
Project trajectory might look like this:
@nayafia
Rust, Django, Node started with a
BDFL, then transitioned out when
community got big enough
@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
@nayafia
Do BDFLs work as a long-term
strategy?
@nayafia
Clojure uses a
BDFL model
@nayafia
Most Clojure contributions made by
a few people
@nayafia
Clojure is sustainably
supported by Cognitect
@nayafia
BDFL for the long term still
requires “getting lucky”
@nayafia
In the absence of a benefactor, the
liberal contribution model is a
pretty good hack to reduce
maintainer burden.
@nayafia
Will it work for everyone?
@nayafia
Still too early to tell
@nayafia
Not every project will fit into this
model
@nayafia
Highly dependent upon
community and culture
@nayafia
But liberal contribution models
give us a framework for what
sustainability could look like
@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
1 of 75

Recommended

Rebuilding the cathedral by
Rebuilding the cathedralRebuilding the cathedral
Rebuilding the cathedralNadia Eghbal
2.3K views64 slides
Emerging Models- Reaching the Hard to Reach and Underserved by
Emerging Models- Reaching the Hard to Reach and UnderservedEmerging Models- Reaching the Hard to Reach and Underserved
Emerging Models- Reaching the Hard to Reach and UnderservedLaShannon Spencer
153 views30 slides
Lançamentos outubro das editoras Arqueiro e Sextante by
Lançamentos outubro das editoras Arqueiro e SextanteLançamentos outubro das editoras Arqueiro e Sextante
Lançamentos outubro das editoras Arqueiro e SextanteClaudia Valeria Ortega
341 views12 slides
Lançamentos de Junho das editoras Arqueiro e Sextante by
Lançamentos de Junho das editoras Arqueiro e SextanteLançamentos de Junho das editoras Arqueiro e Sextante
Lançamentos de Junho das editoras Arqueiro e SextanteClaudia Valeria Ortega
565 views16 slides
Emerging reading models by
Emerging reading modelsEmerging reading models
Emerging reading modelsRose Anne Catherine Magdalita
5.6K views4 slides
Emerging reading models by
Emerging reading modelsEmerging reading models
Emerging reading modelsLovi Zen
8.1K views23 slides

More Related Content

Similar to Emerging Models for Open Source Contributions

Community building lessons from Ansible by
Community building lessons from AnsibleCommunity building lessons from Ansible
Community building lessons from AnsibleGreg DeKoenigsberg
468 views40 slides
New Media New Audiences: How to work the Pyramid of Engagement by
New Media New Audiences:  How to work the Pyramid of EngagementNew Media New Audiences:  How to work the Pyramid of Engagement
New Media New Audiences: How to work the Pyramid of EngagementLance Dann
951 views25 slides
The Evolution of Drupal's governance by
The Evolution of Drupal's governanceThe Evolution of Drupal's governance
The Evolution of Drupal's governanceAngela Byron
715 views37 slides
Smart growth citizenship by
Smart growth citizenshipSmart growth citizenship
Smart growth citizenshipAmerican Institute of Architects
718 views205 slides
SFScon 2020 - Antonio Nardella - A FOSS Community Management Toolbox by
SFScon 2020 - Antonio Nardella - A FOSS Community Management ToolboxSFScon 2020 - Antonio Nardella - A FOSS Community Management Toolbox
SFScon 2020 - Antonio Nardella - A FOSS Community Management ToolboxSouth Tyrol Free Software Conference
53 views13 slides
Open Source and the Girl Geek (English) by
Open Source and the Girl Geek (English)Open Source and the Girl Geek (English)
Open Source and the Girl Geek (English)Girl Geek Dinners Milano
1.4K views62 slides

Similar to Emerging Models for Open Source Contributions(20)

New Media New Audiences: How to work the Pyramid of Engagement by Lance Dann
New Media New Audiences:  How to work the Pyramid of EngagementNew Media New Audiences:  How to work the Pyramid of Engagement
New Media New Audiences: How to work the Pyramid of Engagement
Lance Dann951 views
The Evolution of Drupal's governance by Angela Byron
The Evolution of Drupal's governanceThe Evolution of Drupal's governance
The Evolution of Drupal's governance
Angela Byron715 views
State of CC Usability and User Research (GS 2019) by Jane Park
State of CC Usability and User Research (GS 2019)State of CC Usability and User Research (GS 2019)
State of CC Usability and User Research (GS 2019)
Jane Park1.5K views
2012 02 Gnunify - 7 lessons from mozilla by Gen Kanai
2012 02 Gnunify - 7 lessons from mozilla2012 02 Gnunify - 7 lessons from mozilla
2012 02 Gnunify - 7 lessons from mozilla
Gen Kanai6.4K views
What every successful open source project needs by Steven Francia
What every successful open source project needsWhat every successful open source project needs
What every successful open source project needs
Steven Francia17.7K views
diversitytech: diversity as a source of technological innovation by Jessica Faye Carter
diversitytech: diversity as a source of technological innovationdiversitytech: diversity as a source of technological innovation
diversitytech: diversity as a source of technological innovation
GOTO CPH "With Age Comes Wisdom (Hopefully): Lessons Learned from 15 Years of... by Daniel Bryant
GOTO CPH "With Age Comes Wisdom (Hopefully): Lessons Learned from 15 Years of...GOTO CPH "With Age Comes Wisdom (Hopefully): Lessons Learned from 15 Years of...
GOTO CPH "With Age Comes Wisdom (Hopefully): Lessons Learned from 15 Years of...
Daniel Bryant358 views
How to scale an open data hack by lukec
How to scale an open data hackHow to scale an open data hack
How to scale an open data hack
lukec524 views
Empowering the hacker in us: a comparison of fab lab and hackerspace ecosystems by Cameron Guthrie
Empowering the hacker in us: a comparison of fab lab and hackerspace ecosystemsEmpowering the hacker in us: a comparison of fab lab and hackerspace ecosystems
Empowering the hacker in us: a comparison of fab lab and hackerspace ecosystems
Cameron Guthrie738 views
Navigating open source by Cheryl Hung
Navigating open sourceNavigating open source
Navigating open source
Cheryl Hung87 views

Recently uploaded

DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ... by
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...Deltares
10 views32 slides
Programming Field by
Programming FieldProgramming Field
Programming Fieldthehardtechnology
5 views9 slides
Advanced API Mocking Techniques by
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking TechniquesDimpy Adhikary
19 views11 slides
Generic or specific? Making sensible software design decisions by
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsBert Jan Schrijver
6 views60 slides
Dapr Unleashed: Accelerating Microservice Development by
Dapr Unleashed: Accelerating Microservice DevelopmentDapr Unleashed: Accelerating Microservice Development
Dapr Unleashed: Accelerating Microservice DevelopmentMiroslav Janeski
10 views29 slides
Headless JS UG Presentation.pptx by
Headless JS UG Presentation.pptxHeadless JS UG Presentation.pptx
Headless JS UG Presentation.pptxJack Spektor
7 views24 slides

Recently uploaded(20)

DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ... by Deltares
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...
Deltares10 views
Advanced API Mocking Techniques by Dimpy Adhikary
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking Techniques
Dimpy Adhikary19 views
Generic or specific? Making sensible software design decisions by Bert Jan Schrijver
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
Dapr Unleashed: Accelerating Microservice Development by Miroslav Janeski
Dapr Unleashed: Accelerating Microservice DevelopmentDapr Unleashed: Accelerating Microservice Development
Dapr Unleashed: Accelerating Microservice Development
Miroslav Janeski10 views
Headless JS UG Presentation.pptx by Jack Spektor
Headless JS UG Presentation.pptxHeadless JS UG Presentation.pptx
Headless JS UG Presentation.pptx
Jack Spektor7 views
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -... by Deltares
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
Deltares6 views
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema by Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - GeertsemaDSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
Deltares17 views
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs by Deltares
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
Deltares8 views
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated... by TomHalpin9
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
TomHalpin95 views
FIMA 2023 Neo4j & FS - Entity Resolution.pptx by Neo4j
FIMA 2023 Neo4j & FS - Entity Resolution.pptxFIMA 2023 Neo4j & FS - Entity Resolution.pptx
FIMA 2023 Neo4j & FS - Entity Resolution.pptx
Neo4j6 views
DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h... by Deltares
DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h...DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h...
DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h...
Deltares5 views
AI and Ml presentation .pptx by FayazAli87
AI and Ml presentation .pptxAI and Ml presentation .pptx
AI and Ml presentation .pptx
FayazAli8711 views
Copilot Prompting Toolkit_All Resources.pdf by Riccardo Zamana
Copilot Prompting Toolkit_All Resources.pdfCopilot Prompting Toolkit_All Resources.pdf
Copilot Prompting Toolkit_All Resources.pdf
Riccardo Zamana8 views
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... by Marc Müller
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Marc Müller37 views
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge... by Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
Deltares17 views

Emerging Models for Open Source Contributions