10 secrets to sustainable open source communities

36
10 Secrets to Sustainable Open Source Communities IWishIKnew HowToQuitYou Tuesday, July 23, 13

Upload: elizabeth-leddy

Post on 14-Jan-2015

2.443 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 10 secrets to sustainable open source communities

10 Secrets to Sustainable Open Source Communities

IWishIKnew HowToQuitYou

Tuesday, July 23, 13

Page 2: 10 secrets to sustainable open source communities

WTF is Plone and why are you talking to me?

Plone:Python CMSWork began: 1999First release: 2003Working with Plone for ~11 years, heavily involved in the last 5Step 1: Get FrustratedStep 2: Get InvolvedOpen Source code is a love/hate cycle. Community is what pulls you out of the troughs.

Plone.org @eleddyHeavily involved: core & collective contributor, QA team lead, sprint leader, 4.x Framework team, foundation board member, general grouch and ass kicker, token female, conference organizer, speaker

Tuesday, July 23, 13

Page 3: 10 secrets to sustainable open source communities

How unpopular *is* Plone?

Plone -> Zope

Zope ~= STD*unfortunately, most people think

(the social stigma is far worse than the actual symptoms)

I know what you are thinking, it can’t be THAT bad...

Plone.org @eleddy* That would be the disease version, not the library.

Tuesday, July 23, 13

Page 4: 10 secrets to sustainable open source communities

ILovePloneAt the end of the day, I admit it:

and I want everyone to love their community just as much

Tuesday, July 23, 13

Page 5: 10 secrets to sustainable open source communities

Whether you are just getting started in open source or trying to build a community around your project, you should decide what else you want out of a project. Communities come in all shapes and sizes.

Take Time to

ChoseYourOwnAdventure

Participating in Open Source can be more than just pushing code around

First people I talk to in the morning (pre-coffee even!) and the last people I talk to at night

Plone outlasted 2 3 major relationships, too many minor ones, 3 cities, 4 “normal” jobs, 2 startups

Worldwide network of coworkers/friends/extended family

Plone.org @eleddy

Tuesday, July 23, 13

Page 6: 10 secrets to sustainable open source communities

MakePlansTip #1

Tuesday, July 23, 13

Page 7: 10 secrets to sustainable open source communities

It’s about the community, stupid.

Discuss, communicate, react and think

LongTermFeature Planning

TestingInfrastructure

MarketingCode Cleanup

Conferences/SprintsLegal Issues

DocumentationSupport

Are you in it for the long haul or jumping from one fad to the next?

Plone.org @eleddy

Tuesday, July 23, 13

Page 8: 10 secrets to sustainable open source communities

People move on, even BDFL’s. How would your community react to the loss of a key leader? What about a key company? What happens to progress of a key feature when someone meets a girl or (*gasp*) starts a family?

Continued success depends on a carefully crafted

LeadershipPipeline

Does the success of your community depend on the success of a specific company?A broad base of “casual participants” is just as important as a core group of “hard cores”Life happens! Teams and major features should be led by 2+ people.Key people will turn over; plan accordingly.Step down to make way for new blood

Plone.org @eleddy

Tuesday, July 23, 13

Page 9: 10 secrets to sustainable open source communities

BreakPlansTip #2

Tuesday, July 23, 13

Page 10: 10 secrets to sustainable open source communities

If Zope 4 is any indication, Ploners tend to be stubborn. The make up for it with a fantastic accuracy of hindsight.

If at first you don’t succeed, try, try again.

EmbraceChange• Upgrade to modern tools (e.g. version control)• Admit a core feature was a mistake, poorly

implemented, and/or poorly received. Take it out of core. Not sure how to get started? Ask a Ploner.

• Adapt code conventions, then move on. Don't fret if your codebase isn’t 100% consistent with whats hip.

• Feature X might come in years too late: don’t be afraid to leave it out of core

• If you decide to do something different than status quo, decide where you want to lead and where you want to integrate

Plone.org @eleddy

Tuesday, July 23, 13

Page 11: 10 secrets to sustainable open source communities

Nate Silver poops graphs better than this, but I’m not Nate Silver. *sigh*

MeasureSuccessWhen a new technology gets some attention, there is the tendency to believe that existing, mature platforms are dying.

Bad sentiment is hard to combat. Counter attack by measuring community success like you would performance: very carefully. Then hack it!

Average monthly activity on the Plone developers mailing list turns out to be a good indication of sentiment. People post more when they are involved and care about the direction of the product.

2.1 3.0

4.0

Unpopular Release + Recession =

Trough of Ugh

2.5Major Releases:

Plone.org @eleddy

Tuesday, July 23, 13

Page 12: 10 secrets to sustainable open source communities

Constantly think about how to properly

TackleCore• Reusable infrastructure is overrated. Reusable css,

javascript, and design frameworks are NOT.• Too much “core” makes it hard to

