SlideShare a Scribd company logo
1 of 39
How to Protect Your
    Open Source Project
  From Poisonous People                    0%
                                         3!
                                       th on
                                      is
                                     W oi
                                  wP
                                 os
                               Ns
                                   e
                                  L
Ben Collins-Sussman & Brian W. Fitzpatrick
                 Google
              July 26, 2007
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
Comprehension
  Fortification
 Identification
  Disinfection
Comprehending
  the Threat
Attention    and
     Focus
   These are your scarcest resources




You must protect them
Poisonous people can:
  Distract
•
• Emotionally drain your community
• Cause needless infighting
You Need to Avoid Paralysis
    OCD people can derail forward progress
•
    • Perfectionists
    • People obsessed with process


    Even nice guys can do this unintentionally!
•
    • quot;The perfect is the enemy of the goodquot;
        [Example: endless discussion]
    •
Fortifying Against
   the Threat
Build a Strong Community Based On


            Politeness
             Respect
              Trust
             Humility
Best Practices
Have a Mission

  Pick a direction
•
• Limit your scope
        [Examples]
    •
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”
Mailing List Etiquette

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


    Don't reply to every message in a thread:
•
    • Reply to a summary
        [Example: Email filibustering]
    •
Document Your Project!s History

  Design decisions
•
• Bug fixes
• Mistakes
• Code Changes (ChangeLog)
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
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]
    •
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!]
    •
Voting is a last resort

    A healthy community should rarely need to vote
•
    –   [Example: Subversion!s critical decision]
Maintain Your Standards

       “I have several friends who know him to
     some degree. One of them said quot;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
Identifying
    Poisonous People
The warning signs that you should look out for
               ...also known as...
          When to flip the “bozo bit”
Communication Annoyances

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

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

  Insults the status quo
•
• Angrily demands help
• Attempts to blackmail
• Attempts to deliberately rile people
• Makes accusations of conspiracy (paranoia)
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
Non-cooperation

  Willing to complain, but not help fix anything
•
• Unwilling to discuss design
• Too insecure to take criticism
Disinfecting Your
   Community
Assess the Damage
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?
Don!t
Don!t

  Feed the energy creature! (old usenet adage)
•
• Give jerks quot;purchasequot;
• Engage them
• Get emotional
        [Example: “your OSS project sucks”]
    •
Do
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]
    •
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]
    •
And Finally, Do...
    Address the behavior, not the person
•
        [Example: the banished behavior]
    •
Summary
    Comprehend:
•
    • Preserve attention and focus


    Fortify:
•
    • Build a healthy community


    Identify:
•
    • Look for tell-tale signs


    Disinfect:
•
    • Maintain calm and stand your ground
Shhhhhh, Don!t Tell...
This doesn!t only apply to
open source communities.
This applies to all
  communities.
Q&A
Ben Collins-Sussman & Brian W. Fitzpatrick
          sussman@google.com
             fitz@google.com

More Related Content

Similar to Os Fitzpatrick Sussman

Perils and Possibilities of Web 2
Perils and Possibilities of Web 2Perils and Possibilities of Web 2
Perils and Possibilities of Web 2Matt Machell
 
Swim Lesson 1 Get Off My Facebook
Swim Lesson 1 Get Off My FacebookSwim Lesson 1 Get Off My Facebook
Swim Lesson 1 Get Off My FacebookEmily Reeves Dean
 
Os Keyshacks
Os KeyshacksOs Keyshacks
Os Keyshacksoscon2007
 
People Hacks
People HacksPeople Hacks
People HacksAdam Keys
 
Brand-ology:Tips and Tricks for Personal Branding
Brand-ology:Tips and Tricks for Personal Branding Brand-ology:Tips and Tricks for Personal Branding
Brand-ology:Tips and Tricks for Personal Branding Lauren Cooney
 
