I Wish I knew How to Quit You

5,890 views

Published on

5 secrets to sustainable python communities

Published in: Technology

I Wish I knew How to Quit You

  1. IWishIKnew HowToQuitYou 5 Secrets to Sustainable Python CommunitiesSaturday, 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 @eleddySaturday, November 10, 12
  3. At the end of the day, I admit it: ILovePlone and I want everyone to love their community just as muchSaturday, 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 @eleddySaturday, November 10, 12
  5. Tip #1 MakePlansSaturday, 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. @eleddySaturday, 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* @eleddySaturday, 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 @eleddySaturday, November 10, 12
  9. Tip #2 BreakPlansSaturday, 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. Dont 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. @eleddySaturday, 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 @eleddySaturday, November 10, 12
  12. Tip #3 ThinkGlobally ActLocallySaturday, 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. @eleddySaturday, 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 @eleddySaturday, 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... @eleddySaturday, 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/ @eleddySaturday, November 10, 12
  17. Tip #4 CommunicateSaturday, 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. @eleddySaturday, 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 @eleddySaturday, 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 @eleddySaturday, 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 @eleddySaturday, November 10, 12
  22. Tip #5 BeAwesome ExpectAwesome You are responsible for the energy you bring into this room!Saturday, November 10, 12

×