diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml index 680f7112d..33dcd9f76 100644 --- a/.github/workflows/preview.yml +++ b/.github/workflows/preview.yml @@ -150,6 +150,7 @@ jobs: cp -r dist/client/screenshots "${PREVIEW_DIR}/" cp -r dist/client/deck "${PREVIEW_DIR}/" cp -r dist/client/deck-template "${PREVIEW_DIR}/" + cp -r dist/client/open-source-communities "${PREVIEW_DIR}/" find dist/client -maxdepth 1 -type f \( -name "*.svg" -o -name "*.png" -o -name "*.ico" -o -name "*.webmanifest" -o -name "*.webp" \) -exec cp {} "${PREVIEW_DIR}/" \; cp "${PREVIEW_DIR}/index.html" "${PREVIEW_DIR}/404.html" diff --git a/public/downloads/Guntupalli_Sinduri_260706.pdf b/public/downloads/Guntupalli_Sinduri_260706.pdf new file mode 100644 index 000000000..85901ee73 Binary files /dev/null and b/public/downloads/Guntupalli_Sinduri_260706.pdf differ diff --git a/public/open-source-communities/Lexend-Black.woff2 b/public/open-source-communities/Lexend-Black.woff2 new file mode 100644 index 000000000..583820c6d Binary files /dev/null and b/public/open-source-communities/Lexend-Black.woff2 differ diff --git a/public/open-source-communities/Lexend-Bold.woff2 b/public/open-source-communities/Lexend-Bold.woff2 new file mode 100644 index 000000000..dad8b9df5 Binary files /dev/null and b/public/open-source-communities/Lexend-Bold.woff2 differ diff --git a/public/open-source-communities/Lexend-Regular.woff2 b/public/open-source-communities/Lexend-Regular.woff2 new file mode 100644 index 000000000..b454f26d5 Binary files /dev/null and b/public/open-source-communities/Lexend-Regular.woff2 differ diff --git a/public/open-source-communities/Lexend-SemiBold.woff2 b/public/open-source-communities/Lexend-SemiBold.woff2 new file mode 100644 index 000000000..1376230e7 Binary files /dev/null and b/public/open-source-communities/Lexend-SemiBold.woff2 differ diff --git a/public/open-source-communities/challenges-grid.jpeg b/public/open-source-communities/challenges-grid.jpeg new file mode 100644 index 000000000..6aac81e1c Binary files /dev/null and b/public/open-source-communities/challenges-grid.jpeg differ diff --git a/public/open-source-communities/first-contribution-screenshot.png b/public/open-source-communities/first-contribution-screenshot.png new file mode 100644 index 000000000..bd83ece9b Binary files /dev/null and b/public/open-source-communities/first-contribution-screenshot.png differ diff --git a/public/open-source-communities/gif-fallback-1.jpeg b/public/open-source-communities/gif-fallback-1.jpeg new file mode 100644 index 000000000..dd2fe3215 Binary files /dev/null and b/public/open-source-communities/gif-fallback-1.jpeg differ diff --git a/public/open-source-communities/gif-fallback-2.webp b/public/open-source-communities/gif-fallback-2.webp new file mode 100644 index 000000000..c3d401425 Binary files /dev/null and b/public/open-source-communities/gif-fallback-2.webp differ diff --git a/public/open-source-communities/gif-fallback-3.webp b/public/open-source-communities/gif-fallback-3.webp new file mode 100644 index 000000000..3cc552e58 Binary files /dev/null and b/public/open-source-communities/gif-fallback-3.webp differ diff --git a/public/open-source-communities/gif-fallback-4.jpeg b/public/open-source-communities/gif-fallback-4.jpeg new file mode 100644 index 000000000..d28ed0377 Binary files /dev/null and b/public/open-source-communities/gif-fallback-4.jpeg differ diff --git a/public/open-source-communities/index.html b/public/open-source-communities/index.html new file mode 100644 index 000000000..85abebe96 --- /dev/null +++ b/public/open-source-communities/index.html @@ -0,0 +1,1586 @@ + + + + + Open Source Is Not Just Code - Sinduri Guntupalli + + + + + + + + +
+
+ + +
+
+

Open Source Is Not Just Code

+

Designing Communities That Actually Scale

+

Sinduri Guntupalli

+

Press S for speaker notes

+
+ +
+ + +
+
+ speaker +

About Me

+
+
+
+
+
Sinduri Guntupalli
+
+

Sinduri Guntupalli

+

Sr Developer Programs Engineer,
OSPO team at Dynatrace

+
+
+
+
+
+ + 5.5 years in Drupal: developer, then Product Manager +
+
+ + Volunteer organizer across Drupal Austria, Drupal Switzerland, and beyond +
+
+ + Open Source Program Office team at Dynatrace +
+
+ + Building OffOn.dev, a vendor-neutral community to sustain open source contributors and grow the maintainers of tomorrow +
+
+
+ +
+ + +
+
+ why this matters +

