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

All Things Open

Mike McNeil
October 23, 2014

All Things Open

from rags to open-source

All Things Open
Raleigh, NC
October 2014

(http://allthingsopen.org/speakers/mike-mcneil/)
Video: http://youtu.be/MSkM4uqFsMI?t=13m43s

Mike McNeil

October 23, 2014
Tweet

More Decks by Mike McNeil

Other Decks in Technology

Transcript

  1. from rags to open-source
    Raleigh, North Carolina
    2014

    View Slide

  2. Mike McNeil
    @mikermcneil
    github.com/mikermcneil

    View Slide

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

    View Slide

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

    View Slide

  5. at least pageviews since 2013
    830,000
    GitHub stars
    8,030
    over downloads / day
    1,500

    View Slide

  6. in funding
    $0

    View Slide

  7. View Slide

  8. est. feb 2012

    View Slide

  9. View Slide

  10. (us)
    (customer)
    (Javascript app)

    View Slide

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

    View Slide

  12. “We’re doing I/O
    completely wrong.”

    View Slide

  13. Unterschied!”
    “Not acceptable!”

    View Slide

  14. “Threads should
    be used by
    experts only.”
    “Concurrency
    should be easy.”

    View Slide

  15. How is that possible?
    (copy the browser)

    View Slide

  16. // synchronous!
    console.log(‘hi’)
    // asynchronous!
    setTimeout(function (){!
    console.log(‘hi’);!
    }, 240000000);
    vs.
    incredible

    View Slide

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

    View Slide

  18. so…

    View Slide

  19. View Slide

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

    View Slide

  21. so Sails.js was born

    View Slide

  22. View Slide

  23. 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. Sails is an MVC framework.

    View Slide

  30. Sails is an MVC framework.

    View Slide

  31. Sails is an MVC framework.

    View Slide

  32. first version (late 2011)

    View Slide

  33. December 2012

    View Slide

  34. View Slide

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

    View Slide

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

    View Slide

  37. posted screencast in early 2013

    View Slide

  38. …woke up to 1000 views

    View Slide

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

    View Slide

  40. View Slide

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

    View Slide

  42. issues
    pull requests

    questions

    View Slide

  43. View Slide

  44. View Slide

  45. View Slide

  46. ????

    View Slide

  47. ???????????

    View Slide

  48. v0.9 introduced
    a new streamlined asset pipeline

    View Slide

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

    View Slide

  50. so v0.10 introduced generators.

    View Slide

  51. feature requests
    are the hydra

    View Slide

  52. they will never stop.

    View Slide

  53. they will never stop.
    ever.

    View Slide

  54. moral of the story

    View Slide

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

  56. View Slide

  57. View Slide

  58. Supporting the Community

    View Slide

  59. Tools
    Metrics
    Advice

    View Slide

  60. #sails on freenode (IRC)
    issues
    groups

    View Slide

  61. Tools
    Metrics
    Advice

    View Slide

  62. • Github stars

    • NPM downloads / day

    • Google group membership

    • IRC channel activity

    • Number of tagged StackOverflow questions

    (and your answer ratio)

    View Slide

  63. Tools
    Metrics
    Advice

    View Slide

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

    View Slide

  65. don’t repeat yourself
    DRY

    View Slide

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

    View Slide

  67. make an IRC channel

    start a Google group

    post a YouTube video
    so

    View Slide

  68. support !== marketing
    but remember

    View Slide

  69. support !== marketing
    ( )
    but remember

    View Slide

  70. far more front-end developers

    than back-end developers

    View Slide

  71. far more front-end developers

    than back-end developers
    eventually
    everyday backend development

    will be commoditized

    View Slide

  72. Questions?

    View Slide

  73. from rags to open-source
    @mikermcneil

    View Slide