Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Enabling Open Source Contributors at Puppet


Published on

A talk given at Open Source Bridge 2016 about how we work to enable open source code contributions at Puppet.

Published in: Technology
  • Have you ever used the help of ⇒ ⇐? They can help you with any type of writing - from personal statement to research paper. Due to this service you'll save your time and get an essay without plagiarism.
    Are you sure you want to  Yes  No
    Your message goes here
  • Hello! I can recommend a site that has helped me. It's called ⇒ ⇐ They helped me for writing my quality research paper.
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Enabling Open Source Contributors at Puppet

  2. 2. #OSB16 | @KNITTYNERD | @HAIL_9000 WHO ARE WE? ▸ Morgan ▸ Worked on modules team for 1.5 years focusing on open source contributions ▸ Currently works on the release engineering team ▸ Hailee ▸ Worked on various core open source teams at puppet on and off since 2012 ▸ Currently works on the puppet platform team, one of the two teams largely responsible for community contributions 🙋
  3. 3. #OSB16 | @KNITTYNERD | @HAIL_9000 WHO ARE THESE CATS? Atton Tali Wendy Jonesy Cypress ✨ ✨ ✨ ✨ ✨ ✨ 🌸 ❤ 💝 ⭐ 🎀 💖 🐈
  4. 4. #OSB16 | @KNITTYNERD | @HAIL_9000 WHY ARE WE GIVING THIS TALK? ▸ Hopeful our trials and tribulations will help others enable their own contributors ▸ Have a discussion about our own practices and how they can be improved ▸ We want to help make open source accessible ✨
  5. 5. #OSB16 | @KNITTYNERD | @HAIL_9000 WHAT IS PUPPET? ▸ Puppet: The Software ▸ IT automation software ▸ Open Source and Enterprise Products ▸ Puppet code and functionality can be shared via modules ▸ Puppet: The Company ▸ Based in Portland, a few offices around the world, remote folks everywhere ▸ 400+ employees ✨
  6. 6. #OSB16 | @KNITTYNERD | @HAIL_9000 OUR OPEN SOURCE SITUATION ▸ Two development teams responsible for open source contributions ▸ Modules - puppet modules ▸ Puppet Core - most open source puppet component ▸ ~ 10 developers engaged ▸ A pretty huge codebase ▸ Over 300 public repositories ▸ Distributed across many repos ✨
  7. 7. #OSB16 | @KNITTYNERD | @HAIL_9000 COMMUNITY STATISTICS ▸ 2,529 total code developers ▸ 2,211 ticket participants ▸ 6,556 mailing list participants ▸ 24,110 IRC participants ▸ 2,663 Ask participants ▸ 1,535 module authors ✨
  8. 8. #OSB16 | @KNITTYNERD | @HAIL_9000 CONTRIBUTIONS: A BRIEF HISTORY ▸ Basically nothing ▸ A person on rotation ▸ A dedicated “team” ▸ Split into “core” and “modules” ▸ Core: Actual Puppet and other FOSS components (puppet, facter, hiera, etc) ▸ Modules: Code to configure other software you use, like apache, apt, mysql, etc ▸ Community Rotation ✨
  9. 9. #OSB16 | @KNITTYNERD | @HAIL_9000 OUR BIGGEST CHALLENGES 1. Balancing community work with other priorities 2. Providing support and feedback for contributors 3. Ensuring contributors have the resources they need to be successful 4. Emotional and mental challenges of open source work ✨
  10. 10. #OSB16 | @KNITTYNERD | @HAIL_9000 PRIORITIZING COMMUNITY WORK: CHALLENGES ▸ Letting community work lag because x feature or y bug is more urgent ▸ Just forgetting, especially if discussion of community work isn’t part of the day to day conversation ▸ Missing something depending on the frequency of incoming tickets, pull requests, and comments ▸ Internal processes and policies conflict with what the community wants ✨
  11. 11. #OSB16 | @KNITTYNERD | @HAIL_9000 PRIORITIZING COMMUNITY WORK: LESSONS LEARNED ▸ Triage rotations - designated people dedicated to community work ▸ Regular (weekly or biweekly) meetings to address community work ▸ Tracking community work in a public place ▸ Clearly defining community work as part of your team’s responsibilities ▸ Be upfront when setting expectations with the community ✨
  12. 12. #OSB16 | @KNITTYNERD | @HAIL_9000 AUTOMATED TOOLS! 🎉
  13. 13. #OSB16 | @KNITTYNERD | @HAIL_9000 PROVIDING SUPPORT AND FEEDBACK: CHALLENGES ▸ Technical mentorship ▸ Communication ▸ Saying no ✨
  14. 14. #OSB16 | @KNITTYNERD | @HAIL_9000 PROVIDING SUPPORT AND FEEDBACK: LESSONS LEARNED ▸ Give contributors a chance to speak with you face to face ▸ Know where people commonly get hung up and be willing to step in ▸ Be present and available on multiple channels ▸ Be consistent in the requirements for contribution ▸ Be accountable when you make mistakes ✨
  15. 15. #OSB16 | @KNITTYNERD | @HAIL_9000 ENSURING CONTRIBUTORS HAVE RESOURCES: CHALLENGES ▸ Effectively communicating our contribution process ▸ Helping beginners get started ▸ Enabling community members to help each other ✨
  16. 16. #OSB16 | @KNITTYNERD | @HAIL_9000 ENSURING CONTRIBUTORS HAVE RESOURCES: LESSONS LEARNED ▸ Clearly documenting our process in a place that’s easy to find ▸ Gather self teaching resources ▸ Hackathons to help people get involved ▸ Beginner and experienced contributor friendly 👌 ▸ Investing time in growing community champions ▸ Help spread our knowledge to leaders in the community to help them empower others ✨
  17. 17. #OSB16 | @KNITTYNERD | @HAIL_9000 EMOTIONAL AND MENTAL TOLL: CHALLENGES ▸ Open source never sleeps ▸ There are people who believe that you have no idea what you’re talking about ▸ You will inevitably disappoint someone ✨
  18. 18. #OSB16 | @KNITTYNERD | @HAIL_9000 EMOTIONAL AND MENTAL TOLL: LESSONS LEARNED ▸ Have an outlet when you need to vent at work ▸ It’s OK to step back if you need to ▸ Practice honest but kind ways to say “No” ✨
  19. 19. #OSB16 | @KNITTYNERD | @HAIL_9000 SOME GENERAL ADVICE ▸ Be honest with yourself and your community. Communicate reality, not what you wish reality was ▸ Don’t be afraid to keep iterating on your process ▸ Things are always in flux and you’ll have to adjust ▸ If something in your process doesn’t “feel right”, talk about it and fix it ▸ It’s okay to go back to things you previously abandoned, your needs are always changing ▸ Get to know your contributors! ✨
  20. 20. #OSB16 | @KNITTYNERD | @HAIL_9000 IN SUMMARY ▸ Open source maintenance is hard ▸ Processes need to always be evolving ▸ Working on process improvements helps to make it easier for contributors to get started in your community and makes work easier for maintainers ✨