Understanding Your Audience Using Community Driven Tools
Understanding Your Audience Using Community Driven ToolsUnderstanding Your Audience Using Community Driven Tools
Understanding Your Audience Using Community Driven ToolsHello Neighbor
 
New Media Means Everybody's a Journalist, Critic, Friend - Why Healthcare Sho...
New Media Means Everybody's a Journalist, Critic, Friend - Why Healthcare Sho...New Media Means Everybody's a Journalist, Critic, Friend - Why Healthcare Sho...
New Media Means Everybody's a Journalist, Critic, Friend - Why Healthcare Sho...Jen McCabe
 
Making Marketing More Human Through Technology
Making Marketing More Human Through TechnologyMaking Marketing More Human Through Technology
Making Marketing More Human Through TechnologyKevin Lawver
 
From Inbox to iPod: Meshing Today's Social Media Elements into the Marketing ...
From Inbox to iPod: Meshing Today's Social Media Elements into the Marketing ...From Inbox to iPod: Meshing Today's Social Media Elements into the Marketing ...
From Inbox to iPod: Meshing Today's Social Media Elements into the Marketing ...Greg Cangialosi
 
Social Software in Higher Education
Social Software in Higher EducationSocial Software in Higher Education
Social Software in Higher EducationMeredith Farkas
 
Twitter: Are You Serious?
Twitter: Are You Serious?Twitter: Are You Serious?
Twitter: Are You Serious?Randy Rodgers
 
Social Web Application Design
Social Web Application DesignSocial Web Application Design
Social Web Application DesignLuke Wroblewski
 
SESNY Training Laycock Blogging
SESNY Training Laycock BloggingSESNY Training Laycock Blogging
SESNY Training Laycock BloggingJennifer Laycock
 
Countering impostor syndrome culture
Countering impostor syndrome cultureCountering impostor syndrome culture
Countering impostor syndrome cultureSage Sharp
 
Challenges of social media analysis in the real world
Challenges of social media analysis in the real worldChallenges of social media analysis in the real world
Challenges of social media analysis in the real worldDiana Maynard
 

Similar to Os Fitzpatrick Sussman (20)

Perils and Possibilities of Web 2
Perils and Possibilities of Web 2Perils and Possibilities of Web 2
Perils and Possibilities of Web 2
 
Swim Lesson 1 Get Off My Facebook
Swim Lesson 1 Get Off My FacebookSwim Lesson 1 Get Off My Facebook
Swim Lesson 1 Get Off My Facebook
 
Os Keyshacks
Os KeyshacksOs Keyshacks
Os Keyshacks
 
People Hacks
People HacksPeople Hacks
People Hacks
 
Brand-ology:Tips and Tricks for Personal Branding
Brand-ology:Tips and Tricks for Personal Branding Brand-ology:Tips and Tricks for Personal Branding
Brand-ology:Tips and Tricks for Personal Branding
 
Understanding Your Audience Using Community Driven Tools
Understanding Your Audience Using Community Driven ToolsUnderstanding Your Audience Using Community Driven Tools
Understanding Your Audience Using Community Driven Tools
 
New Media Means Everybody's a Journalist, Critic, Friend - Why Healthcare Sho...
New Media Means Everybody's a Journalist, Critic, Friend - Why Healthcare Sho...New Media Means Everybody's a Journalist, Critic, Friend - Why Healthcare Sho...
New Media Means Everybody's a Journalist, Critic, Friend - Why Healthcare Sho...
 
Making Marketing More Human Through Technology
Making Marketing More Human Through TechnologyMaking Marketing More Human Through Technology
Making Marketing More Human Through Technology
 
More than a Profile
More than a ProfileMore than a Profile
More than a Profile
 
Community Management
Community ManagementCommunity Management
Community Management
 
From Inbox to iPod: Meshing Today's Social Media Elements into the Marketing ...
From Inbox to iPod: Meshing Today's Social Media Elements into the Marketing ...From Inbox to iPod: Meshing Today's Social Media Elements into the Marketing ...
From Inbox to iPod: Meshing Today's Social Media Elements into the Marketing ...
 
