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

SxSW 2015

SxSW 2015

from rags to... open-source?

SxSW 2015
Austin, TX

Mike McNeil

March 15, 2015
Tweet

More Decks by Mike McNeil

Other Decks in Technology

Transcript

  1. from rags to… open-source?
    SXSW 2015 #ragstoopensource
    @sailsjs

    View Slide

  2. View Slide

  3. Mike McNeil
    @mikermcneil
    github.com/mikermcneil

    View Slide

  4. bdfl of
    the leading open-source
    MVC framework for Node.js

    View Slide

  5. the leading open-source
    MVC framework for Node.js

    View Slide

  6. at least downloads since 2013
    400,000
    GitHub stars
    9,800
    over downloads / day
    1,500

    View Slide

  7. in funding
    $0

    View Slide

  8. 3 Stages of Open-Source

    View Slide

  9. 1. No one knows about your $!#%
    2. No one knows how to use your $!#%
    3. No one pays you for your $!#%

    View Slide

  10. View Slide

  11. est. feb 2012

    View Slide

  12. View Slide

  13. (us)
    (customer)
    (Javascript app)

    View Slide

  14. love at first sight
    circa 2011
    Node.js...

    View Slide

  15. so…

    View Slide

  16. View Slide

  17. You don't want to be writing all
    these system calls.
    You need something that gives
    you… an ORM abstraction, or
    something.

    View Slide

  18. could we use
    …for everything?
    I wondered…

    View Slide

  19. View Slide

  20. View Slide

  21. Sails is an MVC framework.

    View Slide

  22. Sails is an MVC framework.

    View Slide

  23. Sails is an MVC framework.

    View Slide

  24. Sails is an MVC framework.

    View Slide

  25. Sails is an MVC framework.

    View Slide

  26. Sails is an MVC framework.

    View Slide

  27. Sails is an MVC framework.

    View Slide

  28. Sails is an MVC framework.

    View Slide

  29. first version (late 2011)

    View Slide

  30. December 2012

    View Slide

  31. View Slide

  32. >=20 other community adapters custom app-specific adapters

    View Slide

  33. January 2013
    first halfway-decent docs
    http://web.archive.org/web/20130514080123/http://balderdashy.github.io/sails/

    View Slide

  34. posted screencast in early 2013

    View Slide

  35. …woke up to 1000 views

    View Slide

  36. View Slide

  37. reddit — Feb 2013
    hacker news — Mar 2013
    and again two months later

    View Slide

  38. View Slide

  39. managed to get sailsjs.org online
    mid-spring 2013

    View Slide

  40. View Slide

  41. No one knows about your $!#%

    View Slide

  42. #sails on freenode (IRC)
    issues
    groups

    View Slide

  43. support !== marketing
    but remember

    View Slide

  44. support !== marketing
    ( )
    but remember

    View Slide

  45. measure things

    View Slide

  46. Github stars
    NPM downloads / day
    Google group membership
    IRC channel activity
    Number of tagged StackOverflow questions

    (and your answer ratio)

    View Slide

  47. View Slide

  48. View Slide

  49. ????

    View Slide

  50. ???????????

    View Slide

  51. v0.9 introduced
    a new streamlined asset pipeline

    View Slide

  52. asset pipeline????
    “what about gulp?!”
    “so thirsty…”
    asset pipeline????????!!!!
    asset pipeline????????!!!!
    asset pipeline????????!!!!
    asset pipeline????????!!!!
    asset pipeline????????!!!!

    View Slide

  53. so v0.10 introduced generators.

    View Slide

  54. feature requests
    are the hydra

    View Slide

  55. they will never stop.

    View Slide

  56. they will never stop.
    ever.

    View Slide

  57. No one knows how to use your $!#%

    View Slide

  58. inline jsdoc comments
    are not enough
    write docs in markdown
    compile to HTML

    View Slide

  59. remain humble
    you’re never big
    enough to be a dick

    View Slide

  60. make something people want

    View Slide

  61. better yet make something
    YOU want

    View Slide

  62. don’t repeat yourself
    DRY

    View Slide

  63. don’t repeat ourselves
    DRO
    the goal of open source

    View Slide

  64. if you don’t actually need a thing
    because it will suck
    don’t build it

    View Slide

  65. only write code you actually need
    if someone else actually needs something,
    they’ll write a pull request
    only merge new code if someone actually needs
    you to merge it (i.e. there’s no other way, via a
    plugin or something)

    View Slide

  66. View Slide

  67. View Slide

  68. we were
    monetized
    via
    professional
    services

    View Slide

  69. View Slide

  70.              C            O  
               NFI        DEN  
               TIA      L  i  
               nfo    rma  
               tion  in  
                 tended  
           only  for  t            he  addressee(s).  
       If  you  are  not  the  intended  recipient,  empl  
     oyee  or  agent  responsible  for  delivery  to  the  
       intended  recipient(s),  please  be  aware  that  
         any  review,  dissemination,  use,distribut  
             ion  or  copying  of  this  message  and  its  
                 contents  is  strictly  prohibited.  If  
               you  receive  this  email  in  error,  ple  
           ase  notify  the  sender  and  destroy  any                            
         paper  or                    electronic  copies        immediately.  

    View Slide

  71. View Slide

  72. View Slide

  73. View Slide

  74. View Slide

  75. View Slide

  76. View Slide

  77. We're just giving you
    functions that return
    functions that you do
    things with.
    Doug Wilson
    Lead Maintainer, Express

    View Slide

  78. A standardized interface for JavaScript functions.
    node-machine.org/spec

    View Slide

  79. far more front-end developers

    than back-end developers

    View Slide

  80. far more front-end developers

    than back-end developers
    eventually
    everyday backend development
    will be commoditized

    View Slide

  81. View Slide

  82. Y Combinator

    View Slide

  83. driving = bad idea

    View Slide

  84. View Slide

  85. View Slide

  86. View Slide

  87. “Since we can execute Bash and PowerShell scripts on the
    machine that is supposed to run the sails app, we can pretty
    much do whatever we want…”
    contributes to Sails.js

    View Slide

  88. “…Treeline is working with the
    Sails.js community to bring in
    JavaScript developers who
    could use the editor to be more
    productive.”

    View Slide

  89. View Slide

  90. No one pays you for your $!#%

    View Slide

  91. DONT
    TRY TO SELL FREE
    SOFTWARE

    View Slide

  92. creepy

    View Slide

  93. You can’t
    monetize open-source.

    View Slide

  94. build a new product
    on top of open-source tools

    View Slide

  95. not creepy

    View Slide

  96. ALL SOFTWARE
    WILL BE OPEN-SOURCE
    EVENTUALLY

    View Slide

  97. give more than
    you take

    View Slide

  98. Questions?
    @mikermcneil

    View Slide

  99. @mikermcneil
    from rags to… open-source?
    @ncrumrine

    View Slide