Preventing Community

63
Preventing Community a how-to guide Josh Berkus Community Hit Man Linux Collab 2010

Transcript of Preventing Community

Page 1: Preventing Community

Preventing Communitya how-to guide

Josh BerkusCommunity Hit ManLinux Collab 2010

Page 2: Preventing Community

So,you started

an

open sourceproject

Page 3: Preventing Community

COMMUNITY

Page 4: Preventing Community

Community Growth

Project Year

Com

mun

ity S

ize

Page 5: Preventing Community

Community Growth

Project Year

Com

mun

ity S

ize

AnnounceProject Bad Release

Page 6: Preventing Community

Community Growth

Project Year

Com

mun

ity S

ize

AnnounceProject Bad Release

MajorAdopter

LWN

Page 7: Preventing Community

Community Growth

Project Year

Com

mun

ity S

ize

AnnounceProject Bad Release

MajorAdopter

LWN 2.0

UserConference

Page 8: Preventing Community

Community Growth

Project Year

Com

mun

ity S

ize

AnnounceProject Bad Release

MajorAdopter

LWN 2.0

UserConference

Reddit

Page 9: Preventing Community

The Horror! The Horror!

Page 10: Preventing Community

Thousands of Messages

Page 11: Preventing Community

Hundreds of People

Page 12: Preventing Community

Dozens of Events

Page 13: Preventing Community

Out of Control

Page 14: Preventing Community

Community Growth

Project Year

Com

mun

ity S

ize

Page 15: Preventing Community

Global CO2 Concentration

Year

Car

bon

Con

cent

ratio

n

Page 16: Preventing Community

Cut Off That Ugly Growth!

Project Year

Com

mun

ity S

ize

Page 17: Preventing Community

The 7 Habitsof Highly Stagnant

Communities

Page 18: Preventing Community
Page 19: Preventing Community

THROW ITTHROW IT

Page 20: Preventing Community

THROW ITTHROW ITOVEROVER

Page 21: Preventing Community

THROW ITTHROW ITOVEROVER

THE WALLTHE WALL

Page 22: Preventing Community

THROW ITTHROW IT

Page 23: Preventing Community

THROW ITTHROW ITOVEROVER

Page 24: Preventing Community

THROW ITTHROW ITOVEROVER

THE WALLTHE WALL

Page 25: Preventing Community

Habit #1

DifficultTools

Page 26: Preventing Community

● Proprietary version control● Idiosyncratic build systems● Antiquated bug trackers● Home-grown CMS with proprietary components

● Documentation system with no GUI tools

Page 27: Preventing Community

advantages of difficult tools

● huge barrier to entry for new contributors● most get discouraged and leave

● slow down the whole project by making routine tasks difficult

● skills are non-portable to other OSS projects● your staff know the tools better than the

community

Page 28: Preventing Community

the best thingabout difficult tools is ...

you probably have them already!

Page 29: Preventing Community

THROW ITTHROW ITOVEROVER

THE WALLTHE WALL

Page 30: Preventing Community

Habit #2

Overworked Project Team

Page 31: Preventing Community

enemy #1: your own staff

Page 32: Preventing Community

solution: overwork your team!

1. assign your development engineers to managing the project

2. increase their engineering workload at the same time

3. have no dedicated community liaison, or one who is useless

4. add a bunch of ambitious deadlines for the project

Page 33: Preventing Community

3 possible outcomes

● your staff will neglect the community● your staff will hate the community and the

community will hate them● staff who care about community will burn out

and abandon the project

All win!

Page 34: Preventing Community

THROW ITTHROW ITOVEROVER

THE WALLTHE WALL

Page 35: Preventing Community

Habit #3

Closed-Door Meetings

Page 36: Preventing Community

Closed-Door Meetings

GoodShort-notice online meetings

Page 37: Preventing Community

Closed-Door Meetings

GoodShort-notice online meetings

BetterTelephone meetings

Page 38: Preventing Community

Closed-Door Meetings

GoodShort-notice online meetings

BetterTelephone meetings

