Preventing Community (from Linux Collab)

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

description

 

Transcript of Preventing Community (from Linux Collab)

Page 1: Preventing Community (from Linux Collab)

Preventing Communitya how-to guide

Josh BerkusCommunity Hit ManLinux Collab 2010

Page 2: Preventing Community (from Linux Collab)

So,you started

an

open sourceproject

Page 3: Preventing Community (from Linux Collab)

COMMUNITY

Page 4: Preventing Community (from Linux Collab)

Community Growth

Project Year

Com

mun

ity S

ize

AnnounceProject Bad Release

MajorAdopter

LWN 2.0

UserConference

Reddit

Page 5: Preventing Community (from Linux Collab)

The Horror! The Horror!

Page 6: Preventing Community (from Linux Collab)

Thousands of Messages

Page 7: Preventing Community (from Linux Collab)

Hundreds of People

Page 8: Preventing Community (from Linux Collab)

Dozens of Events

Page 9: Preventing Community (from Linux Collab)

Out of Control

Page 10: Preventing Community (from Linux Collab)

Community Growth

Project Year

Com

mun

ity S

ize

Page 11: Preventing Community (from Linux Collab)

Global CO2 Concentration

Year

Car

bon

Con

cent

ratio

n

Page 12: Preventing Community (from Linux Collab)

Cut Off That Ugly Growth!

Project Year

Com

mun

ity S

ize

Page 13: Preventing Community (from Linux Collab)

The 7 Habitsof Highly Stagnant

Communities

Page 14: Preventing Community (from Linux Collab)

THROW ITTHROW ITOVEROVER

THE WALLTHE WALL

Page 15: Preventing Community (from Linux Collab)

Habit #1

DifficultTools

Page 16: Preventing Community (from Linux Collab)

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

● Documentation system with no GUI tools

Page 17: Preventing Community (from Linux Collab)

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 18: Preventing Community (from Linux Collab)

the best thingabout difficult tools is ...

you probably have them already!

Page 19: Preventing Community (from Linux Collab)

THROW ITTHROW ITOVEROVER

THE WALLTHE WALL

Page 20: Preventing Community (from Linux Collab)

Habit #2

Overworked Project Team

Page 21: Preventing Community (from Linux Collab)

enemy #1: your own staff

Page 22: Preventing Community (from Linux Collab)

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 23: Preventing Community (from Linux Collab)

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 24: Preventing Community (from Linux Collab)

THROW ITTHROW ITOVEROVER

THE WALLTHE WALL

Page 25: Preventing Community (from Linux Collab)

Habit #3

Closed-Door Meetings

Page 26: Preventing Community (from Linux Collab)

Closed-Door Meetings

GoodShort-notice online meetings

BetterTelephone meetings

BestMeet in person, in your secure offi ce

Page 27: Preventing Community (from Linux Collab)

THROW ITTHROW ITOVEROVER

THE WALLTHE WALL

Page 28: Preventing Community (from Linux Collab)

Habit #4:

FeedThe

Trolls

Page 29: Preventing Community (from Linux Collab)

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 30: Preventing Community (from Linux Collab)

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

Page 31: Preventing Community (from Linux Collab)

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 32: Preventing Community (from Linux Collab)

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 33: Preventing Community (from Linux Collab)

then, let them go on vacation!

what could go wrong?

Page 34: Preventing Community (from Linux Collab)

THROW ITTHROW ITOVEROVER

THE WALLTHE WALL

Page 35: Preventing Community (from Linux Collab)

Habit #6

Legalese, Legalese, Legalese

Page 36: Preventing Community (from Linux Collab)
Page 37: Preventing Community (from Linux Collab)

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 38: Preventing Community (from Linux Collab)

THROW ITTHROW ITOVEROVER

THE WALLTHE WALL

Page 39: Preventing Community (from Linux Collab)

Habit #7

Page 40: Preventing Community (from Linux Collab)
Page 41: Preventing Community (from Linux Collab)

silence is golden

Page 42: Preventing Community (from Linux Collab)

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 43: Preventing Community (from Linux Collab)

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 44: Preventing Community (from Linux Collab)

THROW ITTHROW ITOVEROVER

THE WALLTHE WALL

Page 45: Preventing Community (from Linux Collab)

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!