how to protect your open source project from poisonous people · 2007-07-31 · ben collins-sussman...

39
Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project From Poisonous People Now With 30% Less Poison!

Upload: others

Post on 15-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Ben Collins-Sussman & Brian W. FitzpatrickGoogle

July 26, 2007

How to Protect Your Open Source Project

From Poisonous People

Now With 30%

Less Poison!

Page 2: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

By The Way• These are our opinions• There’s more than one way to run a community• Based on our experiences...• ... and Karl’s book...• ...which are both based on experiences with Subversion...• ...and Apache

Page 3: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

ComprehensionFortificationIdentificationDisinfection

Page 4: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Comprehending the Threat

Page 5: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Attention

These are your scarcest resources

You must protect them

Focusand

Page 6: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Poisonous people can:• Distract• Emotionally drain your community• Cause needless infighting

Page 7: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

You Need to Avoid Paralysis

• OCD people can derail forward progress• Perfectionists• People obsessed with process

• Even nice guys can do this unintentionally!• "The perfect is the enemy of the good"• [Example: endless discussion]

Page 8: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Fortifying Against the Threat

Page 9: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Build a Strong Community Based On

PolitenessRespect

TrustHumility

Page 10: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Best Practices

Page 11: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Have a Mission

• Pick a direction• Limit your scope

• [Examples]

Page 12: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Subversion

“To create a compelling replacement for CVS”

Google Web Toolkit“To radically improve the web experience for users by

enabling developers to use existing Java tools to build no-compromise AJAX for any modern browser”

Page 13: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Mailing List Etiquette

• Don't rehash old discussions:• Send ‘em to the mail archives

• Don't reply to every message in a thread:• Reply to a summary• [Example: Email filibustering]

Page 14: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Document Your Project’s History

• Design decisions• Bug fixes•Mistakes• Code Changes (ChangeLog)

Page 15: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

If you don’t document your project’s history, you will be condemned to repeat it...

...over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over

and over and over and over and over again

Page 16: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Have healthy code-collaboration policies• Send commit emails, encourage email review

• Do big changes on branches for easier review• “Power plants” slow progress

• Be generous with branches

• Increase your project’s “bus-factor” on components

• Don't allow names in files• [Example: the date-parser contributor]

Page 17: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Have Well-defined Processes

• Releasing software– Backport bugfixes– Test and Release tarballs

• Accepting and reviewing patches

• Admitting new committers– The community founders establish the culture– The culture becomes self-selecting• [anecdote: even a founder can be booted!]

Page 18: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Voting is a last resort

• A healthy community should rarely need to vote– [Example: Subversion’s critical decision]

Page 19: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Maintain Your Standards

“I have several friends who know him to some degree. One of them said ‘he often

walks the fine line between genius and lunatic.’ The problem is, genius is such a

commodity these days, that it's not acceptable to be an eccentric any more.”

--Greg Hudson, Subversion Developer

Page 20: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Identifying Poisonous People

The warning signs that you should look out for...also known as...

When to flip the “bozo bit”

Page 21: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Communication Annoyances

• Uses silly nicknames• Uses multiple nicknames in different media• Overuses CAPITAL LETTERS• Uses excessive punctuation!!!1!!1!one! • ZOMGWTFBBQ!?!?!

Page 22: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Cluelessness

• Unable to pick up on the “mood”• Doesn’t understand common goals of the community.• Asks incessant RTFM questions

Page 23: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Hostility

• Insults the status quo• Angrily demands help• Attempts to blackmail• Attempts to deliberately rile people•Makes accusations of conspiracy (paranoia)

Page 24: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Conceit

• Refuses to acknowledge the opinions of others

•Makes sweeping claims• Usually about the project's future success

• Re-opens topics that are long settled•Without reading the archives

Page 25: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Non-cooperation

•Willing to complain, but not help fix anything• Unwilling to discuss design• Too insecure to take criticism

Page 26: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Disinfecting Your Community

Page 27: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Assess the Damage

Page 28: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Ask Yourself Two Critical Questions

• Is this person draining attention and focus?• If so, is the person really likely to benefit the project?

• Is this person paralyzing the project?• Is the dispute likely to finish soon?

Page 29: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Don’t

Page 30: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Don’t

• Feed the energy creature! (old usenet adage)• Give jerks "purchase"• Engage them• Get emotional• [Example: “your OSS project sucks”]

Page 31: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Do

Page 32: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Do

• Pay careful attention to a newcomer• Even if they’re annoying at first

• Look for the fact under the emotion

• Extract a real bug report, if possible• [Example: raving lunatic with a real bug]

Page 33: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Do

• Know when to give up and ignore them• [Example: different raving lunatic]

• Know when to forcibly boot them from community• [Example: statistical analysis as evidence]

• Repel trolls with niceness!!• [Example: irc guy]

Page 34: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

And Finally, Do...• Address the behavior, not the person• [Example: the banished behavior]

Page 35: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Summary• Comprehend:• Preserve attention and focus

• Fortify:• Build a healthy community

• Identify:• Look for tell-tale signs

• Disinfect:• Maintain calm and stand your ground

Page 36: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

Shhhhhh, Don’t Tell...

Page 37: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

This doesn’t only apply to open source communities.

Page 38: How to Protect Your Open Source Project From Poisonous People · 2007-07-31 · Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007 How to Protect Your Open Source Project

This applies to all communities.