BestMeet in person, in your secure offi ce

Page 39: Preventing Community

THROW ITTHROW ITOVEROVER

THE WALLTHE WALL

Page 40: Preventing Community

Habit #4:

FeedThe

Trolls

Page 41: Preventing Community

nurture your trolls

Maximize the damage they can do!

1. Argue with them at length

Page 42: Preventing Community

nurture your trolls

Maximize the damage they can do!

1. Argue with them at length

2. Denounce them venemously

Page 43: Preventing Community

nurture your trolls

Maximize the damage they can do!

1. Argue with them at length

2. Denounce them venemously

3. Ban them

Page 44: Preventing Community

nurture your trolls

Maximize the damage they can do!

1. Argue with them at length

2. Denounce them venemously

3. Ban them

4. Argue with them in other projects/sites

Page 45: Preventing Community

nurture your trolls

Maximize the damage they can do!

1. Argue with them at length

2. Denounce them venemously

3. Ban them

4. Argue with them in other projects/sites

5. Allow them back into your project

Page 46: Preventing Community

nurture your trolls

Maximize the damage they can do!

1. Argue with them at length

2. Denounce them venemously

3. Ban them

4. Argue with them in other projects

5. Allow them back into your project

6. GOTO 1

Page 47: Preventing Community

Habit #5:Habit #5:Lock It Down!Lock It Down!

Page 48: Preventing Community

there can be only one!there can be only one!

● Only oneOnly one person should person shouldhave admin on the web serverhave admin on the web server

● Only oneOnly one person can person canhave control of the DNShave control of the DNS

● Only oneOnly one person may person maytouch the mail servertouch the mail server

● Only oneOnly one person will person willadministrate the CMSadministrate the CMS

Page 49: Preventing Community

make it the right personmake it the right person

overworkedoverworked

antisocialantisocial

required to follow elaborate required to follow elaborate company procedurescompany procedures

and never, ever an outside and never, ever an outside community member or team!community member or team!

Page 50: Preventing Community

then, let them go on vacation!

what could go wrong?

Page 51: Preventing Community

THROW ITTHROW ITOVEROVER

THE WALLTHE WALL

Page 52: Preventing Community

Habit #6

Legalese, Legalese, Legalese

Page 53: Preventing Community
Page 54: Preventing Community

you can't have too much legalese!

The longer and more complex the better!Contributor agreementsWebsite content licensingNon-disclosure agreementsTrademark licensing termsOpen source release review process

Page 55: Preventing Community

you can't have too much legalese!

The longer and more complex the better!Contributor agreementsWebsite content licensingNon-disclosure agreementsTrademark licensing termsOpen source release review process

● Bonus: change the documents every couple of months, without any official notice.

Page 56: Preventing Community

THROW ITTHROW ITOVEROVER

THE WALLTHE WALL

Page 57: Preventing Community

Habit #7

Page 58: Preventing Community
Page 59: Preventing Community

silence is golden

Page 60: Preventing Community

The 7 Habits

1. Difficult Tools

2. Overworked Project Team

3. Closed-Door Meetings

4. Feed The Trolls

5. Lock it Down!

6. Legalese, Legalese, Legalese

7. Silence

Page 61: Preventing Community

The 7 Other Habits

1. easy, common tools

2. allocate time for project

3. open decision-making

4. manage & expel trolls

5. share control

6. minimize legalese

7. communicate

Page 62: Preventing Community

THROW ITTHROW ITOVEROVER

THE WALLTHE WALL

Page 63: Preventing Community

contact● Josh Berkus

[email protected]● www.pgexperts.com● it.toolbox.com/blogs/database-soup

● events● open source bridge Portland june 1● community leadership summit Portland july 17● OSCON Portland july 19

Thanks to Ted Tso, Joe Brockmeier and Greg KHfor helping me with the material for this presentation.

This presentation copyright 2010 Josh Berkus, licensed for distribution under the Creative Commons Attribution License, except for photos, most of which were stolen from other people's websites via images.google.com. Thanks, Google!