Social Software in Higher Education
Social Software in Higher EducationSocial Software in Higher Education
Social Software in Higher Education
 
Twitter: Are You Serious?
Twitter: Are You Serious?Twitter: Are You Serious?
Twitter: Are You Serious?
 
Social Web Application Design
Social Web Application DesignSocial Web Application Design
Social Web Application Design
 
SESNY Training Laycock Blogging
SESNY Training Laycock BloggingSESNY Training Laycock Blogging
SESNY Training Laycock Blogging
 
Countering impostor syndrome culture
Countering impostor syndrome cultureCountering impostor syndrome culture
Countering impostor syndrome culture
 
Intro to Social Networking
Intro to Social NetworkingIntro to Social Networking
Intro to Social Networking
 
NASCAR Summit
NASCAR SummitNASCAR Summit
NASCAR Summit
 
Challenges of social media analysis in the real world
Challenges of social media analysis in the real worldChallenges of social media analysis in the real world
Challenges of social media analysis in the real world
 
The Holy Triad
The Holy TriadThe Holy Triad
The Holy Triad
 

More from oscon2007

J Ruby Whirlwind Tour
J Ruby Whirlwind TourJ Ruby Whirlwind Tour
J Ruby Whirlwind Touroscon2007
 
Solr Presentation5
Solr Presentation5Solr Presentation5
Solr Presentation5oscon2007
 
Performance Whack A Mole
Performance Whack A MolePerformance Whack A Mole
Performance Whack A Moleoscon2007
 
Os Lanphier Brashears
Os Lanphier BrashearsOs Lanphier Brashears
Os Lanphier Brashearsoscon2007
 
Os Fitzpatrick Sussman Swp
Os Fitzpatrick Sussman SwpOs Fitzpatrick Sussman Swp
Os Fitzpatrick Sussman Swposcon2007
 
Os Berlin Dispelling Myths
Os Berlin Dispelling MythsOs Berlin Dispelling Myths
Os Berlin Dispelling Mythsoscon2007
 
Os Keysholistic
Os KeysholisticOs Keysholistic
Os Keysholisticoscon2007
 
Os Jonphillips
Os JonphillipsOs Jonphillips
Os Jonphillipsoscon2007
 
Os Urnerupdated
Os UrnerupdatedOs Urnerupdated
Os Urnerupdatedoscon2007
 
Adventures In Copyright Reform
Adventures In Copyright ReformAdventures In Copyright Reform
Adventures In Copyright Reformoscon2007
 

More from oscon2007 (20)

J Ruby Whirlwind Tour
J Ruby Whirlwind TourJ Ruby Whirlwind Tour
J Ruby Whirlwind Tour
 
Solr Presentation5
Solr Presentation5Solr Presentation5
Solr Presentation5
 
Os Borger
Os BorgerOs Borger
Os Borger
 
Os Harkins
Os HarkinsOs Harkins
Os Harkins
 
Os Bunce
Os BunceOs Bunce
Os Bunce
 
Yuicss R7
Yuicss R7Yuicss R7
Yuicss R7
 
Performance Whack A Mole
Performance Whack A MolePerformance Whack A Mole
Performance Whack A Mole
 
Os Fogel
Os FogelOs Fogel
Os Fogel
 
Os Lanphier Brashears
Os Lanphier BrashearsOs Lanphier Brashears
Os Lanphier Brashears
 
Os Tucker
Os TuckerOs Tucker
Os Tucker
 
Os Fitzpatrick Sussman Swp
Os Fitzpatrick Sussman SwpOs Fitzpatrick Sussman Swp
Os Fitzpatrick Sussman Swp
 
Os Furlong
Os FurlongOs Furlong
Os Furlong
 
Os Berlin Dispelling Myths
Os Berlin Dispelling MythsOs Berlin Dispelling Myths
Os Berlin Dispelling Myths
 
