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

Contributing to Open Source: from beginning to lessons learned @ Tropical Ruby 2015

Contributing to Open Source: from beginning to lessons learned @ Tropical Ruby 2015

77237b97a465ae5a293ad323b7296837?s=128

Carlos Antonio

March 07, 2015
Tweet

Transcript

  1. Contribu)ng+to+Open%Source from%beginning%to%lessons%learned

  2. Many%people%have%difficul1es%to%do% their%first%open%source%contribu1on,% while%others%struggle%to%keep% ac1vely%contribu1ng. —"Carlos"Antonio

  3. Carlos'Antonio @cantoniodasilva

  4. Marley

  5. None
  6. None
  7. None
  8. None
  9. None
  10. None
  11. None
  12. Timeline:(<=#2008

  13. None
  14. None
  15. None
  16. None
  17. Timeline:(2009

  18. None
  19. Timeline 2010!=>!maintaining!Plataformatec!OSS! projects,!ocasional!contribu9ons!to!Rails!and! other!projects.

  20. Timeline 2011!=>!maintaining!Plataformatec!OSS! projects,!ocasional!contribu9ons!to!Rails!and! other!projects.

  21. Timeline 2012!=>!Rafael!and!I!started!working! frequently!on!Rails. Life%got%in%the%way%=>%Burnout.

  22. Timeline 2013!=>!Contribu,ng!again,!without!changing! the!way!I!worked.

  23. I"got"married. <3#<3#<3

  24. Timeline 2013!=>!Contribu,ng!again,!without!changing! the!way!I!worked. Life%got%in%the%way%=>%Burnout.

  25. Timeline 2014!=>!Contribu,ng!again,!but!trying!new! ways!to!remain!ac,ve.

  26. Timeline Today!=>!Par'cipate!while!balancing!my!'me! between!life,!work,!and!OSS. No#burnout.

  27. None
  28. Timeline Future!=>!Trailblazer! Core!Team?!?

  29. Where%do%I%start? Contribu)ng+starts+with+using.

  30. Where%do%I%start? Find%something%fun%(or%painful).

  31. Where%do%I%start? Help%yourself.

  32. How$do$I$start? Look$for$how/what$others$are$doing.

  33. Rely%on%maintainers They%are%there%to%help%and%guide.

  34. How$do$I$start? Use$some$of$your$free$%me$(and$a$bit$of$your$ work$%me$too).

  35. Virtually)no#company)will)give)you) specific#-me)for)Open)Source. —#Carlos#Antonio

  36. It#is#up#to#you!

  37. How$do$I$start? Don't&be&afraid&to&share&your&work. ques%ons,)thoughts,)bug)reports,)small)patches,)typo)or)doc)fixes,) anything!

  38. 27.43%!of!all!pull!requests!get! rejected. —(Made(up(number

  39. Who$cares? !\_()_/!

  40. It#is#OK#to#be#wrong.

  41. It#is#all#about learning!/!improving.

  42. Celebrate!when!it!is!accepted.

  43. Remember! Limit!your!&me.!Create!a!workflow.

  44. Remember! Mo#va#on!vs!discipline. h"p:/ /www.wisdomina/on.com/screw3mo/va/on3what3you3need3is3discipline/

  45. Be#nice. Saying'thank&you'doesn't'hurt'<3.

  46. Ge#ng&prac%cal

  47. Asking'ques%ons Avoid!the!issues!tracker. Try$Mailing$Lists,$Stack$Overflow,$IRC,$etc.

  48. Repor&ng)issues Search'for'similar'issues!first.

  49. Repor&ng)issues Try$to$give$as#much#informa-on$as$possible.

  50. Repor&ng)issues Try$to$explain$how$to$reproduce$the$problem.

  51. Sending'comments Add#something!to!the!discussion.

  52. Sending'comments Don't&just&send&a&+1,&please.

  53. None
  54. None
  55. Sending'patches Follow%the%project's*code*conven.ons.

  56. Rails&indent&code&conven.on

  57. Sending'patches Review!what!you've!done!before!submi4ng.

  58. Sending'patches Try$to$give$as#much#context$as$possible.

  59. Sending'patches Add/update)the)docs)and)the)changelog.

  60. Sending'patches Tests?!?

  61. TDD is#dead

  62. Sending'patches Include(tests(when(possible.

  63. Sending'patches Incomplete*patches!are!OK.

  64. Sending'security)patches Never%send%them%to%the%issues%tracker.

  65. Never%send%a%security%patch to#the#issues%tracker

  66. Sending'security)patches Look$for$specific'emails,$or$no-fy'the' maintainers$directly.

  67. RTFC Read%The%F*cking%Contribu)ng.md.

  68. None
  69. None
  70. None
  71. Maintaining!a!project

  72. Split!the!work:!build!a!team Trust&people!to!do!the&right&thing™.

  73. Ask!for!contribu+ons Help%them%help%you.

  74. Turn%no#fica#ons(off%(some+mes) They%might%get%overwhelming.

  75. Respond(to(issues!frequently Create&a&workflow&to&avoid&them&piling&up.

  76. Tips%for%keeping%your%Open%Source% So2ware%issues%tracker%6dy —"José"Valim","Plataformatec

  77. Can$I$contribute$to$Rails$right&now? Help%reviewing%open%issues%and%PRs%❤.

  78. None
  79. Using&the&merge&bu.on&is&easy,& ensuring&that&a&reported&bug&is&really& an&issue&and&that&the&code&in&a&PR&is& ready&to&be&merged&is&way&harder& and&(me*consuming. —*The*Rails*Team

  80. RTFC Read%The%F*cking%Contribu)ng.md.

  81. h"p:/ /guides.rubyonrails.org/

  82. homework

  83. Giving&back:&A&prac/cal&guide&to& OSS&contribu/ons —"Aaron"Pa)erson","Red"Hat

  84. How$to$Contribute$to$Open$Source:$ Extensibility$from$Simplicity —"Ryan"Davis"+"AT&T"Interac4ve

  85. Don't&feel&guilty&about&not& contribu2ng&to&open&source —"Julia"Evans","Stripe

  86. I"some'mes"hear"people"say"“you% should%write%open%source%so2ware!”" like"it’s"a"universal"good."Don’t."Do"it" if"it"makes"sense"for"you,"if"it’s"worth" your"'me! —%Julia%Evans

  87. Contribu)ng+to+Big+Bad+Open+ Source —"Sean"Doyle"+"Thoughtbot

  88. Start%small

  89. Stay%mo#vated

  90. And$keep$patching!

  91. Let$me$know$if$I$can$help$:)

  92. Carlos'Antonio @cantoniodasilva carlosantoniodasilva@gmail.com about.me/carlosantoniodasilva !"❤$%