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
from rags to open-sourceRaleigh, North Carolina2014
View Slide
Mike McNeil@mikermcneilgithub.com/mikermcneil
bdfl ofthe leading open-sourceMVC framework for Node.js
the leading open-sourceMVC framework for Node.js
at least pageviews since 2013830,000GitHub stars8,030over downloads / day1,500
in funding$0
est. feb 2012
(us)(customer)(Javascript app)
love at first sightcirca 2011Node.js...
“We’re doing I/Ocompletely wrong.”
Unterschied!”“Not acceptable!”
“Threads shouldbe used byexperts only.”“Concurrencyshould be easy.”
How is that possible?(copy the browser)
// synchronous!console.log(‘hi’)// asynchronous!setTimeout(function (){!console.log(‘hi’);!}, 240000000);vs.incredible
could we use…for everything?I wondered…
so…
You don't want to be writing allthese system calls.You need something that givesyou… an ORM abstraction, orsomething.
so Sails.js was born
Sails is an MVC framework.
first version (late 2011)
December 2012
>=20 other community adapters custom app-specific adapters
January 2013first halfway-decent docshttp://web.archive.org/web/20130514080123/http://balderdashy.github.io/sails/
posted screencast in early 2013
…woke up to 1000 views
reddit — Feb 2013hacker news — Mar 2013and again two months later
managed to get sailsjs.org onlinemid-spring 2013
issuespull requests questions
????
???????????
v0.9 introduceda new streamlined asset pipeline
asset pipeline????“what about gulp?!”“so thirsty…”asset pipeline????????!!!!asset pipeline????????!!!!asset pipeline????????!!!!asset pipeline????????!!!!asset pipeline????????!!!!
so v0.10 introduced generators.
feature requestsare the hydra
they will never stop.
they will never stop.ever.
moral of the story
only write code you actually needif someone else actually needs something, they’ll write a pull requestonly merge new code if someone actually needsyou to merge it (i.e. there’s no other way, via aplugin or something)
Supporting the Community
ToolsMetricsAdvice
#sails on freenode (IRC)issuesgroups
• Github stars • NPM downloads / day • Google group membership • IRC channel activity • Number of tagged StackOverflow questions (and your answer ratio)
inline jsdoc commentsare not enoughwrite docs in markdowncompile to HTML
don’t repeat yourselfDRY
don’t repeat ourselvesDROthe goal of open source
make an IRC channel start a Google group post a YouTube videoso
support !== marketingbut remember
support !== marketing( )but remember
far more front-end developers∃than back-end developers
far more front-end developers∃than back-end developerseventuallyeveryday backend development will be commoditized
Questions?
from rags to open-source@mikermcneil