Hacker News new | past | comments | ask | show | jobs | submit login
Popular JavaScript Package Manager Npm Raises $8M, Launches Private Modules (techcrunch.com)
101 points by doppp on April 14, 2015 | hide | past | favorite | 64 comments



Do I just not get the scale? For this investment to make sense, they would have to get to $100s of million dollars, but by charging a few thousand companies $7?

And I'd say there's a 50/50 chance node will completely collapse within 10 years or so. And that's being generous, javascript is a controversial language and the standards committee moves very slowly. I honestly can't see it staying king once browsers can support other languages. You only have to see how fast Ruby was a darling and even now might be regarded on its swan song, less than 10 years later. Tech changes, the next big language will hit soon.

Congratulations to them and all that, and great product, I'm just wondering if someone can explain the sense in investing so much money into something like this? As this seems an incredibly risky venture?


You only have to see how fast Ruby was a darling and even now might be regarded on its swan song

By what metric, your personal preference?

Because the common statistics[1][2][3] don't quite support your remark.

And I'd say there's a 50/50 chance node will completely collapse within 10 years or so.

Again, just making random stuff up?

As much as I'd love for javascript to disappear, the idea of that happening within a decade is nothing short of ridiculous.

[1] http://langpop.com/

[2] http://githut.info/

[3] https://www.google.com/trends/explore#q=ruby%2C%20rails%2C%2...


Commenting on the popularity of languages:

In TIOBE index of programming language popularity (based on web searches), Ruby is ranked 18th, down from 11th in April 2014. It fluctuates, but the trend is downward - 14th in November 2014, 13th in November 2013 and 11th in January 2013. Javascript is still rising.

http://www.tiobe.com/index.php/content/paperinfo/tpci/index....

It is supported by overall job trends (vs those for ycombinator-backed startups and github popularity)

http://www.ryan-williams.net/hacker-news-hiring-trends/2015/...

http://www.indeed.com/jobtrends?q=Ruby%2C+Rails%2C+javascrip...


In TIOBE index of programming language popularity (based on web searches), Ruby is ranked 18th, down from 11th

The TIOBE method is rather meaningless below rank 10 (and probably above, too). The delta between spot 10 and spot 20 in their ladder is a mere 1.1 points (of 100).

Do you really believe Delphi and ABAP are more popular than Ruby, as their table claims?

It is supported by overall job trends

Huh? In both of your linked charts Ruby is trending upwards.


Actually, it wouldn't surprise me if ABAP were to rival Ruby in popularity (by employment metrics) considering how widely adopted SAP is within the fortune 500.

I don't disagree with the rest of your points, just pointing out that the enterprise world is much larger than most developers would anticipate.


By the same token, there's probably a fair amount of legacy Delphi code. It was especially popular for 4GL outside the US.


Well, what else have we got? I'm not a big fan of TIOBE, but SO's recent surveys have also confirmed dropping Ruby popularity. I did say 'might be'. I'm being a bit cagey because it's hard to tell, we all live in cliques.

So to me it's all a bit risky, a bit of a punt, and so I'm asking, what am I not seeing, where's the market they're betting on?


>I honestly can't see it staying king once browsers can support other languages.

But your profile says:

>", begrudgingly beginning to accept the browsers are never going to give us the freedom to choose."

It looks like you've got some cognitive dissonance happening there. :-)

In any case, I can't think of any example in computing history where a language that's adopted by multiple companies is then abandoned for another language. In Javascript's case, it would require that Microsoft IE AND Apple Safari AND Google Chrome AND Mozilla FF AND countless other web browsers (Opera, embedded, etc) switch to something else in lockstep. In the decades of computing history, I've never seen that type coordination ever happen.

Similar language entrenchment on the scale of Javascript would be something like SQL and C++.

SQL (1974) is implemented by Oracle/Microsoft/MySql/PostgreSQL/HiveHadoop/etc. A better query language could be designed (e.g. syntax of tables first then columns). However, it's just theoretical because you can't get all database vendors to adopt it lockstep. We are stuck with SQL for the next 50 years.

