SlideShare a Scribd company logo
Collaboration Needs of
Massive Open Source
Communities
Angie "@webchick" Byron
(she/her)
Product Manager / Core Maintainer / Community Cat Herder @ Drupal
Drupal Acceleration Team @ Acquia
Background
● 🥳 Established in 2001
● 📈 Powers 13% of the top 10,000
websites, 1.39M+ users
● 🙀 121,000+ contributors (!)
● 🧩 Drupal is a flexible content
management framework
● 😬 As such, we used it in the early
2000s to build our own "GitHub"
● 🦊 Working on moving to vanilla
GitLab
Roles in a "traditional enterprise"
Guest Maintainer Owner
Reporter Developer
● Download
software
● "Me too"
an issue
● Write code
● Run tests
● Review
changes
● All of that, +
● Push to
main
● Release
stuff
● Access
control
● Destroy
things
● Create
issues
● Maintain
issue
metadata
1. 🧳 Contributors are all part of the same organization
2. 💟 Contributors are known, trustworthy, and have good intentions
3. 💰Contributors are paid to give sustained attention to the project
4. 👀 "Outsiders" take from, not give to, the project
Assumptions
Guest Maintainer Owner
Reporter Developer
1. 🌎 All have different organizations (or none) + unique motivations
2. 🕶 Contributors do not (cannot) all know/trust each other
3. 🙌 Most contributors are volunteers, "nights and weekends" time
4. 💪 "Outsiders" are integral to the contribution process
Meanwhile, in
open source...
Guest Maintainer Owner
Reporter Developer
● Maintainer
in Training
● Can give
sign off, but
not merge
● Shows up
once,
never
again
And there are more "roles," as well...
"Drop-In"
Dani
"Life Happens"
Lena
"Provisional"
Pam
● Key
contributor
who
suddenly
vanishes
● Troll
● Tries to
sneak in
malicious
code
"Bad Actor"
Betty
"SPOF" Sally
● The lone,
single person
on this entire
earth who
knows how
something
works
Example: defining an issue @
Reporter
Well-defined issue following project template, clear steps to reproduce,
success criteria, etc.
Maintainer
Reads over the issue summary and then gets to work.
Reporter
Updates issue summary with additional details.
Developer
Posts clarifying information.
Example: defining an issue @
Maintainer
Wastes time wading through 28 comments to figure out what the heck the
problem even is before she can get to work.
"Drop-In"
Dani
Well-defined issue template obliterated, replaced with "it's broken, fix it." :P
27 confused but well-meaning comments posted, trying to figure
out what's going on (possibly including an argument instigated by
"Bad Actor" Betty. :P)
Develo
per
"Bad Actor" Betty
Guest
Figures out the actual problem and details steps to reproduce, but can't
edit issue summary because they're not a "Reporter" (we don't know/trust
them yet) and "Drop-In" Dani (who can edit the original issue) is long gone.
Example: fixing an issue @
Maintainer
Provides useful feedback.
Developer
Creates a merge/pull request for review.
Maintainer
Approves and merges changes.
Developer
Makes updates to the merge/pull request.
Example: fixing an issue @
Maintainer
Maintainer wastes time trying to figure out which version of the fix they
should be reviewing and signing off on, needs to understand discussion in
two places.
Developer #2
Creates a new merge/pull request incorporating Developer #1's feedback,
but is now forking both the solution and the discussion.
"Life Happens"
Lena
Creates a merge/pull request for review.
Developer #1
Provides useful feedback, and proposes a solution. Wants to improve on
Sally's code, but can't update the merge/pull request because it's not
theirs, and they're not a maintainer.
● Issue summaries-as-wikis
○ Provides a single, known place to understand the nuances of an issue/what
remains to be done.
● Per-issue repositories
○ Keeps discussion on solution centralized.
○ Allows anyone to create pull/merge requests, and improve on others'.
● Robust issue classification system
○ Allows "crowd sourcing" issue triage/maintenance
● Contribution credit system
○ Incentivizes organizations to sponsor contributions
○ Upstream issue: https://gitlab.com/gitlab-org/gitlab/-/issues/327138
● … (numerous other things, but we only have 15 mins :)) ...
How do Drupal's bespoke tools handle
these challenges today?
Defining who gets credit for a
contribution
More credits? More perks.
Also, more contributor sustainability.
Path to GitLab? Work in progress.
Have ideas? "At" me: @webchick
Do these points resonate with your
community?
Let's work together to make robust,
sustainable open collaboration tools that
work for everyone! :D
Thanks! :)

More Related Content

PDF
Containers will not fix your broken culture (and other hard truths) - at Agil...
PDF
Cloudy with a chance of devops (devopsdays London)
PPT
Contributing to Drupal
PDF
O'Leary - Using GitHub for Enterprise and Open Source Documentation
KEY
Git on Tracker & Ride the Rails
PDF
How to contribute to large open source projects like Docker (LinuxCon 2015)
PDF
Open-Source Project Tools for Corporate Projects?
PDF
Collaborating on GitHub for Open Source Documentation
Containers will not fix your broken culture (and other hard truths) - at Agil...
Cloudy with a chance of devops (devopsdays London)
Contributing to Drupal
O'Leary - Using GitHub for Enterprise and Open Source Documentation
Git on Tracker & Ride the Rails
How to contribute to large open source projects like Docker (LinuxCon 2015)
Open-Source Project Tools for Corporate Projects?
Collaborating on GitHub for Open Source Documentation

