
The Next Phase of Node.js - sintaxi
http://blog.nodejs.org/2014/01/15/the-next-phase-of-node-js/index.html
======
hartator
What about the bnoordhuis story?

It seems not to be active again for his lib:
[https://github.com/joyent/libuv/graphs/contributors](https://github.com/joyent/libuv/graphs/contributors)

For people who don't know, bnoordhuis exiled himself 2 months ago after the
bashing the node.js community imposed him for not merging a pull about gender.
It was a shame because he was in the top 3 contributors. (all details:
[https://github.com/joyent/libuv/pull/1015](https://github.com/joyent/libuv/pull/1015))

~~~
IsaacSchlueter
What about 9/11?

~~~
jsmthrowaway
I'm starting to think everyone involved with node.js should probably start
speaking through a PR person. I can't even remotely imagine the logic behind
this comment.

~~~
mjn
I'm not sure if you're American or not, but it's a fairly common meme of sorts
in U.S. discourse. "But what about 9/11" is shorthand for "I'm bringing up
some random political point that is irrelevant to the discussion at hand,
because I hope I can outrage people."

For a period absolutely _everything_ , whether at all even distantly related
or not, was somehow tied to "because 9/11" or "what about 9/11". Not because
people actually thought it was relevant, but because politicians can't pass up
a chance to grandstand by invoking something that people have strong opinions
on.

I thought it was a succinct way of conveying the point here. "But what about
the node.js gender incident??" isn't as widespread and not as big a problem as
the "but what about 9/11???" crowd, but suffers from a sort of isomorphic
logic.

~~~
jsmthrowaway
On 4chan, "Jews did 9/11" is also a meme. Should I not consider that a
horrible comment simply because it has some meme qualities?

Bend over backwards to forgive and explain all you want, I guess.

~~~
mjn
If someone were to mock a conspiracy theorist by saying he was like the "Jews
did 9/11" people, I wouldn't have any problem with that comparison.

------
beaumartinez
> _I am starting a company, npm, Inc., to deliver new products and services
> related to npm._

I don't know whether I should be concerned a core part of Node.js is becoming
"businessy". Is this common amongst other big software projects?

Providing "premium" services is a slippery slope. What happens when someone
wants to add a feature to npm that the premium services already provide, for
example?

Python and Django have non-profits which help sustain their ecosystems, but
AFAIK Node.js doesn't. Perhaps it would be a good step.

~~~
mbrubeck
I think it can work, though you have to be careful to avoid conflict with
community goals. It seems to work best when the "premium services" involve
technical support or custom open source development, rather than closed-source
code.

Canonical and Red Hat are examples of for-profit businesses that primarily
build and distribute free software, including employing some of the developers
and managing some of the open source projects they distribute. I believe both
make money primarily through "premium services" (especially "enterprise"
support services).

Ximian was a for-profit company started by Nat Friedman and GNOME project
founder Miguel de Icaza, which developed much of the GNOME code base for a
while. (It was later acquired by Novell.) Miguel went on to found the Mono
project and Xamarin, the for-profit company that leads development of Mono.

Qt, MySQL, InnoDB, and Berkeley DB were each developed in part by businesses
using dual licensing models, where licenses for use with non-free-software
were available for a fee. (The original companies have since been acquired by
Nokia, Sun, Oracle, and Oracle, respectively. Sun was itself later acquired by
Oracle.)

The author of SQLite earns income by providing commercial support and custom
development services:
[http://www.sqlite.org/support.html](http://www.sqlite.org/support.html)

The developers of CyanogenMod recently founded a VC-backed company to fund its
development. I'm sure there are a bunch more examples like this that I've
forgotten or don't know about.

I agree that a non-profit foundation has benefits for free software projects.
(I've been a developer on three projects associated with non-profits:
Audacity, Debian, and Mozilla.) "For profit" as I used it above may be the
wrong label, though. "Taxable" might be a better word in some cases. If a
company is privately held, then its owners can use it to pursue a mission
other than maximizing profit. For example, I'm employed by the Mozilla
Corporation, a taxable entity that is a wholly-owned subsidiary of the non-
profit Mozilla Foundation. The Corporation has to pay taxes because of the
nature of its income and spending, but its mission is still that of its sole
shareholder, the Foundation.

~~~
IsaacSchlueter
> If a company is privately held, then its owners can use it to pursue a
> mission other than maximizing profit

Well, that depends on your shareholders.

Mozilla Corp can do this, because its only shareholder is Mozilla Foundation.

However, the minute you take institutional investment, hand out shares to
employees, take on debt financing, etc., you are now bound by a fiduciary duty
to do right by those other parties. You still _can_ focus on other things, but
only if they don't _conflict_ with turning a profit.

In my opinion, "turning a profit" in fact serves the greater needs of the
npm/node community, because servers cost money. npm isn't just a program, it's
a service, and services require infrastructure. So, it's not a conflict at
all.

It is a very foolish business person who sees an exponential curve of user
engagement, and decides that the best way to make money is to screw all those
people.

~~~
yapcguy
_> However, the minute you take institutional investment, hand out shares to
employees, take on debt financing, etc., you are now bound by a fiduciary duty
to do right by those other parties. You still can focus on other things, but
only if they don't conflict with turning a profit._

This is not true. The shareholder value myth has been debunked by law
professors.

"...shareholder primacy theory was first advanced by economists, not lawyers.
This may explain why the idea that corporations should be managed to maximize
shareholder value is based on factually mistaken claims about the law."

[http://www.europeanfinancialreview.com/?p=6482](http://www.europeanfinancialreview.com/?p=6482)

"Contrary to myth, the sale of Ben & Jerry’s to corporate giant Unilever
wasn’t legally required."

[http://www.ssireview.org/articles/entry/the_truth_about_ben_...](http://www.ssireview.org/articles/entry/the_truth_about_ben_and_jerrys)

~~~
IsaacSchlueter
Yeah, whatever. Academic. IANAL, but I'm guessing you aren't either, so let's
leave that to the lawyers. I'm sorry I brought it up.

Bottom line, I've done a lot of work on npm over the last 4 years, and I've
got some ideas about how to best take care of it in the future. Those ideas
require money, and it's a lot easier to get money if you have a plan to turn
it into MORE money. (This IS still a site about startups, right? ;)

If things keep expanding and growing like they have, then it's going to
require _more_ money. So, we've gotta earn our keep to be sustainable, and the
way to do that is to provide stuff people will pay for.

Also, I like to make money. It's fun, and it keeps you grounded in reality, if
you run it like a responsible business. So that's another nice plus of going
this route. I still have full flexibility to carve things up however I want
later on, and like I said, we're keeping every option on the table.

~~~
beaumartinez
> _This IS still a site about startups, right?_

Yes, but this thread is still about a language.

> _I like to make money._

Of course. And the main concern with npm, Inc is whether making money will at
some point conflict with wanting to make npm better, no-strings-attached.

~~~
IsaacSchlueter
npm's "no strings attached" low-ceremony approach is the _reason_ why it's
taken off like it has. The purpose of all this is to keep that going.

If "make money" ever appears to be in conflict with the thing that puts us in
a position to make money, then we're thinking about it wrong.

For example, imagine if Twitter were not from the get-go a for-profit company.
If they got really popular, and then said, "Hey, guys, we can't keep the
lights on without figuring how a monetization strategy, so we're gonna take
some VC and do that." It wouldn't be wise to assume that "make money" was
going to mean "charge to read or post tweets". Forget love or greed or good
and evil, that wouldn't be a smart way to make money.

What is currently free will remain free, precisely because the free-ness of it
is what makes npm interesting.

------
bhouston
So NPM Inc.? Interesting. I do think NPM requires its own team, but I am
unsure if NPM itself is a business (although I can see it being a sponsored
foundation.) But there are hopefully creative business solutions to be had
here.

Q: How does this relate to the money I gave to the Scale NPM project a few
months back? [https://npm.nodejitsu.com/](https://npm.nodejitsu.com/)

~~~
IsaacSchlueter
> But there are hopefully creative business solutions to be had here.

I sure hope so! I'll be sharing many more details about the specifics in the
next few days. I just kept it brief in this announcement so as not to drown
out the message about TJ taking over Node.

> Q: How does this relate to the money I gave to the Scale NPM project a few
> months back? [https://npm.nodejitsu.com/](https://npm.nodejitsu.com/)

The money you gave to Nodejitsu to continue supporting npm was a huge part of
getting us in front of the exponential growth curve. I'll continue to be
closely involved with Nodejitsu.

But a service of npm's scale and importance can't survive on handouts forever.
At some point, we need much more continued investment and a focused team, and
the way to get that is to develop additional features that people are willing
to pay for.

~~~
bhouston
IsaacSchlueter: Your NPM & Node made this possible btw:
[http://facebook.com/Exocortex](http://facebook.com/Exocortex)
[http://clara.io](http://clara.io)

Thank you!

(And yeah we do an "npm install" from the NPM servers during production
deploys, I guess we like to live dangerously. We should probably fix that.)

~~~
adamcanady
Clara.io looks great, nice work on that! Would you mind elaborating on how it
was created?

------
nilsbunger
What's next? The pip corporation? Worldwide Gems Inc?

"Global ./configure&&make&&make install Industries" ?

~~~
astrodust
I hope so.

The problem with things like rubygems is so long as it's a community project
with people donating their time to it, any grievances you have with the
service can be trumped by "we're just doing this in our spare time, lay off".

While I respect people who contribute to software in their spare time, pip and
rubygems are way, way too important for them to be taken so casually. I really
appreciate that the NodeJS community is increasing their commitment to the NPM
infrastructure.

------
jnardiello
How about the 200k Nodejitsu crowdfunded not long ago for npm? Also, how the
npm revenue model is going to affect packages distribution? To whoever may
concern: I expect some clear answers. There's simply too much money going
around Node at the moment and while it _might_ eventually be a good thing (as
involved companies will push node adoption among devs), it's also scaring and
quite weird.

[EDIT: Isaac already partially replied, see other answer]

~~~
IsaacSchlueter
Copied for posterity from the other answer:

 _The money you gave to Nodejitsu to continue supporting npm was a huge part
of getting us in front of the exponential growth curve. I 'll continue to be
closely involved with Nodejitsu._

 _But a service of npm 's scale and importance can't survive on handouts
forever. At some point, we need much more continued investment and a focused
team, and the way to get that is to develop additional features that people
are willing to pay for._

> There's simply too much money going around Node at the moment and while it
> might eventually be a good thing (as involved companies will push node
> adoption among devs), it's also scaring and quite weird.

Yes, there is the hazard of extrinsic motivation messing up intrinsic
motivations. That's why pursuing revenue around npm must be done carefully.

------
rtfeldman
I assumed from the title this would be an announcement about Node 1.0, but I'm
not terribly surprised to see the trend continue of approaching 1.0
asymptotically.

Still, this is interesting stuff. Does anyone know if any similar repos (Ruby
Gems, etc.) have their own for-profit companies?

~~~
prezjordan
RubyGems is funded through Ruby Central [0], a 501(c)(3).

I imagine Ruby Central gets a significant chunk through conference ticket
sales? Someone more knowledgable here can chime in :)

[0]: [http://rubycentral.org](http://rubycentral.org)

------
drakaal
Node is becoming a business not a community, and the community is taken by
surprise. I saw this coming, but I think many people thought Node was about
free love and changing the world. It is down hill from here. You can avoid a
lot of politics when there isn't any money involved, but now there is, and
that changes everything.

------
transfire
NPM "app" store? Should I laugh, cry or try to monetize?

~~~
anarchy8
All three, at the same time.

------
majke
Good luck Isaac and thanks for all the fish!

You did a great work as a node lead. The brief moment when our paths crossed,
due to a security issue in node, was handled perfectly. Seriously. You will be
missed.

------
niix
Awesome, so glad Isaac gets to focus on what he loves. Congrats to TJ on his
new role!

------
ozten
I'd love to see an alternative to npm that:

* Puts security as a high priority

* That is operated as a federated system (think bitcoin block chain)

* Puts uptime as a high priority

Many companies and individuals could run deployments of it, removing the need
for a new NPM Inc to pay for service costs.

------
matan_a
While there are ways to create private registries [0], having a new packaged
way to do it would be very useful to some orgs.

[0] [https://npmjs.org/doc/registry.html#Can-I-run-my-own-
private...](https://npmjs.org/doc/registry.html#Can-I-run-my-own-private-
registry)

------
binocarlos
"The peacekeeping budget for the 2013–14 fiscal year was $7.54 billion" \-
this is from the Wikipedia UN page

I'm not saying that npm is like, that important, but - take 0.01% (one ten
thousandth) and npm would have an annual budget of 3/4 million bucks.

Will we get to a place where core software distribution to devices not humans
is deemed as critical infrastructure?

It would be great to know that npm (and github and every other package
distribution tool) were somehow too big to fail like banks have shown to be.

Meanwhile - everyone who has worked hard to make npm and node brilliant -
thank you!

~~~
sylvinus
Are you actually suggesting to divert UN money to run NPM servers? ;-)

~~~
binocarlos
lol not the 'actually' part : ) just comparing the budgets and saying npm is
0.01% as important to the world as the UN

------
thepumpkin1979
"Open-Source Democracy 101"... 3 Leaders in less than five years: Ryan
Dahl(2009-2012) -> Isaac Z. Schlueter(2012-2013) -> Timothy J
Fontaine(2014-2016?)

~~~
drawkbox
True but it is quite a load of work. People on average change jobs about that
often as well nowadays. It is like a massive project or a fulltime job for x
years. Even Guido the Python BDFL largely is more of a Board of Director for
Life. He developed Python largely on his own for 5+ years. Only so many years
in a project per programmer, not everyone is a Linus or Guido. Too many other
fun things to get into after the initial purpose/goal is achieved.

Python's code_swarm: [http://vimeo.com/1093745](http://vimeo.com/1093745)

~~~
chilledheart
I hope ry can bring us more surprise for node for he invented node and
libuv.On the contrary, I didn't see any new techs from Isaac or TJ Fontaine to
compare with both of two yet.

------
edwinnathaniel
There's nothing wrong to focus on NPM.

Take a look at Maven[[http://maven.apache.org](http://maven.apache.org)] and
Sonatype[[http://www.sonatype.com/](http://www.sonatype.com/)] (dependency
management in Java-land).

Works awesomely (and maybe even better!).

~~~
empthought
There's no "maybe" about it, I don't think.

------
jaiball
wonder if this has anything to do with the npm maintainer who is missing. Hope
he's ok.

~~~
IsaacSchlueter
No, this does not have anything to do with him. This has been in the works for
several months.

I also hope Luke's ok. Thanks.

------
drderidder
I just wanted to wish Isaac the best with his new initiative. He's been a
great contributor and helped make the node community a fun and friendly one.

[edit] - originally thought TJ Fontaine wasn't employed by Joyent but
apparently he is.

------
lnanek2
Kind of disappointing this wasn't more about the technical direction. Really
feel the title is misleading and should have been something about
leadership/people change so I would have known not to bother reading it.

------
yachtintransit
i think is a great thing! communities flourish when they are support by
companies with effective ( preferably transparent) revenue models. exciting
times . npm inc , best of luck !

------
dmourati
The next phase of npm should be to fix this open issue:

[https://github.com/npm/npm/issues/4131](https://github.com/npm/npm/issues/4131)

~~~
camus2
and to add namespaces to packages , i think its the single thing npm did not
get right.

------
mmaunder
I suspect that the ecosystems forming around node will find more success by
emulating what Ubuntu has done vs RedHat.

------
calroc
Node.js is a scam.

~~~
josephagoss
Can you explain? I program in Node and have not encountered any plea for money
or such. I am guessing the "scam" is that the former lead developer is now
trying to monetize Node.js in someway. I wouldn't worry because the core
project is free and that cannot be undone.

~~~
calroc
Oh no, nothing so prosaic as that. (For the record I am in favor of making a
[good!] living via open-source software.) The scam is this:

I believe that Node.js is waaay too immature to be used as a foundational
technology, yet so many people (both folks who should know better and their
naive followers) are trumpeting it as a great wonderful thing, pushing it hard
as hell.

If you really need dynamic programming on your back-end server use Twisted.
Twisted.

If you just said "but my engineers only know JS!" reflect: you have people
that won't or can't learn Python but who feel okay about writing your back-end
code.

Fire them and hire a real programmer.

Toys are very fun, and I would never try to take that away from anyone, but
(in my opinion) there are waaay too many people pushing Node for production
work that should know better, and that's the scam.

Node is not ready for the position which people are hyping it for, and (again
in my opinion) if you are telling your non-tech-savvy clients or students that
they should learn and use Node because it is ready for prime time then you're
lying to them or simply naive and misguided.

~~~
camus2
> I believe that Node.js is waaay too immature to be used as a foundational
> technology, yet so many people (both folks who should know better and their
> naive followers) are trumpeting it as a great wonderful thing, pushing it
> hard as hell. If you really need dynamic programming on your back-end server
> use Twisted. Twisted.

I fail to see how Twisted is a better choice than Node , but I agree on
Node.js(and NPM) immaturity.

All async frameworks need async libraries. With Node async is the default.You
cant use any python sync io lib with Twisted for instance. Or it defeats its
purpose.

I dont think Javascript is an issue especially with ES6 coming.

But like Twisted , NodeJS is not for everything ,that's the main issue
here,with people trying to be fullstack javascript, and claiming they will
replace CMS X or MVC framework Y with NodeJS.

~~~
calroc
Twisted is (would have been) a better choice because it is (was) already done.
(And done really really well.)

To me it feels like people are busily (and happily) rewriting a lot of stuff
in JS that might just be written better in some other language (Go) or have
already been written (Erlang)

I actually like JS (Thank you Crockford) but it was startling to see it show
up on the server side, and downright alarming to see so many people go apeshit
over it.)