C++ (1983) entrenchment also can't be dislodged. It is implemented by the well-known big-3 of GCC, Clang, and Microsoft but you also have independent compiler implementations from Intel, HP, Sun, IBM, embedded chips, etc. The newer systems languages such as D and Rust are interesting but they will not get adopted and implemented by all those vendors. It's just not going to happen.

Look to the multi-decade history of SQL and C++/C and that's the depth of entrenchment you're looking at for Javascript. Better designed languages have not overcome the inertia in the industry and we have no evidence so far that it ever will. Therefore, Javascript will be with us for the next 50+ years.

Probably the best chance for making Javascript irrelevant was the brief plugins movement of Java applets, Adobe Flash, and MS Silverlight. Well, the marketplace of ideas (mobile phones) killed all of those off. What's left standing is Javascript.


I almost left that sentence out. I'm getting my hopes (tragically) up again.

But now it doesn't get abandoned, it just needs someone to crack using it as an assembly language.

Who knows.

But that's my point.


Even if Javascript did become an assembly like language with multiple well used languages compiling to it, wouldn't something like npm still make a lot of sense? Then all these separate languages won't need to reinvent package management and every package every time.


Package managers are a language specific thing.


It doesn't matter if Npm is ever profitable. If an investor puts money into Npm, they are indirectly adding value to every company that uses Npm. Making sure that a comprehensive dependency manager exists for JavaScript helps every company that uses JavaScript.

Additionally, neither JavaScript or Ruby is nearing their "swan song". Other languages will come out. The current languages will persist.


Exactly.

If they invest in 10 companies built on Node and therefore NPM they are investing in 11 companies by investing in NPM. They are purchasing security of their open source tools.


> I honestly can't see it staying king once browsers can support other languages.

Theres no way this happens anytime soon. Google already tried that with Dart and it failed.


It's funny how people forget that IE had supported multiple languages for a very long time: http://en.wikipedia.org/wiki/Internet_Explorer#Architecture

    Internet Explorer does not include any native scripting
    functionality. Rather, MSHTML.dll exposes an API that 
    permit a programmer to develop a scripting environment
    to be plugged-in and to access the DOM tree. Internet
    Explorer 8 includes the bindings for the Active
    Scripting engine, which is a part of Microsoft Windows
    and allows any language implemented as an Active
    Scripting module to be used for client-side scripting.
    By default, only the JScript and VBScript modules are
    provided; third party implementations like
    ScreamingMonkey (for ECMAScript 4 support) can also be
    used. Microsoft also makes available the Microsoft
    Silverlight runtime (not supported in Windows RT) that
    allows CLI languages, including DLR-based dynamic
    languages like IronPython and IronRuby, to be used for
    client-side scripting.


Gecko too for a while (because there was concern that VBScript would catch on, AFAIK), though it was eventually removed. The nsIProgrammingLanguage enum is the last vestige of this support: https://dxr.mozilla.org/mozilla-central/source/xpcom/base/ns...


IE did but we're talking in the context of the web as a whole. An IE-only language in 2015 would be DOA.


No one forgot, it just failed like the parent's example of Dart.


Right. Any how widely used is that?


Many of the bigger "JavaScript" projects aren't written in JavaScript. Browsers support any language. As long as they compile to JavaScript, that is.

Also, Dart just works fine. Inside browsers as JavaScript and outside browsers in its own VM.

This was written in Dart, for example: http://adsense.blogspot.com/2015/04/new-adsense-performance-...

You really don't have to use JS if you don't want to.


Github was founded 7 years ago and now does "millions of dollars a year" [1], NPM was founded 6 years ago (and only became a company last year).

There are 140,362 total packages (where github was in 2010-2011) on NPM and 21 million repositories on Github now. Javascript is growing, NPM is the hub for all things javascript, so as long as things keep going the way they are, I don't think it is a stretch that NPM can be making that Github money.

[1] https://www.quora.com/How-much-money-does-GitHub-make

[2] https://growthhackers.com/companies/github/


Yes, it is a stretch.

