Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Open Source at Work: When Nights & Weekends Are Not Enough

Open Source at Work: When Nights & Weekends Are Not Enough

How leaders can encourage first-time contributors to give back to the community on a weekly basis. This talk is about our open source workflow at work, inspired by my experience as an open source maintainer, engineering manager, and new parent.

F77032adcbe77d2777bb0e0c30873159?s=128

Ernesto Tagwerker

March 07, 2018
Tweet

Transcript

  1. Open Source: When Nights & Weekends Are Not Enough Philly.rb,

    March 2018
  2. Ernesto Tagwerker @etagwerker

  3. Founder & Software Engineer at Ombu Labs

  4. Open Source Contributor & Maintainer

  5. Father & Husband at Home

  6. <<DISCLAIMER>>

  7. Open Source & Parenting 7

  8. Open Source & Lack of Time 8

  9. 2. What is a contribution? 9 1. Pre-Parenting vs. Post-Parenting

    3. Tips for Contributors, Maintainers, & Managers
  10. 2. What is a contribution? 10 1. Pre-Parenting vs. Post-Parenting

    3. Tips for Contributors, Maintainers, & Managers
  11. 2. What is a contribution? 11 1. Pre-Parenting vs. Post-Parenting

    3. Tips for Contributors, Maintainers, & Managers
  12. Pre-Parenting vs. Post-Parenting 12

  13. Pre-Parenting

  14. Open Source: Every Night 14

  15. Open Source: Entire Weekends 15

  16. None
  17. Post-Parenting

  18. Open Source: Every Night Some Nights 18

  19. Open Source: Entire Weekends Some Weekend Nights 19

  20. Open Source: At Work 20

  21. “Using and contributing to open source often happens on the

    job” (Open Source Survey 2017)
  22. What is an open source contribution anyway?

  23. Submitting a new issue 23

  24. Submitting a pull request 24

  25. Creating an open source project 25

  26. According to Github

  27. Other ways to contribute

  28. Adding additional info to an existing issue 28

  29. Proposing a workaround 29

  30. Answering a question in Stack Overflow 30

  31. Contribution: Adding value to an open source project

  32. 1. Contributors

  33. 1. Contributors 2. Maintainers

  34. 1. Contributors 2. Maintainers 3. Managers

  35. 8 Tips for Contributors

  36. 36 Bake in open source contributions in your workflow 1

  37. A Workflow Without Contributions

  38. 1. Use open source library 38 2. Find issue 3.

    Do research The Usual Workflow 4. Found new bug 5. Apply solution 6. Move on to next problem
  39. 1. Use open source library 39 2. Find issue 3.

    Do research The Usual Workflow 4. Found new bug 5. Apply solution 6. Move on to next problem
  40. 1. Use open source library 40 2. Find issue 3.

    Do research The Usual Workflow 4. Found new bug 5. Apply solution 6. Move on to next problem
  41. 1. Use open source library 41 2. Find issue 3.

    Do research The Usual Workflow 4. Found new bug 5. Apply solution 6. Move on to next problem
  42. 1. Use open source library 42 2. Find issue 3.

    Do research The Usual Workflow 4. Found new bug 5. Apply solution 6. Move on to next problem
  43. 1. Use open source library 43 2. Find issue 3.

    Do research The Usual Workflow 4. Found new bug 5. Apply solution 6. Move on to next problem
  44. A Workflow With Contributions

  45. 1. Use open source library 45 2. Find issue 3.

    Do research A Workflow With Contributions 4. Found new bug … 5. Submit a new issue 6. Submit a pull request (or not!)
  46. 1. Use open source library 46 2. Find issue 3.

    Do research A Workflow With Contributions 4. Found new bug 5. Submit a new issue 6. Submit a pull request (or not!) …
  47. 1. Use open source library 47 2. Find issue 3.

    Do research A Workflow With Contributions 4. Found new bug 5. Submit a new issue 6. Submit a pull request (or not!) …
  48. 48 … A Workflow With Contributions 4. Found new bug

    7. Apply solution 8. Move on to next problem 5. Submit a new issue 6. Submit a pull request (or not!)
  49. 49 2 bundle open & byebug are your friends

  50. 50 3 When you submit an issue include all your

    research
  51. None
  52. 52 4 Submit small pull requests

  53. None
  54. 54 5 Keep up with the latest versions

  55. None
  56. 56 6 Solve every problem as if your code were

    to be open sourced
  57. For example: As a Developer I want to be able

    to print official invoices in Argentina
  58. 58 https://github.com/ombulabs/afip_bill

  59. 59 7 Contribute with something you are passionate about

  60. 60

  61. 61 https://github.com/etagwerker/rtopsy

  62. 62

  63. Sorry!

  64. 64

  65. Yes!

  66. 66 8 Reach out to open source developers

  67. database_cleaner & email-spec

  68. 2 Tips for Maintainers

  69. 69 1 Be responsive

  70. None
  71. None
  72. 72 2 Actively search for co-maintainers

  73. database_cleaner & email-spec

  74. 2 Tips for Managers

  75. 75 1 Encourage your team members to make contributions

  76. 76 2 Recurring open source days (e.g. Open Source Fridays)

  77. Invest time contributing to open source

  78. Thank you! @etagwerker 78

  79. Resources 79 1. http://opensourcesurvey.org/2017/ 2. https://github.com/plataformatec/simple_form/issues/1503 3. https://github.com/plataformatec/simple_form/pull/1504 4. https://github.com/dear-github/dear-github

    5. https://github.com/pickhardt/maintainers-wanted 6. https://www.codetriage.com 7. https://github.com/departurerb/departure/pull/13 8. https://github.com/ombulabs/afip_bill/ 9. https://github.com/etagwerker/rtopsy 10. https://github.com/pengwynn/topsy