• release often

• ramp up new developers

• find possible issues with bug fixes

• Too many “add ons” and people are confused• What is the *right* way to do X?

• How do I know whats out there?

• Core code is maintained better but released slower

Plone.org @eleddy!@#$ tradeoffs

Tuesday, July 23, 13

Page 13: 10 secrets to sustainable open source communities

ThinkGloballyActLocally

Tip #3

Tuesday, July 23, 13

Page 14: 10 secrets to sustainable open source communities

Huge efforts to translate core documentation have been immensely helpful. Still need better tools to present.

It’s easy to forget about the

LanguageBarrier• Many people speak English, but they don’t “prefer” it• Takes much longer to respond to mailing list wars in

another language• Often misinterpreted (and they know it)

• Non-native speaker != not smart enough• Local community brings in new people faster, maintains

longer• Huge intimidation factor

Plone.org @eleddy

Tuesday, July 23, 13

Page 15: 10 secrets to sustainable open source communities

It’s not just for food sourcing:

EmbraceLocal• Have IRC channels in multiple languages (e.g. #plone-es)

• Host mailing lists in multiple languages

• Encourage local language symposia

• Invite international speakers/sprinters to share culture

• Translate “how to contribute” docs!

• Be patient and slow down (typing too)

• Redirect to locals when the barrier is too much

• Identify regional leaders and ask how you can help

Plone.org @eleddy

Tuesday, July 23, 13

Page 16: 10 secrets to sustainable open source communities

2013: Plone Strategic Sprints

It is not uncommon for the nordic dwellers to go to South America in the winter. And not just for the women...

Travel isn’t just for vacation

LocationBarrierThe best part of working with the world is experiencing it! Take your sprints around the world and everyone wins.

Plone.org @eleddy

Not sure what a sprint is? See: http://www.slideshare.net/eleddy/uwosh for more jibber jabber on why sprints ROCK! Sprint hot spots by year (10 years)

Tuesday, July 23, 13

Page 17: 10 secrets to sustainable open source communities

“Diversity” does not mean “women”. It means different countries, backgrounds, sexual preferences, clients and pants. The Plone community is tolerant of slim, straight, tall, short, unisex, imported and even apple bottom.

And we love working together to boot. \o/

A global, well traveled community creates

NaturalDiversity

The 2013 Plone Foundation Executive Board: 7 people

representing 4 countries, 5 accents, 3 sexual

preferences (openly), non-profit, for profit, big

companies, individual contractors, and

personalities ranging from troll to peace maker.

Plone.org @eleddy

Tuesday, July 23, 13

Page 18: 10 secrets to sustainable open source communities

CommunicateTip #4

Tuesday, July 23, 13

Page 19: 10 secrets to sustainable open source communities

Never underestimate the impact that one voice can have on the tone of a community!

Just try it. The first time is the hardest.

SpeakUpAsk for help

Ask for feedback

Ask for code review

Offer your time

Offer your opinion

Dish out THANK YOU’s like they are going out of style

➡ I’m happy to mentor

➡ I care what you think

➡ I want to get better

➡ I know you are busy

➡ I care enough not to +1

➡ It comes back around, and when you need it the most

Plone.org @eleddy

Tuesday, July 23, 13

Page 20: 10 secrets to sustainable open source communities

Keeps dev.plone.org running, deals with my constant badgering. IP, domains, servers: he does it all. Do you know who keeps your public sites running?

aka martior

Martin Reistadbakk

Writes and publishes articles on plone.org and features about people doing great things in the community. She responds immediately and publishes just about weekly.

aka rosepruyneRose Pruyne

Came out of no where and started fixing several bugs a week. Has p0wned the bug tracker lately.

aka maartenklingMaarten Kling

Leads and motivates people to participate in the task that no developer wants to touch: documentation. Fearless helper of newbies in IRC, extreme blogger, moo is known to wield a katana.

aka moo9000, mooMikko Ohtamaa

Nothing is magic: there is a face behind everything

Recognize people working

BehindtheScenesand keep them happy!

Plone.org @eleddy

Tuesday, July 23, 13

Page 21: 10 secrets to sustainable open source communities

LiveBreatheThink

CULTURETip #5

Tuesday, July 23, 13

Page 22: 10 secrets to sustainable open source communities

Vision and strategy cannot be realized if not supported by the culture. Culture outgrows leadership and furthermore, it can be changed.

CultureEatsStrategy

Culture is best perpetuated in personAlliances are best formed in personTrust is created & maintained in personBUT! OSS operates in a primarily remote arenaTransparency => essential

Never underplay the importance of meeting in personFoundation has capacity to spend $, influence cultureNew people -> established sprints/conferencesEstablished people -> new sprints/conferences

Plone.org @eleddy

(for breakfast)

Tuesday, July 23, 13

Page 23: 10 secrets to sustainable open source communities

Having a good heart and best intentions doesn’t solve trust issues, especially with remote work. Human drama is inevitable, fiscally motivated and otherwise. Build in safety switches ahead of time.

Never underestimate the need to

BeTransparent

Prefer teams to individualsFairly represent your users (read:diversify)Explicit is better than implicitNothing can be implied or assumed

Identify and unempower toxic peopleSpontaneous apathy is a canary, address it head onDiscuss and make major decisions in public eye Avoid side channel culture

Plone.org @eleddy

Tuesday, July 23, 13

Page 24: 10 secrets to sustainable open source communities

Avoid the temptation to focus on code as the key result of a sprint

RedefineDeliverables• Coders > code

• Friends > coworkers

• Hangovers > pull requests

• Participants > observers

• Questions > answers

• Opinionated trolls > *

• Leaders > minions

• Style > class

Plone.org @eleddy@regebro demonstrates the Plone way to get to a conference: in a 32 foot RV, with a bottle of Cyrus Noble

Tuesday, July 23, 13

Page 25: 10 secrets to sustainable open source communities

ATypicalPloneEvent

Plone.org @eleddy

Plone: Shenanigans Welcome

Tuesday, July 23, 13

Page 26: 10 secrets to sustainable open source communities

STOPRecruitingDevelopers

Tip #6

Tuesday, July 23, 13

Page 27: 10 secrets to sustainable open source communities

If you plan on sticking around, you are going to need some serious

SoftSkills

Plone.org @eleddy

• Businesses need to believe its valuable to invest in your project LONG TERM (fiscally, mentally, training, etc)

• READ: someone has to speak “business”

• Who is going to handle legal and fiscal issues?

• End user documentation and tutorials should rarely be done by developers

• Is neck beard going to man your conference booth?

• Marketing: Someones gotta do it

• Get non-developers to your sprints and NEVER LET GO! HINT: They like free beer too.

Tuesday, July 23, 13

Page 28: 10 secrets to sustainable open source communities

Redefine“Participate”Tip #7

Tuesday, July 23, 13

Page 29: 10 secrets to sustainable open source communities

http://github.com/eleddy/collective_stats_logviewer

RealProblemsNoisebridge hackerspace advanced Python class wanted to learn flask

I was very, very tired of the same “TODO” app tutorial

Learned flask, sqlalchemy, logs and rotation, basic linux admin, git, modular coding, contributing to open source

Plone gets a new web based performance analysis tool, they get a “github resume”

Tools and infrastructure seem tangentially related to the project at hand but offer real life learning experience

Participating in open source can be very indirect. Volunteer and teach them to build tools for you. Everyone wins.

Plone.org @eleddy

Take advantage of students and give them

Tuesday, July 23, 13

Page 30: 10 secrets to sustainable open source communities

TackleGovernancebefore it tackles you

Tip #8

Tuesday, July 23, 13

Page 31: 10 secrets to sustainable open source communities

* There are other companies that kill projects. Oracle is just the best at it.

Think twice before contributing to projects without a

Non-ProfitFoundationTrademark/IP/Legal

MarketingOrganize Teams

Conference PlanningFundraisingBack Office

InfrastructureProtect project from death

by Oracle*? Technical Decisions

The role of the foundation is defined by its members. It’s as fluid as the project is.

Plone.org @eleddy

Tuesday, July 23, 13

Page 32: 10 secrets to sustainable open source communities

LoseControlTip #9

Tuesday, July 23, 13

Page 33: 10 secrets to sustainable open source communities

Diverse, self-policing, redundant teams

Release Manager

electspays an ungodly low wage to

Foundation Members

Foundation Board

attempts to corral

Framework Team

UI Team

Documentation TeamSecurity Team

Infrastructure Team

PloneGovernance

it’scomplicated

bootstraps

Thank you Matthew

Wilkes for writing this

script!

Plone.org @eleddy

Tuesday, July 23, 13

Page 34: 10 secrets to sustainable open source communities

Works just fine for many projects!TightControl

Plone.org @eleddy

Tuesday, July 23, 13

Page 35: 10 secrets to sustainable open source communities

The barrier to become a Plone core contributor is surprisingly low. There has never been a commit from a “newbie” that has jeopardized the project. While more eyes make all bugs shallow, test coverage and continuous integration is really the star.

Pride 2.0

Core contributions instill a sense of pride and ownership, which in turn

EnsureLongevity

Plone currently has 210 “active” contributors to the

CORE project. Hundreds more in the collective and

more than 710 contributors overall. Each conference/

sprint brings in ~10-20 new contributors. Most are

casual bug fixers and we are 100% on board with that.

Plone.org @eleddy

Tuesday, July 23, 13

Page 36: 10 secrets to sustainable open source communities

You are responsible for the energy you bring into this room!

BeAwesomeExpectAwesome

Tip #10

Tuesday, July 23, 13