10 secrets to sustainable open source communities


Published on

Published in: Technology
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

10 secrets to sustainable open source communities

  1. 10 Secrets to Sustainable Open Source Communities IWishIKnew HowToQuitYou Tuesday, July 23, 13
  2. WTF is Plone and why are you talking to me? Plone:Python CMS Work began: 1999 First release: 2003 Working with Plone for ~11 years, heavily involved in the last 5 Step 1: Get Frustrated Step 2: Get Involved Open 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
  3. 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
  4. ILovePlone At the end of the day, I admit it: and I want everyone to love their community just as much Tuesday, July 23, 13
  5. 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
  6. MakePlans Tip #1 Tuesday, July 23, 13
  7. It’s about the community, stupid. Discuss, communicate, react and think LongTerm Feature Planning Testing Infrastructure Marketing Code Cleanup Conferences/Sprints Legal Issues Documentation Support Are you in it for the long haul or jumping from one fad to the next? Plone.org @eleddy Tuesday, July 23, 13
  8. 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
  9. BreakPlans Tip #2 Tuesday, July 23, 13
  10. 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
  11. Nate Silver poops graphs better than this, but I’m not Nate Silver. *sigh* MeasureSuccess When 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.5 Major Releases: Plone.org @eleddy Tuesday, July 23, 13
  12. 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
  13. ThinkGlobally ActLocally Tip #3 Tuesday, July 23, 13
  14. 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
  15. 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
  16. 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 LocationBarrier The 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
  17. “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
  18. Communicate Tip #4 Tuesday, July 23, 13
  19. Never underestimate the impact that one voice can have on the tone of a community! Just try it. The first time is the hardest. SpeakUp Ask 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
  20. 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 rosepruyne Rose Pruyne Came out of no where and started fixing several bugs a week. Has p0wned the bug tracker lately. aka maartenkling Maarten 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, moo Mikko Ohtamaa Nothing is magic: there is a face behind everything Recognize people working BehindtheScenes and keep them happy! Plone.org @eleddy Tuesday, July 23, 13
  21. LiveBreatheThink CULTURE Tip #5 Tuesday, July 23, 13
  22. 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 person Alliances are best formed in person Trust is created & maintained in person BUT! OSS operates in a primarily remote arena Transparency => essential Never underplay the importance of meeting in person Foundation has capacity to spend $, influence culture New people -> established sprints/conferences Established people -> new sprints/conferences Plone.org @eleddy (for breakfast) Tuesday, July 23, 13
  23. 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 individuals Fairly represent your users (read:diversify) Explicit is better than implicit Nothing can be implied or assumed Identify and unempower toxic people Spontaneous apathy is a canary, address it head on Discuss and make major decisions in public eye Avoid side channel culture Plone.org @eleddy Tuesday, July 23, 13
  24. 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
  25. ATypicalPloneEvent Plone.org @eleddy Plone: Shenanigans Welcome Tuesday, July 23, 13
  26. STOP Recruiting Developers Tip #6 Tuesday, July 23, 13
  27. 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
  28. Redefine“Participate” Tip #7 Tuesday, July 23, 13
  29. http://github.com/eleddy/collective_stats_logviewer RealProblems Noisebridge 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
  30. TackleGovernance before it tackles you Tip #8 Tuesday, July 23, 13
  31. * There are other companies that kill projects. Oracle is just the best at it. Think twice before contributing to projects without a Non-ProfitFoundation Trademark/IP/Legal Marketing Organize Teams Conference Planning Fundraising Back Office Infrastructure Protect 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
  32. LoseControl Tip #9 Tuesday, July 23, 13
  33. Diverse, self-policing, redundant teams Release Manager elects pays an ungodly low wage to Foundation Members Foundation Board attempts to corral Framework Team UI Team Documentation Team Security Team Infrastructure Team PloneGovernance it’s complicated bootstraps Thank you Matthew Wilkes for writing this script! Plone.org @eleddy Tuesday, July 23, 13
  34. Works just fine for many projects! TightControl Plone.org @eleddy Tuesday, July 23, 13
  35. 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
  36. You are responsible for the energy you bring into this room! BeAwesome ExpectAwesome Tip #10 Tuesday, July 23, 13
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.