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

Design Your Own Open Source Project (PyCon Phil...

Design Your Own Open Source Project (PyCon Philippines)

My (first) closing keynote for the inaugural PyCon Philippines held at the University of the Philippines in Diliman on June 30th, 2012.

Getting into open source can be intimidating. It's not something that you can just wake up in the morning and start doing if you've never done it before. From a high level, let's "design" our first open source project, complete with quick methodologies, tips, tricks and some extra bits specifically for those in attendance.

Bryan Veloso

June 30, 2012
Tweet

More Decks by Bryan Veloso

Other Decks in Programming

Transcript

  1. design your own Open source Project A Closing Keynote for

    the Inaugural PyCon Philippines • June 30, 2012 Presented by Bryan Veloso.
  2. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. (lol, military time.) it’s 17:15.
  3. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. current status: sitting
  4. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. desired status: beer
  5. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. desired status: cola? there are students in the house!
  6. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. design let’s begin, shall we?
  7. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here.
  8. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. so, why bother?
  9. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. because  ryan  gosling loves  open  source...
  10. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. wat.
  11. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. collaboration.
  12. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. validation.
  13. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. your new portfolio. hi @pydanny!
  14. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. but wait. my company doesn’t DO open source.
  15. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here.
  16. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. the  higher  ups got  you  down?
  17. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here.
  18. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. let me fix this for you.
  19. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. If you do it right, open sourcing code is great advertising for you and your company. At GitHub we like to talk publicly about libraries and systems we've written that are still closed but destined to become open source. —Tom Preston-Werner “
  20. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. If your code is popular enough to attract outside contributions, you will have created a force multiplier that helps you get more work done faster and cheaper. More users means more use cases being explored which means more robust code. —Tom Preston-Werner “
  21. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. it’s the right thing to do. http://tom.preston-werner.com/2011/11/22/open-source-everything.html
  22. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. designing the documentation. the promotion. the purpose.
  23. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. designing the documentation. the promotion. the purpose.
  24. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. design low-level.
  25. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. python, obviously.
  26. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. design high-level.
  27. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. fix your problems first.
  28. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. design methodologies.
  29. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. contribution model? pull requests? patches? no really, pull requests.
  30. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. test driven?
  31. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. language: en eature: Addition In order to avoid silly mistakes As a math idiot I want to be told the sum of two numbers Scenario Outline: Add two numbers Given I have entered <input_1> into the c And I have entered <input_2> into the cal When I press <button> Then the result should be <output> on the behavior driven?
  32. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. beercola driven?
  33. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. licenses? http://www.codinghorror.com/blog/2007/04/pick-a-license-any-license.html
  34. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. where should i host it? simplest. question. ever.
  35. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. test? use travis-ci.org. test shouldn’t be a question, you should be testing. this automates it.
  36. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. the documentation. the promotion. the purpose. designing
  37. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. python = epic docs.
  38. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. READMEs.
  39. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. "" This is the "example" module. The example module supplies one function, factorial(). >>> factorial(5) 120 """ def factorial(n): """Return the factorial of n, an exact integer >= 0. >>> [factorial(n) for n in range(6)] [1, 1, 2, 6, 24, 120] >>> factorial(30) use docstrings.
  40. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. sphinx.pocoo.org
  41. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. readthedocs.com
  42. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. design some examples.
  43. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. docs.djangoproject.com
  44. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. flask.pocoo.org/docs/
  45. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. the documentation. the promotion. the purpose. designing
  46. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. seriously, READMEs.
  47. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. seriously, EPIC DOCS.
  48. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. make a minisite. buy a domain name, link it to your documentation.
  49. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. or recruit a designer! but not me. sorry. :(
  50. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. so, about designers... uh oh.
  51. @bryanveloso respect what we do. because we definitely envy what

    you can do. http://flickr.com/photos/radicalccs/3080624143/
  52. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. but how? “i’ll trade you development knowldge for design knowledge.”
  53. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. your  client,      boss  or  spouse you
  54. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. finally. students.
  55. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. words of motivation.
  56. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. get involved now. your youth is in your favor.
  57. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. github.com/edu
  58. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here.
  59. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. design now go make the web... you can do it! i believe in you!
  60. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here.
  61. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. design do we still have time?
  62. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. hi, i’m bryan.
  63. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. designer/developer.
  64. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. i maintain this.
  65. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. 100% filipino.
  66. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. i know zero tagalog.
  67. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here.
  68. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. facebook.com/bryanveloso twitter.com/bryanveloso github.com/bryanveloso twitch.tv/vlogalonstar and if you’re into gaming...
  69. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. it’s been an honor.
  70. @bryanveloso for the benefit of those who like to sit

    in the back row, i’ve refrained from putting anything important here. design thank you! you can find the slides at: http://speakerdeck.com/u/bryan/