Open Source Runs Everything

+
+
+
+

Linux

+

Most servers, the cloud, and every Android phone.

+
+
+

Git

+

Version control behind nearly all software.

+
+
+

curl

+

Moves data inside cars, TVs, phones, and servers.

+
+
+

OpenSSL

+

Secures a huge share of web traffic.

+
+
+

Python

+

Powers data work and most of modern AI.

+
+
+

Kubernetes

+

Runs cloud infrastructure at scale.

+
+
+

Most of the open source projects are maintained by small teams, often unpaid volunteers.

+ +
+ + +
+
+
Part 1
+
1
+

The Burden

+
+

Most projects don't fail on code. They fail under invisible weight.

+
+ +
+ + +
+
+ context +

The Comfortable Myth

+
+
+ + The myth: success comes from code quality +
+
+ + Just ship better code, and the rest follows +
+
+ + Mostly wrong +
+ +
+ + +
+
+ reality +

What Actually Kills Projects

+
+
+ + Unclear contribution paths +
+
+ + Expectations never written down +
+
+ + A few absorb all the pressure +
+
+ + Fragile, then it stalls +
+ + +
+ + +
+
+ reframe +

A Socio-Technical System

+
+
+ + A socio-technical system +
+
+ + Code and community are one system +
+
+ + Community design matters as much as code +
+ +
+ + +
+
+ problem +

The Maintainer Trap

+
+
+ + Work piles onto a few people +
+
+ + The hero maintainer burns out +
+
+ + A single point of failure is a design flaw +
+
+

A Good Model: Rust

+

Topic-focused teams (compiler, language, libraries, tooling, infrastructure) each own their area independently. A leadership council coordinates across teams. Ownership is spread by design, so no single person carries the whole project.

+
+ +
+ + +
+
+
Part 2
+
2
+

The Fellowship

+
+

The work is too much for one person. It has to be shared.

+
+ +
+ + +
+
+
+ framework +

Six Pillars That Decide Whether a Project Lasts

+
+ +
+
+
+

Governance

+

Who decides, and how. Make decision-making explicit before you need it.

+
+
+

Contributor Experience

+

How easy and rewarding it is to help. Lower the cost of showing up.

+
+
+

Recognition

+

Whether people's work is seen and valued. Most community labor is invisible.

+
+
+

Local Community

+

Where belonging actually forms. Global projects still need local homes.

+
+
+

Communication

+

Whether people can explain what it solves, and why. This is how a project gets known.

+
+
+

Funding and Sponsorship

+

Whether the work is paid for. Time is never really free.

+
+
+ +
+ + +
+
+ pillar 1 +

Governance

+
+
+ + Decide how you will decide, early +
+
+ + Put shared functions under a neutral body +
+
+ + Spread maintainer roles across people +
+
+ + Give conflict a clear path +
+
+ + Pick a model: BDFL, council, or foundation. Big projects layer several +
+
+ + Single-company control is the opposite: one owner, not a neutral body +
+
+

A Good Model: Apache Software Foundation

+

The PMC elects committers on merit. Individuals represent themselves, not employers. Decisions happen in the open: if it wasn't recorded, it didn't happen.

+
+ +
+ + +
+
+ pillar 1 · governance · code of conduct +

A Code of Conduct

+
+
+ + Explicit rules, not vague good vibes +
+
+ + Name what is not acceptable: harassment, discrimination, personal attacks, sustained disruption +
+
+ + Rules only matter if they are enforced +
+
+

A Good Model: Contributor Covenant

+

A widely adopted code of conduct. Clear expected behavior, clear unacceptable behavior, and a path to report and enforce.

+
+ +
+ + +
+
+ pillar 2 +

Contributor Experience

+
+
+
+ + Lower the cost of a first contribution +
+
+ + Give newcomers a clear place to start +
+
+ + Visible path to trusted contributor +
+
+ + If it is confusing, they quietly leave +
+
+

A Good Model: Kubernetes

+

Published contributor ladder: from member to approver, with clear expectations at each step. Good first issues, mentoring cohorts, and a graceful way to step back.

+
+
+ +
+ + +
+
+
+
+ pillar 2 · from experience +

My First Contribution

+
+
+ + 2021, during Covid, new to the community +
+
+ + 45 min just to open the issue, scared of being judged +
+
+ + Nobody judged. Community was welcoming +
+

drupal.org/node/3227702

+
+
+ My first Drupal issue, 2021 +
+
+ +
+ + +
+
+ pillar 3 +

Recognition

+
+
+ + Most labor is invisible: review, triage, docs, mentoring +
+
+ + Invisible work gets undervalued +
+
+ + Record who did the work, sponsors included +
+
+

