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

RailsConf 2013: Your First Rails Pull Request

RailsConf 2013: Your First Rails Pull Request

You have been doing this Rails thing for a while and you're starting to feel like it's time to give back. Great! Now what?
In this session we'll walk through the technical aspects of getting started with contributing back to Rails as well as the non-technical tips, tricks, and considerations to keep in mind along the way.

Mark McSpadden

May 01, 2013
Tweet

More Decks by Mark McSpadden

Other Decks in Programming

Transcript

  1. Your First Rails Pull Request Mark McSpadden RailsConf 2013 Wednesday,

    May 1, 13
  2. How to Submit a Pull Request to Rails Without Everyone

    Laughing at You Wednesday, May 1, 13
  3. How to Submit a Pull Request to Rails Without Being

    a Complete Jerk Wednesday, May 1, 13
  4. github.com/markmcspadden twitter.com/markmcspadden Wednesday, May 1, 13

  5. Wednesday, May 1, 13

  6. 1 Billion API calls / DAY Wednesday, May 1, 13

  7. Wednesday, May 1, 13

  8. Wednesday, May 1, 13

  9. Wednesday, May 1, 13

  10. Impressed yet? Wednesday, May 1, 13

  11. Don’t be impressed Wednesday, May 1, 13

  12. Wednesday, May 1, 13

  13. 2012 Wednesday, May 1, 13

  14. Submit a Pull Request to Rails every Month Wednesday, May

    1, 13
  15. i failed :( Wednesday, May 1, 13

  16. 10* Total Pull Requests to Rails 9* Accepted Wednesday, May

    1, 13
  17. DISCLAIMER: I AM NOT ON THE CORE TEAM I AM

    NOT ON THE ISSUES TEAM Wednesday, May 1, 13
  18. BUT MAYBE I CAN HELP YOU Wednesday, May 1, 13

  19. SPEAKING OF YOU Wednesday, May 1, 13

  20. Why contribute to Rails? Wednesday, May 1, 13

  21. Make the world a better place Wednesday, May 1, 13

  22. Make your life easier Wednesday, May 1, 13

  23. Make your life easier Wednesday, May 1, 13

  24. Better Understand Rails Wednesday, May 1, 13

  25. Better Understand Rails Wednesday, May 1, 13

  26. Get Famous Wednesday, May 1, 13

  27. Get Famous Wednesday, May 1, 13

  28. Get Famous Wednesday, May 1, 13

  29. The Rails Pull Request Ecosystem Wednesday, May 1, 13

  30. The Rails Org Chart Core Team Issues Team Support Gem

    Committers Me You You2 Wednesday, May 1, 13
  31. Draft: The Rails Org Chart Core Team Issues Team Support

    Gem Committers Me You You dhh yehuda tenderlove Wednesday, May 1, 13
  32. COMMUNICATION Wednesday, May 1, 13

  33. Wednesday, May 1, 13

  34. ALL RAILS THIS PR Wednesday, May 1, 13

  35. Wednesday, May 1, 13

  36. Stats on Rails Pull Requests Since RailsConf 2012 Wednesday, May

    1, 13
  37. 2912 Opened Wednesday, May 1, 13

  38. 1916 Merged Wednesday, May 1, 13

  39. 796 Rejected Wednesday, May 1, 13

  40. 200 Still Open Wednesday, May 1, 13

  41. Merged Pull Requests 5.5 Days Average Time to Merge Wednesday,

    May 1, 13
  42. Merged Pull Requests 74% < 24 hours to merge Merged

    Pull Requests Wednesday, May 1, 13
  43. Merged Pull Requests 90% < 9 days to merge Merged

    Pull Requests Wednesday, May 1, 13
  44. Rejected Pull Requests 18 Days Average Time to Reject Wednesday,

    May 1, 13
  45. Merged Pull Requests 58% < 24 hours to reject Merged

    Pull Requests Rejected Pull Requests Wednesday, May 1, 13
  46. Merged Pull Requests 73% < 7 days to reject Merged

    Pull Requests Rejected Pull Requests Wednesday, May 1, 13
  47. ISSUE PR Wednesday, May 1, 13

  48. How do you contribute? Wednesday, May 1, 13

  49. Pick a Thing Wednesday, May 1, 13

  50. Personal Experience Wednesday, May 1, 13

  51. Vision Wednesday, May 1, 13

  52. Pain & Anger Wednesday, May 1, 13

  53. Build First, Discuss Later Wednesday, May 1, 13

  54. The Rails Issues List Wednesday, May 1, 13

  55. Wednesday, May 1, 13

  56. Rails Issues Myth #1 There are lots of trivial Rails

    issues just waiting for you to swoop in a fix during your pomodoro break Wednesday, May 1, 13
  57. Rails Issues Myth #2 By commenting on an Issue, people

    will mistake you for someone important Wednesday, May 1, 13
  58. Rails Issues Myth #3 People that comment on Issues are

    jerks Wednesday, May 1, 13
  59. Supporting Gems Wednesday, May 1, 13

  60. 66 public repos Wednesday, May 1, 13

  61. 20 repos updated in the last month Wednesday, May 1,

    13
  62. 14 repos have open issues Wednesday, May 1, 13

  63. SECURITY Pull Requests Wednesday, May 1, 13

  64. DO NOT SUBMIT SECURITY ISSUES AS PULL REQUESTS Wednesday, May

    1, 13
  65. Wednesday, May 1, 13

  66. Research Wednesday, May 1, 13

  67. Wednesday, May 1, 13

  68. Setup Wednesday, May 1, 13

  69. Wednesday, May 1, 13

  70. Wednesday, May 1, 13

  71. Wednesday, May 1, 13

  72. Wednesday, May 1, 13

  73. Wednesday, May 1, 13

  74. Wednesday, May 1, 13

  75. This will take a while Wednesday, May 1, 13

  76. Fork Rails Wednesday, May 1, 13

  77. Wednesday, May 1, 13

  78. Wednesday, May 1, 13

  79. Wednesday, May 1, 13

  80. Wednesday, May 1, 13

  81. Wednesday, May 1, 13

  82. Wednesday, May 1, 13

  83. ZOMG you can run the tests for Rails Wednesday, May

    1, 13
  84. Don’t run all the tests for Rails Wednesday, May 1,

    13
  85. Wednesday, May 1, 13

  86. Wednesday, May 1, 13

  87. NOW it’s time to code... Wednesday, May 1, 13

  88. code on your physical machine Wednesday, May 1, 13

  89. test on your virtual machine Wednesday, May 1, 13

  90. Code Spelunking Wednesday, May 1, 13

  91. Review & Reflect Wednesday, May 1, 13

  92. Ask yourself... • Does this match the style of the

    code around it? • Could this hurt performance? (Have a benchmarked it?) • What are the future maintenance implications of my changes? • Does this make Rails better? Wednesday, May 1, 13
  93. Find a Friend Wednesday, May 1, 13

  94. run the tests Wednesday, May 1, 13

  95. update the CHANGELOG Wednesday, May 1, 13

  96. squash your commits Wednesday, May 1, 13

  97. Submit Your Pull Request Wednesday, May 1, 13

  98. Wednesday, May 1, 13

  99. Wednesday, May 1, 13

  100. Wednesday, May 1, 13

  101. Wednesday, May 1, 13

  102. Wednesday, May 1, 13

  103. Wednesday, May 1, 13

  104. The Summary • Explain yourself and show your smarts &

    research • Link to any performance benchmarks, etc (gists) • cc people (git blame) Wednesday, May 1, 13
  105. Submit Wednesday, May 1, 13

  106. Wait Wednesday, May 1, 13

  107. Respond Wednesday, May 1, 13

  108. Repeat Wednesday, May 1, 13

  109. The Joy of Victory Wednesday, May 1, 13

  110. Wednesday, May 1, 13

  111. The Agony of Defeat Wednesday, May 1, 13

  112. Wednesday, May 1, 13

  113. You Now Understand Rails Better Than Before Wednesday, May 1,

    13
  114. Wrap up Wednesday, May 1, 13

  115. Your favorite Pull Request is waiting for you... Wednesday, May

    1, 13
  116. Thank you! Wednesday, May 1, 13