Similar to Collaboration Needs of Massive Open Source Communities (20)

PDF
Git and GitHub for Documentation
PDF
Contributing to Open Source
PDF
I broke what? Taking over maintenance on existing (well loved) projects, by B...
PDF
I broke what?!??!? Taking over maintenance on well loved projects
PPTX
contributing to open source in just about any skill
KEY
Meet ThinkShout, Inc.
PDF
Lessons Learned From Scaling An Open Source Community By 10,000%
PDF
Contributing to Open Source
PDF
Equipment of Contribution
PDF
How to Market Your Open Source Project
PPTX
Collaborating on GitHub for Open Source Documentation
KEY
Project management
ODP
Start Your Own Bug Squad
PPTX
Open source and then some: An Introduction
PDF
The Mercurial SCM
PDF
Dev 2.0 @ OW2: from forge to distributed developer's services, OW2con'12, Paris
 
PDF
Let's talk FOSS!
ODP
Get in Drupal, Get in the community
PDF
Dealing with Contributor Overload - Linux Conf AU Jan 2018
PDF
Self11
Git and GitHub for Documentation
Contributing to Open Source
I broke what? Taking over maintenance on existing (well loved) projects, by B...
I broke what?!??!? Taking over maintenance on well loved projects
contributing to open source in just about any skill
Meet ThinkShout, Inc.
Lessons Learned From Scaling An Open Source Community By 10,000%
Contributing to Open Source
Equipment of Contribution
How to Market Your Open Source Project
Collaborating on GitHub for Open Source Documentation
Project management
Start Your Own Bug Squad
Open source and then some: An Introduction
The Mercurial SCM
Dev 2.0 @ OW2: from forge to distributed developer's services, OW2con'12, Paris
 
Let's talk FOSS!
Get in Drupal, Get in the community
Dealing with Contributor Overload - Linux Conf AU Jan 2018
Self11
Ad

More from Angela Byron (20)

PDF
Webchick's Personal User Manual
PDF
Creating a Project Priority Matrix
PPTX
From Imposter Syndrome to Core Committer: A GSoC Journey
PDF
Tales of Drupal Past: Origin Stories of Contributors
PPTX
The Evolution of Drupal's governance
PDF
Drupal 8 and 9, Backwards Compatibility, and Drupal 8.5 update
PDF
OCTO On-Site Off-Site Update on D8 Roadmap
PPTX
Drupal 9 and Backwards Compatibility: Why now is the time to upgrade to Drupal 8
PPTX
From Troubled Waters to Water Under the Bridge
PDF
Drupal 8 Adoption Myths Debunked
PPTX
Acquia Company Update on Drupal 8.2/8.3/OCTO
PDF
Drupal's competition
PPTX
Drupal 8 Initiatives
PPTX
The potential in Drupal 8.x and how to realize it
PDF
Acquia Drupal 8 Hackathon Demo 2015
PDF
Ux testing recap
PDF
Drupal 8 - Build Week Update
PDF
Plain english guide to drupal 8 criticals
PDF
Evolution of Drupal and the Drupal community
PDF
Drupal 8: A story of growing up and getting off the island
Webchick's Personal User Manual
Creating a Project Priority Matrix
From Imposter Syndrome to Core Committer: A GSoC Journey
Tales of Drupal Past: Origin Stories of Contributors
The Evolution of Drupal's governance
Drupal 8 and 9, Backwards Compatibility, and Drupal 8.5 update
OCTO On-Site Off-Site Update on D8 Roadmap
Drupal 9 and Backwards Compatibility: Why now is the time to upgrade to Drupal 8
From Troubled Waters to Water Under the Bridge
Drupal 8 Adoption Myths Debunked
Acquia Company Update on Drupal 8.2/8.3/OCTO
Drupal's competition
Drupal 8 Initiatives
The potential in Drupal 8.x and how to realize it
Acquia Drupal 8 Hackathon Demo 2015
Ux testing recap
Drupal 8 - Build Week Update
Plain english guide to drupal 8 criticals
Evolution of Drupal and the Drupal community
Drupal 8: A story of growing up and getting off the island
Ad

Recently uploaded (20)

PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
1. Introduction to Computer Programming.pptx
PDF
cuic standard and advanced reporting.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Getting Started with Data Integration: FME Form 101
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Empathic Computing: Creating Shared Understanding
PDF
Electronic commerce courselecture one. Pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Digital-Transformation-Roadmap-for-Companies.pptx
1. Introduction to Computer Programming.pptx
cuic standard and advanced reporting.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Getting Started with Data Integration: FME Form 101
Reach Out and Touch Someone: Haptics and Empathic Computing
A comparative analysis of optical character recognition models for extracting...
Building Integrated photovoltaic BIPV_UPV.pdf
20250228 LYD VKU AI Blended-Learning.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Approach and Philosophy of On baking technology
Empathic Computing: Creating Shared Understanding
Electronic commerce courselecture one. Pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Network Security Unit 5.pdf for BCA BBA.
MYSQL Presentation for SQL database connectivity
Spectral efficient network and resource selection model in 5G networks
SOPHOS-XG Firewall Administrator PPT.pptx

Collaboration Needs of Massive Open Source Communities

  • 1. Collaboration Needs of Massive Open Source Communities Angie "@webchick" Byron (she/her) Product Manager / Core Maintainer / Community Cat Herder @ Drupal Drupal Acceleration Team @ Acquia
  • 2. Background ● 🥳 Established in 2001 ● 📈 Powers 13% of the top 10,000 websites, 1.39M+ users ● 🙀 121,000+ contributors (!) ● 🧩 Drupal is a flexible content management framework ● 😬 As such, we used it in the early 2000s to build our own "GitHub" ● 🦊 Working on moving to vanilla GitLab
  • 3. Roles in a "traditional enterprise" Guest Maintainer Owner Reporter Developer ● Download software ● "Me too" an issue ● Write code ● Run tests ● Review changes ● All of that, + ● Push to main ● Release stuff ● Access control ● Destroy things ● Create issues ● Maintain issue metadata
  • 4. 1. 🧳 Contributors are all part of the same organization 2. 💟 Contributors are known, trustworthy, and have good intentions 3. 💰Contributors are paid to give sustained attention to the project 4. 👀 "Outsiders" take from, not give to, the project Assumptions Guest Maintainer Owner Reporter Developer
  • 5. 1. 🌎 All have different organizations (or none) + unique motivations 2. 🕶 Contributors do not (cannot) all know/trust each other 3. 🙌 Most contributors are volunteers, "nights and weekends" time 4. 💪 "Outsiders" are integral to the contribution process Meanwhile, in open source... Guest Maintainer Owner Reporter Developer
  • 6. ● Maintainer in Training ● Can give sign off, but not merge ● Shows up once, never again And there are more "roles," as well... "Drop-In" Dani "Life Happens" Lena "Provisional" Pam ● Key contributor who suddenly vanishes ● Troll ● Tries to sneak in malicious code "Bad Actor" Betty "SPOF" Sally ● The lone, single person on this entire earth who knows how something works
  • 7. Example: defining an issue @ Reporter Well-defined issue following project template, clear steps to reproduce, success criteria, etc. Maintainer Reads over the issue summary and then gets to work. Reporter Updates issue summary with additional details. Developer Posts clarifying information.
  • 8. Example: defining an issue @ Maintainer Wastes time wading through 28 comments to figure out what the heck the problem even is before she can get to work. "Drop-In" Dani Well-defined issue template obliterated, replaced with "it's broken, fix it." :P 27 confused but well-meaning comments posted, trying to figure out what's going on (possibly including an argument instigated by "Bad Actor" Betty. :P) Develo per "Bad Actor" Betty Guest Figures out the actual problem and details steps to reproduce, but can't edit issue summary because they're not a "Reporter" (we don't know/trust them yet) and "Drop-In" Dani (who can edit the original issue) is long gone.
  • 9. Example: fixing an issue @ Maintainer Provides useful feedback. Developer Creates a merge/pull request for review. Maintainer Approves and merges changes. Developer Makes updates to the merge/pull request.
  • 10. Example: fixing an issue @ Maintainer Maintainer wastes time trying to figure out which version of the fix they should be reviewing and signing off on, needs to understand discussion in two places. Developer #2 Creates a new merge/pull request incorporating Developer #1's feedback, but is now forking both the solution and the discussion. "Life Happens" Lena Creates a merge/pull request for review. Developer #1 Provides useful feedback, and proposes a solution. Wants to improve on Sally's code, but can't update the merge/pull request because it's not theirs, and they're not a maintainer.
  • 11. ● Issue summaries-as-wikis ○ Provides a single, known place to understand the nuances of an issue/what remains to be done. ● Per-issue repositories ○ Keeps discussion on solution centralized. ○ Allows anyone to create pull/merge requests, and improve on others'. ● Robust issue classification system ○ Allows "crowd sourcing" issue triage/maintenance ● Contribution credit system ○ Incentivizes organizations to sponsor contributions ○ Upstream issue: https://gitlab.com/gitlab-org/gitlab/-/issues/327138 ● … (numerous other things, but we only have 15 mins :)) ... How do Drupal's bespoke tools handle these challenges today?
  • 12. Defining who gets credit for a contribution
  • 14. Also, more contributor sustainability.
  • 15. Path to GitLab? Work in progress. Have ideas? "At" me: @webchick Do these points resonate with your community? Let's work together to make robust, sustainable open collaboration tools that work for everyone! :D