A Good Model: Drupal Contribution Credit System

+

A public record of who did what, across code and the invisible work. Contribution becomes visible instead of assumed.

+
+ +
+ + +
+
+ pillar 3 +

Why Recognition Changes Behavior

+
+
+ + Tie recognition to real work +
+
+ + Companies get visible standing for what they fund +
+
+ + It becomes routine, not a favor +
+
+

When a company treats contribution as part of the actual work, with real time and budget behind it, the alignment becomes real and it lasts. Good incentive design beats good intentions every time.

+
+ +
+ + +
+
+ pillar 4 +

Local Community

+
+
+
+ why it matters +
Global projects need local belonging
+
Pair global events with local ones
+
"Come for the code, stay for the community"
+
+
+ at a local event +
Mentorship workshops for first-timers
+
Contribution rooms to work together
+
Student workshops: Drupal in a Day
+
+
+
+

A Good Model: Drupal

+

DrupalCon globally, local volunteer-run camps, small and accessible by design. That's where new people get pulled in and where most new organizers learn the ropes.

+
+ +
+ + +
+
+ pillar 5 +

Communication

+
+
+ + Open source projects need people who can explain what problem it solves and why +
+
+ + Great code that nobody understands stays unused +
+
+ + Especially important early, to make a project known +
+
+ + Docs, tutorials, blogs, videos, talks, case studies +
+ +
+ + +
+
+ pillar 6 +

Funding and Sponsorship

+
+
+ + Time is not free. Someone pays, in money or unpaid hours +
+
+ + Sustainable funding keeps maintainers from burning out +
+
+ + Fund the boring, critical work, not just features +
+
+ + Not a prerequisite. It matters once others depend on you +
+
+

A Good Model: Django

+

The Django Software Foundation pays Fellows to do the unglamorous maintenance: triage, reviews, releases, and security. Routes to fund this: Open Collective, GitHub Sponsors, Patreon, Tidelift, and the Sovereign Tech Fund.

+
+ +
+ + +
+
+ how to tell +

Signals of a Healthy Community

+
+
+ + Bus factor: how many can leave before it stalls +
+
+ + Time to first response on issues and pull requests +
+
+ + Retention: do first-time contributors come back +
+
+ + Is the maintainer count growing, flat, or shrinking +
+

These tell you if the pillars are working, or just look good on paper.

+ +
+ + +
+
+
Part 3
+
3
+

The Road Ahead

+
+

What to prioritize, what AI changes, and what you can actually do.

+
+ +
+ + +
+
+ priorities +

What to Do Now vs Later

+
+
+
+ optimize early +
Clear contribution paths
+
Explicit, written expectations
+
Distributing authority early
+

Cheap now. Expensive to fix later.

+
+
+ safe to delay +
Heavy formal governance
+
Complex tooling and automation
+
Over-structuring small communities
+

Heavy process on a tiny project can strangle it before it grows.

+
+
+ +
+ + +
+
+ nuance +

Good Advice Needs the Right Partner

+
+
+
+

"Be welcoming to everyone"

+

Works when paired with triage, so maintainers can keep up.

+
+
+

"Move fast"

+

Works when paired with transparency, so contributors can follow the changes and not get blindsided.

+
+
+

"Document everything"

+

Works when paired with clear ownership, so the docs stay current.

+
+
+

Context decides whether a practice helps. The practices aren't the problem; the pairing is.

+ +
+ + +
+
+ the ai question +

Help and Hazard

+
+
+
+ where ai helps +
Lowers the barrier to a first contribution
+
Speeds up docs, translation, and issue triage
+
Could ease the "privilege of free time" open source depends on
+
+
+ where ai strains +
Low-effort contributions can overwhelm reviewers
+
The cost shifts from author to maintainer
+
Access is unequal. AI can become a new privilege.
+
+
+
+

AI doesn't replace community design. It raises the stakes. Share the cost and skill. Build it into contributor experience.

+
+ +
+ + +
+
+ the ai question · in practice +

When AI Becomes Slop

+
+
+ + Low-effort AI output lands as real work for maintainers +
+
+ + Bogus AI security reports flood small volunteer teams +
+
+ + Seconds to generate, hours to debunk +
+
+ + The cost lands on the reviewer, not the author +
+
+

Example: curl

+

curl was flooded with AI-generated security reports. By 2025 about 1 in 5 submissions was slop, and the genuine rate fell below 5%. The team shut down its paid bug bounty to stop the noise. The Python Software Foundation and Open Collective hit the same wall.

+
+ +
+ + +
+
+ mental model +

Thrive vs Decay

