1. IWishIKnew
HowToQuitYou
5 Secrets to Sustainable
Python Communities
Saturday, November 10, 12
2. WTF is Plone and why are you talking to me?
Plone:Python CMS
A Python CMS that is
almost 11 years old
Personally using Plone
for ~10 years, but was
only really involved in
the last 4
I got frustrated. Then I
got involved. Oh boy.
Open Source code is a
love/hate cycle.
Community is what pulls
you out of the troughs.
Plone.org @eleddy
Saturday, November 10, 12
3. At the end of the day, I admit it:
ILovePlone
and I want everyone to love their
community just as much
Saturday, November 10, 12
4. Take Time to
ChoseYourOwnAdventure
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.
Participating in Open Source Plone outlasted 2 major
can be more than just relationships, too many
pushing code around minor ones, 3 cities, 4
“normal” jobs, 2 startups
First people I talk to in the Worldwide network of
morning (pre-coffee even!) coworkers/friends/
and the last people I talk to extended family
at night
Plone.org @eleddy
Saturday, November 10, 12
6. Discuss, communicate, react and think
LongTerm
Feature Planning
Testing
Infrastructure
Marketing
Code Cleanup
Conferences/Sprints
Legal Issues
Documentation
Are you in it for the long haul or
Support jumping from one fad to the next?
Plone.org It’s about the community, stupid. @eleddy
Saturday, November 10, 12
7. MeasureCommunitySuccess
When a new technology
gets some attention,
Major Releases: 2.1
2.5 3.0 there is the tendency to
4.0 believe that existing,
mature platforms are
Unpopular Release +
Recession =
dying.
Trough of Ugh
Bad sentiment is hard to
combat. Counter attack
by measuring community
success like you would
Average monthly activity on the Plone developers
mailing list turns out to be a good indication of performance: very
sentiment. People post more when they are involved carefully. Then hack it!
and care about the direction of the product.
Plone.org Nate Silver poops graphs better than this, but I’m not Nate Silver. *sigh* @eleddy
Saturday, November 10, 12
8. Continued success depends on a carefully crafted
LeadershipPipeline
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?
Does the success of your community depend on the
success of a specific company?
A broad base of infrequent “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
Saturday, November 10, 12
10. If at first yo 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 If Zope 4 is any indication, Ploners tend to be stubborn. The make up for it with a fantastic accuracy of hindsight. @eleddy
Saturday, November 10, 12
11. Constantly think about how to properly
TacklePackaging
• Reusable infrastructure is overrated. Reusable css,
javascript, and design frameworks are NOT.
• Too many core packages make 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
Saturday, November 10, 12
12. Tip #3
ThinkGlobally
ActLocally
Saturday, November 10, 12
13. 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 Huge efforts to translate core documentation have been immensely helpful. Still need better tools to present. @eleddy
Saturday, November 10, 12
14. 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
Saturday, November 10, 12
15. Travel isn’t just for vacation
AdventureAsStatusQuo
The best part of working with the world is experiencing it!
2013: Plone Strategic Sprints
Plone.org It is not uncommon for the nordic dwellers to go to South America in the winter. And not just for the women... @eleddy
Saturday, November 10, 12
16. A global, well traveled community creates
NaturalDiversity
“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.
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 And we love working together to boot. o/ @eleddy
Saturday, November 10, 12
18. SpeakUp
Never underestimate the impact that one voice can have on the
tone of a community!
Ask for help ➡ I’m happy to mentor
Ask for feedback ➡ I care what you think
Ask for code review ➡ I want to get better
Offer your time ➡ I know you are busy
Offer your opinion ➡ I care enough not to +1
Dish out THANK ➡ It comes back around,
YOU’s like they are and when you need it
going out of style the most
Plone.org Just try it. The first time is the hardest. @eleddy
Saturday, November 10, 12
19. Recognize people working
BehindtheScenes
and keep them happy!
Martin Reistadbakk Rose Pruyne Maarten Kling Mikko Ohtamaa
aka martior aka rosepruyne aka maartenkling aka moo9000, moo
Keeps dev.plone.org running, Writes and publishes articles Came out of no where and Leads and motivates people to
deals with my constant on plone.org and features started fixing several bugs a participate in the task that no
badgering. IP, domains, about people doing great week. Has p0wned the bug developer wants to touch:
servers: he does it all. Do you things in the community. She tracker lately. documentation. Fearless helper
know who keeps your public responds immediately and of newbies in IRC, extreme
sites running? publishes just about weekly. blogger, moo is known to wield
a katana.
Plone.org Nothing is magic: there is a face behind everything @eleddy
Saturday, November 10, 12
20. Never underestimate the need to
BeTransparent
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.
Prefer teams to individuals Identify and unempower
toxic people
Fairly represent your users
(read:diversify) Spontaneous apathy is a
canary, address it head on
Explicit is better than
implicit Discuss and make major
decisions in public eye
Nothing can be implied or
assumed Avoid side channel culture
Plone.org @eleddy
Saturday, November 10, 12
21. Step outside of your comfort zone
ReachOut
Plone SF PyCon US Pyramid Drupal
Plone S America PyCon Canada SciPy CMS Expo
Plone.org Don’t forget: trolling is equal opportunity @eleddy
Saturday, November 10, 12
22. Tip #5
BeAwesome
ExpectAwesome You are responsible for the energy you
bring into this room!
Saturday, November 10, 12