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

Design Your Own Open Source Project (PyCon Philippines)

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.

    View full-size slide

  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.

    View full-size slide

  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

    View full-size slide

  4. @bryanveloso
    current status: sitting
    http://flickr.com/photos/peterjlambert/97671748/

    View full-size slide

  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: beer

    View full-size slide

  6. @bryanveloso
    desired status: beer
    http://flickr.com/photos/thebbp/3777373967/

    View full-size slide

  7. @bryanveloso
    desired status: beer
    http://flickr.com/photos/jdlmdry/6789345226/

    View full-size slide

  8. @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!

    View full-size slide

  9. @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?

    View full-size slide

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

    View full-size slide

  11. @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?

    View full-size slide

  12. @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...

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  16. @bryanveloso
    feelings of awesome.
    feelings of awesome.
    http://flickr.com/photos/headlouse/1484615917/

    View full-size slide

  17. @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!

    View full-size slide

  18. @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.

    View full-size slide

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

    View full-size slide

  20. @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?

    View full-size slide

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

    View full-size slide

  22. @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.

    View full-size slide

  23. @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

    View full-size slide

  24. @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

    View full-size slide

  25. @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

    View full-size slide

  26. @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.

    View full-size slide

  27. @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.

    View full-size slide

  28. @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.

    View full-size slide

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

    View full-size slide

  30. @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.

    View full-size slide

  31. @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.

    View full-size slide

  32. @bryanveloso
    can you support this?
    http://www.flickr.com/photos/dannyboyster/167005223/

    View full-size slide

  33. @bryanveloso
    exit strategies?
    http://flickr.com/photos/think4d/4908754598/

    View full-size slide

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

    View full-size slide

  35. @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.

    View full-size slide

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

    View full-size slide

  37. @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 into the c
    And I have entered into the cal
    When I press
    Then the result should be on the
    behavior driven?

    View full-size slide

  38. @bryanveloso
    beer driven?
    http://flickr.com/photos/thebbp/3777373967/

    View full-size slide

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

    View full-size slide

  40. @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

    View full-size slide

  41. @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.

    View full-size slide

  42. @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.

    View full-size slide

  43. @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

    View full-size slide

  44. @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.

    View full-size slide

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

    View full-size slide

  46. @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.

    View full-size slide

  47. @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

    View full-size slide

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

    View full-size slide

  49. @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.

    View full-size slide

  50. @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

    View full-size slide

  51. @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/

    View full-size slide

  52. @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

    View full-size slide

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

    View full-size slide

  54. @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.

    View full-size slide

  55. @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.

    View full-size slide

  56. @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. :(

    View full-size slide

  57. @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.

    View full-size slide

  58. @bryanveloso
    we can work together.
    http://flickr.com/photos/benheine/6349627927/

    View full-size slide

  59. @bryanveloso
    respect what we do.
    because we definitely envy what you can do.
    http://flickr.com/photos/radicalccs/3080624143/

    View full-size slide

  60. @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.”

    View full-size slide

  61. @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

    View full-size slide

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

    View full-size slide

  63. @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.

    View full-size slide

  64. @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.

    View full-size slide

  65. @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

    View full-size slide

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

    View full-size slide

  67. @bryanveloso
    always keep the bar high.
    http://flickr.com/photos/boston_public_library/6323438713/

    View full-size slide

  68. @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!

    View full-size slide

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

    View full-size slide

  70. @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?

    View full-size slide

  71. @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.

    View full-size slide

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

    View full-size slide

  73. @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.

    View full-size slide

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

    View full-size slide

  75. @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.

    View full-size slide

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

    View full-size slide

  77. @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...

    View full-size slide

  78. @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.

    View full-size slide

  79. @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/

    View full-size slide