A huge % of individual programmers want private source control as a quick and easy backup of their code. It is also completely language agnostic and will only fall into jeopardy if a new, better source control system comes out (and then they subsequently don't support it).

That is not the case with npm and never will be.


In addition to every other response, one interesting thing about your comment is that first you mention "node" , then javascript/browser, etc. which is the exact history of npm.

It started for node.js then someone did browserify which IMHO makes the best package manager for front end developers, there is some people using it even for C. Typescript/coffescript/css whatever. If you see the home page of npm it says "npm is the package manager for:" and the word keeps changing with a lot of use cases.

I think JavaScript has a bright future still, but in addition to that can npm or the ideas survive the language and be used in other contexts?


What's so controversial about Javascript? I'm not denying your claims; I just started using it a bit and so far really like it. Then again, I'm coming from Java so maybe I just appreciate not having to use OOP and being able to use functions everywhere.

And isn't Ruby also controversial? At least it seems like people either really like it or don't like it. Everyone I have talked to seems to agree that the only reason Ruby really took off is due to Rails.


Being controversial is not a big deal if it is optional. You simply can not do modern web development without JavaScript. There are tons of alternatives to Ruby.


Assumes they are only ever going to launch this one product. Also it's $7 for an individual account, they're launching corporate accounts which I would assume will be priced accordingly. There's enough pain points around the Node.JS infrastructure / tooling that NPM, Inc. probably has some great verticals to explore, and they probably sold the investors on as much.

As for Node.JS dying, anything is possible I guess. PHP is still a monster and I don't think I'll ever understand why that happened completely. Node.js has a good story to tell and from my exp. a lot of PHP / frontend developers found easier transitions to Node.JS than other languages / stacks.


This is their second product. They have a private npm repo service, aka npm enterprise.


> "50/50 chance node will completely collapse within 10 years or so"

Wow, way to be real assertive with that statement. Hedging your bets for a prediction that won't really matter in 10 years.

I am not sure why you think ruby is dead considering the amount of Rails apps and the ecosystem that surrounds it.

If you read about their seed round, one reason investors invested is because a lot of other companies rely on npm/node. So their thinking process is that even if npm is not profitable, it at least makes their other investments more robust by making something that other companies rely on much stronger.


NPM also offers NPM enterprise, which is $20/user/month. That adds up if a few big companies want a privately hosted NPM infrastructure.

I'd assume they continue to launch more services as time goes on.


And that's being generous, javascript is a controversial language and the standards committee moves very slowly.

There are two types of languages: those that everybody complains about, and those that nobody uses.

Also, a slow standards committee is a good thing for languages, as it prevents the natural cancerous tendencies of PL wonks--just look at C++ or Scala.


Uh, are you implying the C++ standards committee moves quickly?


'11 and '14 came out in pretty quick succession, as an example.


> I honestly can't see it staying king once browsers can support other languages.

Well browser support for other languages will only come in the form of things transpiling to JS or subsets of JS. It seems unlikely that whole other runtimes would ever become a thing. I mean look at Dart.


In my company we had been using Git links in our package.json files to point to private dependencies hosted on our local GitLab instance. Recently, we setup an npm-compatible private repository that allows us to publish private packages as well as cache public ones.

It's been awesome to finally get back to using semver to manage all our dependencies. Our build server automatically publishes to our private repo on a successful build.

I think that a lot of companies will find this service extremely helpful and a lot cheaper than having an employee spend the time to try to set up a private repository locally.


I had set up a private repo at a previous company around the time NPM was experiencing a lot of outages, and also to handle our private modules. It worked well when it worked well, but it did definitely require babysitting once a month or so. Totally the kind of thing you want to NOT just have one developer understand.

What "npm-compatible" package did you end up going with? Assume you're not doing the couchdb mirror, which I really don't want to do again either, so I'm curious if this is a low-dependency sort of thing.


Our Ops guy did it using Nexus.


Did you manage to handle versioning through Git, or is that why you set up a repo? The lack of versioning is the only thing holding the git-based solution back for me.


No. We setup the private npm repository specifically because of the lack of support for git version tags in npm.


What's the issue with version tags? I've been cutting release branches so that I can reference github urls at a branch with a version number. Understand that it's totally not the same thing, and it's working out for right now, but feel like I'm missing the 700 lb gorilla in the room now :)


Semver. Everything you upgrade a dependency you have to update the package.json in every other modules that uses it. With semver you can just say "^2.0.0" and always the get latest 2.x release.


npm is a pretty important piece of node itself; I'm actually surprised Joyent hasn't picked them up (maybe they're tried?). Maybe this funding will help it iterate a little faster.


It's an important piece of node itself, and I'm a little wary of it becoming a VC funded startup, to be honest.


By all means not an official statement, but Isaac is quite committed to making sure that the long-term safety of the npm registry doesn't rely on the future benevolence of npm Inc.


There's an interview where Isaac says if npm would sell to anyone (which it wouldn't) it would definitely not be to Joyent.

+1 re new stuff. npm v3 has some rad de-duplication stuff on the way.


It's nice that Isaac doesn't want to, but what if the VCs decide he should? Do we know what the ownership breakdown is at this point?


It's possible (and probably from the investors expected) that npm Inc grows large enough that a Solaris-based hosting company wouldn't be large enough to purchase them.


If npm isn't ever going to sell out how are their VCs planning on making any return on investment? Go public? (Which is arguably selling to the public)


hmm. I don't going public is the likely option.


Well, look at Palantir. They are a very large privately owned and VC funded company with no plans to pursue an IPO.


I'm curious if Joyent being a steward of node.js tends to convert people into paying Joyent hosting customers.

I doubt that npm would be very strategic -- but first you would have to answer the question of whether node.js itself is strategic.

There's certainly an element free publicity among developers. How much is that worth?


(Disclosure: I am the CTO of Joyent.)

We are not and have not been the stewards of node.js to convert node.js developers into paying Joyent customers; rather, we became the stewards because we employed Ryan Dahl at the time (summer 2010), we were (and are) avid and early users of node.js ourselves, and we saw that node.js needed corporate stewardship. The node.js community has come a long way since then, of course, and earlier this year we announced our intention of moving node.js into a foundation -- which is now well underway.

In terms of how node.js fits into our business, we have always been upfront that we have never monetized node.js directly: to the extent we have monetized it, it has been by offering complementary products like an IaaS platform that was designed to run node.js in production[1] and via support and services[2].

[1] http://www.slideshare.net/bcantrill/node-summit2013

[2] https://www.joyent.com/nodejs-support


Actually, there's a lot of movement to move the stewardship of node.js away from Joyent and into a foundation. Not being the stewards going forward, it may make less sense for them to acquire npm, especially as it's not clear how much revenue they'll be able to generate.


Lol. You missed a really interesting real-life soap opera series about io.js/Node/npm/core developers. I believe at one point isaacs wanted to do npm stuff inside Joyent but management was an issue.


In an alternate universe: "Popular Linux Package Manager (apt|yum) Raises $<few>M, Launches Private Repositories". Something sounds strange.


What would be the potential business model?


Does private modules increase the SLA of NPM?

The biggest issue we face with using github and npm for deploys is the intermittent service outtages.


Setup a local npm cache. There's lots of instructions online on how to setup nginx to act as a proxy to fetch npm modules and cache them locally. This way, you don't have to worry if npmjs.com goes down, your build process will pull everything from your local cache.


Thanks, that's not a bad suggestion for our needs.

I would expect a paid-for service to not require me to run my own proxy though.


What service outages? I have seen like exactly 1 for github ever, and npm used to have issues but has been rock solid since the company launched.


They misspelled Ryan Dahl's name :(, I miss Ryan. Congrats to Isaac and NPM, they are such great guys!


Npm is a good pièce software and the free public, pay for private GitHub like model wins.


It wins? Does it? Because I don't see how you become a company worth nine digits of VC by selling private JavaScript package repositories to twenty thousand people. We're talking about a difference not only in degree but in kind to Github.


do they want to be like Sonatype for node.js ?

http://www.sonatype.com/


They'd better not. Nexus has horrible node.js support: https://www.youtube.com/watch?v=0yctqs1sN8U

Check Artifactory instead, they have first class support

(Disclaimer: I am with JFrog).




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: