Earlier quoted context omitted.
NPM is amazing. I used to use Python, which had the right idea with its modules but got so much of the implementation horribly wrong, and it has multiple package managers. Node, however, got modules right. Files and modules are in completely separate namespaces, and npm is a single package manager that "just works". The fact node isn't "batteries included" doesn't matter, because requiring modules is easy and depende…
npm publish lets you create something new and share it trivially and in a useful manner. This might end up being a negative in the long run, but for now it seems like a huge positive.
The Node.js Community is Quietly Changing the Face of Open Source
71–80 of 106 posts
Re: The Node.js Community is Quietly Changing the Face of Open Source
#72Rubygems dates back to 2003, in which case Ruby's 5,439 packages per year still trails Node's pace but not so dramatically.
Re: The Node.js Community is Quietly Changing the Face of Open Source
#73It's hardly surprising that there's a huge burst of growth when a language and its package repository first takes off. I'm sure if we looked at the 4 year periods where each of Perl, Python, and Ruby were hitting their stride we'd see similar numbers. It's nice that node.js is succeeding, but it's hardly changing the face of open source. It's treading a very well-trodden path blazed by Perl starting about 28 years ag…
Truth is, npm is growing (in terms of # of packages) faster than any community like this ever.
Re: The Node.js Community is Quietly Changing the Face of Open Source
#74Earlier quoted context omitted.
NPM is amazing. I used to use Python, which had the right idea with its modules but got so much of the implementation horribly wrong, and it has multiple package managers. Node, however, got modules right. Files and modules are in completely separate namespaces, and npm is a single package manager that "just works". The fact node isn't "batteries included" doesn't matter, because requiring modules is easy and depende…
Can anybody tell me what NPM does that e.g. Maven / CPAN / Gems e.a. don't? I haven't seen anything in NPM so far that goes beyond Maven's capabilities so I'm really curious what NPM's big advantage is.
Re: The Node.js Community is Quietly Changing the Face of Open Source
#75Earlier quoted context omitted.
npm publish lets you create something new and share it trivially and in a useful manner. This might end up being a negative in the long run, but for now it seems like a huge positive.
If it's trivial to create packages, I suspect we'll end up with a lot of trivial packages.
The issue eventually becomes a one of search; when I'm looking for a package, how do I know which are maintained, which never picked up broad adoption, etc?
Between the npm registry[1] and node-toolbox[2], there's already decent visibility into it. I often find the output of 'npm search' daunting to the point of mental paralysis, though.
[1]: eg, if I need a redis client, I can see the redis project is active and broadly used: https://npmjs.org/package/redis
[2]: similarly, http://nodetoolbox.com/categories/Redis
Re: The Node.js Community is Quietly Changing the Face of Open Source
#76Earlier quoted context omitted.
npm publish lets you create something new and share it trivially and in a useful manner. This might end up being a negative in the long run, but for now it seems like a huge positive.
If it's trivial to create packages, I suspect we'll end up with a lot of trivial packages.
I'd observe that the new languages all seem to have been accelerating their rate of package production over time. This is probably because over time the set of easily-copyable packages goes up. It's much easier to release a simple Rails clone after Rails has made the idea popular. It seems like every year there's another Brilliant HTML Templating Idea, and a new language can rapidly develop clones of the entire history of HTML templating ideas, whereas one that was new ten years ago had a much thinner pool of copyable ideas.
This isn't a criticism of Node (which I am certainly prone to, but this is not one of those times), this is an observation that it seems like each new language rapidly builds up packages faster than the last one and this probably isn't actually an attribute of the language.
Re: The Node.js Community is Quietly Changing the Face of Open Source
#77Just what I want in a framework. Thousands of libraries with functional overlap, each tested in a small number of real use cases and having a large number of undiscovered bugs, none of which is flexible enough to solve my problem or has a large community to maintain it. In time, node users will realize the pain of abandoned library dependencies and the overhead of researching alternatives and grinding through bugs an…
Been there, done that. And, it's terrible. Monolithic things try to do too many things. It's fine if you grow along with it but a few years down the line - a beginner will find it very difficult to get started and manoeuvre around.
Small, composable things are better. If something is popular, it will be forked and maintained. Also, monolithic things tend to slow down over time (in terms of keeping up) as they start accruing so much baggage.
Re: The Node.js Community is Quietly Changing the Face of Open Source
#78Earlier quoted context omitted.
What do you mean by "it changed the default licensing"?
Lots of other communities tend to default to GPL.
You might be surprised. "Perl Artistic License" is not GPL. Python is largely a slightly tweaked BSD, I think, certainly it's not GPL. Both tend to release packages under the same license as the implementation. And so on.
This strikes me as another instance of the Node community conveniently rewriting history so they can tell each other how revolutionary they are, instead of looking around at what really has already been done. I don't know of any other community so prone to that, consistently and persistently, even after being corrected.
Re: The Node.js Community is Quietly Changing the Face of Open Source
#79Earlier quoted context omitted.
Can anybody tell me what NPM does that e.g. Maven / CPAN / Gems e.a. don't? I haven't seen anything in NPM so far that goes beyond Maven's capabilities so I'm really curious what NPM's big advantage is.
Let's say your application depends on two libraries A and B. And let's say that these 2 libraries depend on different versions of library C. In Maven if library C is not backward compatible, you're stuck. Only one version of library C can exist in the classpath and so one of your 2 libraries might fail. However, in node, library A and B use their corresponding versions of library C. There are no conflicts.
Re: The Node.js Community is Quietly Changing the Face of Open Source
#80Earlier quoted context omitted.
If it's trivial to create packages, I suspect we'll end up with a lot of trivial packages.
Now, take that observation and go back and read the original post. I'd observe that the new languages all seem to have been accelerating their rate of package production over time. This is probably because over time the set of easily-copyable packages goes up. It's much easier to release a simple Rails clone after Rails has made the idea popular. It seems like every year there's another Brilliant HTML Templating Idea…