$30 off During Our Annual Pro Sale. View Details »

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 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 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 Slide

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

    View 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 Slide

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

    View Slide

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

    View 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 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 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 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 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 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 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 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 Slide

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

    View 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Slide

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

    View Slide

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

    View 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 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 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 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 Slide

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

    View 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Slide

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

    View Slide

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

    View 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 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 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 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 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 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 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 Slide

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

    View 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 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 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 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 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 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 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 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 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 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 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 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 Slide