+
+
+
+ thriving projects +
Share decisions
+
Make it easy to help
+
Recognize the work
+
Build local belonging
+
Communicate the why
+
Fund the work
+
+
+ decaying projects +
Concentrate decisions
+
Leave contributors guessing
+
Let invisible work go unseen
+
Stay purely global
+
Stay hard to understand
+
Rely on unpaid time
+
+
+

The drift is slow and quiet. That's exactly why it's easy to miss.

+ +
+ + +
+
+ your turn +

What You Can Realistically Influence

+
+

You don't need to be a maintainer, or even a contributor. If you care about open source, any of these help.

+
+ + Document one unclear process +
+
+ + Review a first contribution +
+
+ + Credit invisible work out loud +
+
+ + Help one local event +
+
+ + Fund a project you rely on +
+
+ + Share a project you use on social media +
+

These are small structural acts. They compound.

+ + +
+ + +
+
+ close +

Open Source Is Not Just Code

+
+
+
+ + The system around the code is what scales +
+
+ + Design it on purpose +
+
+ reality check +
+ + No quick fix +
+
+ + You control your corner, not the whole +
+
+ + Changing defaults is slow, and that is normal +
+
+ + Start with one pillar +
+
+
+ + +
+ + +
+
+
+
+ community +

Join OffOn.dev

+
+
+ + A welcoming space for learners, contributors, maintainers, writers, designers, translators, and organizers +
+
+ + Built to sustain open source contributors and grow the maintainers of tomorrow +
+
+ + Play Challenges: hands-on challenges around real open source tools, in GitHub Codespaces. +
+
+ + Open Source Talks: for the Austrian open source community to present projects and connect with enthusiasts. +
+
+
+ OffOn challenges grid +
+ QR code for OffOn.dev +

OffOn.dev

+
+
+
+ +
+ + +
+
+ sources +

Sources & Further Reading

+
+
+ primary reading +
+ + David Hirsch, Open Source Communities +
+
+ + Dries Buytaert, The Privilege of AI in Open Source +
+ +
+
+
+ community examples +
+ + Rust, Governance and teams +
+
+ + Apache, The Apache Way +
+
+ + Kubernetes, Contributor ladder +
+
+ + Django, Fellowship program +
+
+
+ drupal + + + + +
+
+
+ media credits +
+ + The Lord of the Rings trilogy (2001–2003), New Line Cinema. GIFs via GIPHY: smW5FBep69d3q, RlZO2mKipB3u8, 8Xu2IkvLsjyLe, g67pETponv03e. +
+
+ +
+ + +
+
+

Thank you

+

Q&A

+
+
+ Feedback QR code + Leave Feedback +
+
+ QR code for the slides + Slides & Resources +
+
+
+ +
+ + +
+
+ a project that closely follows all 6 pillars +

Drupal Across All Six Pillars

+
+
+
+

Governance

+

Drupal Association and core committers, with a published code of conduct.

+
+
+

Contributor Experience

+

Mentoring, first-time workshops, and issue credit.

+
+
+

Recognition

+

Contribution credit for people and companies.

+
+
+

Local Community

+

DrupalCon, local camps, and contribution days.

+
+
+

Communication

+

Docs, conference talks, and Drupal in a Day.

+
+
+

Funding

+

Drupal Association, certified partners, and community grants.

+
+
+ +
+ +
+
+ + + + + + \ No newline at end of file diff --git a/public/open-source-communities/open-source-is-not-just-code-designing-communitie_guntupalli_1142282_feedback-code.png b/public/open-source-communities/open-source-is-not-just-code-designing-communitie_guntupalli_1142282_feedback-code.png new file mode 100644 index 000000000..152674432 Binary files /dev/null and b/public/open-source-communities/open-source-is-not-just-code-designing-communitie_guntupalli_1142282_feedback-code.png differ diff --git a/public/open-source-communities/sinduri.webp b/public/open-source-communities/sinduri.webp new file mode 100644 index 000000000..0f63abc4c Binary files /dev/null and b/public/open-source-communities/sinduri.webp differ diff --git a/public/open-source-communities/slides-qr.png b/public/open-source-communities/slides-qr.png new file mode 100644 index 000000000..fc9e23ce8 Binary files /dev/null and b/public/open-source-communities/slides-qr.png differ diff --git a/public/reveal/plugin/notes.js b/public/reveal/plugin/notes.js index e32762c7e..1f726d829 100644 --- a/public/reveal/plugin/notes.js +++ b/public/reveal/plugin/notes.js @@ -78,7 +78,7 @@ #upcoming-slide { position: absolute; width: 40%; - height: 40%; + height: 30%; right: 0; top: 0; } @@ -86,10 +86,10 @@ /* Speaker controls */ #speaker-controls { position: absolute; - top: 40%; + top: 30%; right: 0; width: 40%; - height: 60%; + height: 70%; overflow: auto; font-size: 18px; }