View
2.443
Download
0
Category
Tags:
Preview:
DESCRIPTION
Citation preview
10 Secrets to Sustainable Open Source Communities
IWishIKnew HowToQuitYou
Tuesday, July 23, 13
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
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
ILovePloneAt the end of the day, I admit it:
and I want everyone to love their community just as much
Tuesday, July 23, 13
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
MakePlansTip #1
Tuesday, July 23, 13
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
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
BreakPlansTip #2
Tuesday, July 23, 13
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
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
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
ThinkGloballyActLocally
Tip #3
Tuesday, July 23, 13
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
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
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
“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
CommunicateTip #4
Tuesday, July 23, 13
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
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
LiveBreatheThink
CULTURETip #5
Tuesday, July 23, 13
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
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
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
ATypicalPloneEvent
Plone.org @eleddy
Plone: Shenanigans Welcome
Tuesday, July 23, 13
STOPRecruitingDevelopers
Tip #6
Tuesday, July 23, 13
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
Redefine“Participate”Tip #7
Tuesday, July 23, 13
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
TackleGovernancebefore it tackles you
Tip #8
Tuesday, July 23, 13
* 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
LoseControlTip #9
Tuesday, July 23, 13
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
Works just fine for many projects!TightControl
Plone.org @eleddy
Tuesday, July 23, 13
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
You are responsible for the energy you bring into this room!
BeAwesomeExpectAwesome
Tip #10
Tuesday, July 23, 13
Recommended