Os Kimsal
Os KimsalOs Kimsal
Os Kimsal
 
Os Pruett
Os PruettOs Pruett
Os Pruett
 
Os Alrubaie
Os AlrubaieOs Alrubaie
Os Alrubaie
 
Os Keysholistic
Os KeysholisticOs Keysholistic
Os Keysholistic
 
Os Jonphillips
Os JonphillipsOs Jonphillips
Os Jonphillips
 
Os Urnerupdated
Os UrnerupdatedOs Urnerupdated
Os Urnerupdated
 
Adventures In Copyright Reform
Adventures In Copyright ReformAdventures In Copyright Reform
Adventures In Copyright Reform
 

Recently uploaded

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 

Os Fitzpatrick Sussman

  • 1. How to Protect Your Open Source Project From Poisonous People 0% 3! th on is W oi wP os Ns e L Ben Collins-Sussman & Brian W. Fitzpatrick Google July 26, 2007
  • 2. 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
  • 3. Comprehension Fortification Identification Disinfection
  • 5. Attention and Focus These are your scarcest resources You must protect them
  • 6. Poisonous people can: Distract • • Emotionally drain your community • Cause needless infighting
  • 7. You Need to Avoid Paralysis OCD people can derail forward progress • • Perfectionists • People obsessed with process Even nice guys can do this unintentionally! • • quot;The perfect is the enemy of the goodquot; [Example: endless discussion] •
  • 8. Fortifying Against the Threat
  • 9. Build a Strong Community Based On Politeness Respect Trust Humility
  • 11. Have a Mission Pick a direction • • Limit your scope [Examples] •
  • 12. 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”
  • 13. Mailing List Etiquette Don't rehash old discussions: • • Send quot;em to the mail archives Don't reply to every message in a thread: • • Reply to a summary [Example: Email filibustering] •
  • 14. Document Your Project!s History Design decisions • • Bug fixes • Mistakes • Code Changes (ChangeLog)
  • 15. 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
  • 16. 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] •
  • 17. 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!] •
  • 18. Voting is a last resort A healthy community should rarely need to vote • – [Example: Subversion!s critical decision]
  • 19. Maintain Your Standards “I have several friends who know him to some degree. One of them said quot;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
  • 20. Identifying Poisonous People The warning signs that you should look out for ...also known as... When to flip the “bozo bit”
  • 21. Communication Annoyances Uses silly nicknames • • Uses multiple nicknames in different media • Overuses CAPITAL LETTERS • Uses excessive punctuation!!!1!!1!one! • ZOMGWTFBBQ!?!?!
  • 22. Cluelessness Unable to pick up on the “mood” • • Doesn!t understand common goals of the community. • Asks incessant RTFM questions
  • 23. Hostility Insults the status quo • • Angrily demands help • Attempts to blackmail • Attempts to deliberately rile people • Makes accusations of conspiracy (paranoia)
  • 24. 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
  • 25. Non-cooperation Willing to complain, but not help fix anything • • Unwilling to discuss design • Too insecure to take criticism
  • 26. Disinfecting Your Community
  • 28. 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?
  • 29. Don!t
  • 30. Don!t Feed the energy creature! (old usenet adage) • • Give jerks quot;purchasequot; • Engage them • Get emotional [Example: “your OSS project sucks”] •
  • 31. Do
  • 32. 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] •
  • 33. 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] •
  • 34. And Finally, Do... Address the behavior, not the person • [Example: the banished behavior] •
  • 35. Summary Comprehend: • • Preserve attention and focus Fortify: • • Build a healthy community Identify: • • Look for tell-tale signs Disinfect: • • Maintain calm and stand your ground
  • 37. This doesn!t only apply to open source communities.
  • 38. This applies to all communities.
  • 39. Q&A Ben Collins-Sussman & Brian W. Fitzpatrick sussman@google.com fitz@google.com