How to Build an Open Source Project in 3 Years

How to Build an Open Source Project in 3 Years

A tale about how and why I've built an open source gem named Pronto and things I've learned along the way.

B5009f255a6f0c386d40d6143948df8e?s=128

Mindaugas Mozūras

January 14, 2016
Tweet

Transcript

  1. HOW TO BUILD AN OPEN SOURCE PROJECT IN 3 YEARS

  2. MMOZURAS MMOZURAS CODINGFEARLESSLY.COM

  3. None
  4. VINTED

  5. MAKE SECOND-HAND THE FIRST CHOICE WORLDWIDE

  6. PRONTO! EXCLAMATION MARK ADDED FOR EMPHASIS, NOT PART OF THE

    ACTUAL PROJECT/GEM NAME
  7. None
  8. WHY OPEN SOURCE?

  9. EXPOSURE

  10. CONTRIBUTIONS

  11. •STORY/WHY •CODE •HUMANS

  12. PRONTO? WAIT. WHY DO WE ACTUALLY NEED THIS “QUICK AUTOMATED

    CODE REVIEW” THINGY?
  13. ONE DEVELOPER 2011

  14. 2012 08

  15. 2013 01

  16. DIFFERENT BACKGROUNDS, DIFFERENT STYLES

  17. PULL REQUESTS

  18. PULL REQUESTS

  19. HAVING RUBY STYLE GUIDE

  20. HAVING RUBY STYLE GUIDE

  21. JENKINS CODE QUALITY REPORT

  22. JENKINS CODE QUALITY REPORT

  23. None
  24. None
  25. ANNOYING FOR OTHERS

  26. MORE IMPORTANTLY, ANNOYING FOR ME

  27. AUTOMATE YOURSELF. SOLVE A PROBLEM YOU ACTUALLY HAVE

  28. RUBOCOP RUBY STYLE GUIDE ENFORCER

  29. PRONTO 0.0.1 RUBOCOP ON DIFFS

  30. None
  31. None
  32. None
  33. None
  34. None
  35. None
  36. ONE WEEK AFTER BARUCO PRONTO 0.1.0 WITH GITHUB FORMATTER

  37. None
  38. MINIMAL VIABLE PRODUCT

  39. CODE DECISIONS THAT I ALMOST DON’T REGRET.

  40. THOR

  41. THOR

  42. FORMATTERS

  43. GITHUB GITHUB_PR GITLAB JSON CHECKSTYLE TEXT

  44. PLUGIN ARCHITECTURE

  45. None
  46. BRAKEMAN COFFEELINT FASTERER FLAY FOODCRITIC JSCS JSHINT HAML-LINT POPER RAILS_BEST_PRACTICES

    RAILS_SCHEMA REEK RUBOCOP SCSSLINT SPELL SWIFTLINT TAILOR
  47. None
  48. None
  49. GOOD IMPLICIT CONFIG

  50. GOOD SMALLER FOOTPRINT

  51. BAD MORE WORK

  52. GOOD / BAD EASY TO CONTRIBUTE?

  53. HUMANS YUP. BUILDING AN OSS PROJECT REQUIRES INTERACTING WITH HOME

    SAPIENS.
  54. IF YOU BUILD IT, THEY WILL COME

  55. IF YOU BUILD IT, THEY WILL COME

  56. MARKETING

  57. YOUR README IS YOUR HOMEPAGE

  58. TWITTER

  59. RUBYFLOW

  60. RUBY5

  61. IF THEY LIKE IT THEY WILL SHARE

  62. IF THEY LIKE IT, THEY WILL SHARE

  63. DEVELOPERS HAVE EMOTIONS

  64. SAY “THANKS”

  65. HAVING CONTRIBUTORS IS THE BEST FEELING EVER (PRODUCT VALIDATION)

  66. PRONTO. BUILDING AN OPEN SOURCE PROJECT IS FUN.

  67. OPEN SOURCE PROJECT ~= REGULAR PROJECT

  68. SOLVE A PROBLEM YOU ACTUALLY HAVE

  69. MINIMAL VIABLE PRODUCT

  70. DO SOME MARKETING

  71. CONTRIBUTORS CONTRIBUTORS CONTRIBUTORS

  72. None
  73. THANKS!