15 ms·
Node.js, a popular tool for building modern internet services, has split in two
- debacle 12y ago> actually set up this foundation because they’re still hoping that Joyent will let them to use the Node.js trademark. Is that naivete on the side of Io.js here, or is there more to the story?
- craigching 12y agoI'm not sure what you're asking, you left out the key part of the quote: > the team hasn’t actually set up this foundation because they’re still hoping that Joyent will let them to use the Node.js trademark. Frankly, I kinda like the name Io.js better than Node.js
- debacle 12y agoIt's more likely that they be called Microsoft.js than Node.js at this point.
- dragonwriter 12y ago> Frankly, I kinda like the name Io.js better than Node.js Well, if it was for a project that was implementing Io [0] on top of JavaScript, sure. For a server-side JS stack based on V8, I don't really like the name at all. [0] http://iolanguage.org/ http://iolanguage.org/
- wcummings 12y agoBen Noordhuis, the center of the Node.js pronoun scandal [1] and one of the founders of Strongloop, has activity in IO.js more recent than his activity in Node.js. I can't help but wonder how much of this is a power struggle between Strongloop and Joyent. https://www.joyent.com/blog/the-power-of-a-pronoun https://www.joyent.com/blog/the-power-of-a-pronoun
- dmpk2k 12y agoReminds me of the Docker/Rocket situation, at least in the monetary sense. Node.js became big, money went to heads, and here we are.
- tracker1 12y agoI don't feel that's the case at all... relative to development of every stable release of Node, 0.10 is getting very long in the tooth, and 0.11 is pretty stagnant as well. If only from the perspective of v8 supported features alone. At this point we really should be working on 0.13 (towards 1.0) which should have the --harmony features by default. It's bad enough that I have to use browserify to get working features in the browsers... I shouldn't have to do that for a leading edge server-side JS platform in the development version. Don't get me wrong, still love node, and JS is very effective, just the same, I'd rather not have to require in libraries that should be baked into the engine at this point... or writing shims to make for an easier transition. co/koa are over a year old now... developed against features that still aren't in the supported release... prior to 0.10, v8 had been kept very close to the edge... it's now over a year behind.
- uptownJimmy 12y agoWhat part of "it has to do with developers getting really frustrated at the stalled pace of development on the Joyent branch" is so hard to understand? Cuz this gets incessantly repeated in a calm, rational manner by people involved with the branch.
- petercooper 12y agoStrongloop has this statement: http://strongloop.com/strongblog/position-on-io-js/ http://strongloop.com/strongblog/position-on-io-js/
- SloopJon 12y agoOff topic, I guess, but color me unimpressed by the guy claiming he would fire someone for rejecting a pull request that does nothing but advance a political agenda.
- egeozcan 12y ago> Future of Popular Coding Tool in Doubt After It Splits in Two Are there convincing number of examples of very popular projects being forked and both ends being discontinued, or is this just a typical example of spreading FUD? Forking is a natural process in the open-source world.
- Thaxll 12y agoBut it's true that Node is losing traction.
- bhouston 12y agoNode is losing traction where? I see it as being very strong, but it isn't the shiny new thing any more -- which means that it is beyond the first few stages of the hype cycle. It has very strong growth in Google trends: http://www.google.com/trends/explore#q=node.js http://www.google.com/trends/explore#q=node.js
- artursapek 12y agoI think Google trends is a very laggy indicator of something like this.
- cloakandswagger 12y agoI see this more as a return to reality from Node.js's astronomical levels of hype. The use cases for a single-threaded web server are specific and limited in the real world. Node.js will continue to solve those use cases (simple web server for static content or I/O bound apps) but the resultant decline will lead some to believe that the framework is dying.
- bhouston 12y agoI believe given the nature of those that forked it, we'll be replacing Node.JS with IO.JS (that is awkward to write) soon in http://Clara.io http://Clara.io. I think that the confusion around Node.JS versus IO.JS will persist for some time though. If I wasn't a regular HN reader, I would have missed this completely.
- drderidder 12y agoYou're not the only one. iojs is already pulling ahead in momentum, fixes, features. Not to mention it has a bazillion logos to choose from haha
- notduncansmith 12y agoI must be missing something. What features has io.js added?
- zkhalique 12y agoI think the intersection of politics and internet is interesting. I write about it quite a bit on my blog, as well as here: http://qbix.com/blog/index.php/2013/04/a-new-kind-of-platform/ http://qbix.com/blog/index.php/2013/04/a-new-kind-of-platfor... In this case, we see sort of an "arab spring" of open source projects lately. Consider MySQL after it was bought by Oracle, and then the MariaDB fork was born. Now we have Node.js and Docker being forked. Until now, most successful communities have been monarchies or oligarchies, whether it was Linux or Python. Corporate sponsorship played a big role. But if more headless or democratic communities succeed, it will be interesting to watch. PHP is an example of a more headless community, and it used to be all over the place. There are two ways politics and internet interact. One way is how the tools we use affect our society in meatspace and the other is how we organize online in cyberspace.
- hbbio 12y agoDocker is not being forked. CoreOS (which is another company, not a "democratic community") is launching a competing project: Rocket, and tries to leverage the popularity of Docker for that.
- curun1r 12y agoThere is a point to be made about Docker, even though it hasn't been forked. The prevailing sentiment in yesterday's thread about the new Docker announcements was one of worry over whether it was too much of a land grab by the people at Docker, Inc and whether we should be trusting so much of our infrastructure to one company that hasn't yet started to monetize the technology but will almost certainly do so at some point in the future. But what were seeing with Node along with the other examples from the post you're replying to is that so long as the source is freely available, the core developers and the community is what's important. There was a quote in yesterday's thread that 95% of Docker contributors don't work for Docker, Inc. This means that Docker, Inc will need to walk a tightrope between over-monetizing their platform, pissing off the 95% of contributors from outside Docker, Inc and under-monetizing it, pissing off their investors. If they try things that lock people into the platform and force them to pay for other Docker products, you'll see the developer community rebel with an actual fork of the Docker codebase. This is exactly what we're seeing here with Node...Joyent's stewardship of the project is being seen as lacking and the people who are really important, the core developers and the community are taking a proactive step to remedy that. It think we're nowhere near the point where this will happen to Docker, but this should be an object lesson for Docker, Inc about what can happen if they try to push too much of the Docker, Inc agenda into Docker, the open source project.
- percept 12y agoHere's your Friday entertainment...
- youaresolam3 12y agoio.js TC Meeting -- December 2nd 2014: https://www.youtube.com/watch?v=Z1UlIJMS6qs https://www.youtube.com/watch?v=Z1UlIJMS6qs
- username223 12y agoThe guy squatting on the js.io domain (Michael Carter from Claremont) just bought a yacht.
- user_id2 12y agoThat's ok since internet has been squatting on Javascript for years.
- exabrial 12y agoIf Node forks, does this mean one of the projects will block?
- calebm 12y agoAs it was forked by some of the top Node contributors, I'm guessing yes.
- andypants 12y agoNo, node.js is event-driven and non-blocking.
- emergentcypher 12y agoBut there is only a single thread, so io.js will probably hog all the time and effectively block everybody else.
- deleted 12y ago[deleted]
- ulisesrmzroche 12y agoI think it's great news. Node development has been glacial for a while now. There's an issue where people are sharing logos, https://github.com/iojs/io.js/issues/37 https://github.com/iojs/io.js/issues/37, highly recommend.
- samsnelling 12y agoOne of the downsides to doing stuff like this is many devs turning away from node / io altogether.
- esalman 12y agoBetter visualization: http://tableflip.io:1234/ http://tableflip.io:1234/
- ulisesrmzroche 12y agoNice link! Check this one instead of mine if you haven't done so.
- yoctonaut 12y agoWhen a company I worked for tried Joyent for hosting, I found it strange that Joyent's own package manager didn't offer the latest stable version--in fact, their confusingly named plans at that time came installed with a few different then-old versions as default options. That read to me like a lack of support or investment in Node as a technology.
- andrewstuart2 12y agoWell now there's a missing consonant in the MEAI stack. Add golang for the IMAGE stack?
- exabrial 12y agoHow can Node fork? I thought it ran everything in the event loop...
- deleted 12y ago[deleted]
- justplay 12y ago>Node was created by software developer Ryan Dahl as a way of building and running entire online applications with JavaScript—the standard programming language for writing code that runs in your browser. Really? I thought that they intentionally choose javascript because it doesn't have any features like threading. > The massively popular programming framework Ruby on Rails, for instance, is still sponsored by its creator, a company called Basecamp. Basecamp isn't happy to the direction that ruby on rails is going, but they accept it. [1] [1]: https://www.youtube.com/watch?v=lBfVxBj61z0&feature=youtu.be&t=11m13s https://www.youtube.com/watch?v=lBfVxBj61z0&feature=youtu.be...
- rquantz 12y agoThe relevant question in the linked video starts at around 11:12
- drderidder 12y agoIt's a widely held misconception that JS doesn't have threading. User code executes in a single thread, but asynchronous tasks are managed by a thread pool (libuv in node). Because the multi-threading is hidden with asynchronous calls, the user doesn't need to worry about it, which is why many people say JS is single-threaded. In fact worker threads execute async tasks behind the scenes; it's a very nice feature of the event-loop architecture.
- i_am_ralpht 12y agoIs that a language feature or a runtime/library feature though?
- zabil 12y agoThe language is designed to handle events/messages because it runs on single thread in the browser. As far as I know, you cannot spawn threads. The runtime/library does it under the hood.
- rpedela 12y ago
- JeremyMorgan 12y agoHere's a take from one of my friends who is a pretty heavy Node developer: http://compositecode.com/2014/12/05/im-so-mad-my-response-to-the-fork-of-node-js-to-io-js/ http://compositecode.com/2014/12/05/im-so-mad-my-response-to... I'm pretty sure he's right, nothing to freak out about.
- hartator 12y agoThe new repository: https://github.com/iojs/io.js/ https://github.com/iojs/io.js/ The new contributors: https://github.com/iojs/io.js/graphs/contributors https://github.com/iojs/io.js/graphs/contributors Joyent really fucked up.
- prezjordan 12y agoThe "new contributors" link you provided uses commits from before the fork, so it doesn't really have any information.
- TimWolla 12y agoDo you know who the 4 developers mentioned are? isaacs probably is the NPM one.
- deleted 12y ago[deleted]
- shortcircuit01 12y agoThere is a big advantage to node.js that used to be mentioned a lot in its early days, but not much now. The advantage is still there, but it's only noticeable if a developer has experience in other server languages. The big advantage is that node.js had an asynchronous development model from the beginning. This caused all the code written since then to also be written using async. When a node.js project imports other libraries through npm, there is no need to worry about some random synchronous code blocking. All code is written using async because that's the way it was enforced from the beginning. This is an advantage it shares with other new languages like Go that had good concurrency support from the start. Go has the same advantage with goroutines. All code written by the community since then uses goroutines. Compare this to python and java which had better concurrency bolted on long after those languages were released. Twisted is basically node.js for python and it existed for a long time before node.js. But one of the main problems with Twisted is that all other existing python code is not written in an async way. A python dev could use Twisted, but as soon as they get some useful library form PIP, it's probably going to block and ruin the whole async. Java has a similar issue. It was released with heavy threads as the only way to handle concurrency. There have been attempts to try to bolt on async and lightweight thread models. But there is a massive existing ecosystem of java code. None of that will work well with async and no one can rewrite all of it to use some new lightweight thread model. This is the advantage of a fresh start like node.js or Go. Wheels will be reinvented, but it will have improvements that can't just be bolted on later. The biggest flaw with node.js right now is that it came too early. If it came out with ES6, it would be a much better ecosystem. If generators/yield had existed from the start, all the callback mess could've been avoided. However, although the callbacks were an unavoidable mess, it did fundamentally force async on the ecosystem. NPM libraries like co show a migration path to the generators/yield future for older node.js code. The IO.js fork should use this opportunity to put something like the co library into core and push generators/yield as the way forward. If Joyent was the cause of the delayed generators/yield support, then they have done great damage to the node.js ecosystem. Node.js should've heavily promoted generator/yield use as soon as it was in V8, not hide it behind a --harmony flag for over a year.
- brainflake 12y agoGreat comment - I do think the whole 'async by default' is a huge benefit, but I would add an asterisk and say you can technically write a module that performs synchronous I/O if you wanted to (see, for example, synchronous filesystem calls). So there's a possibility some random synchronous code blocking could happen with an untrusted module, albeit very unlikely. As far as I know the fs.*FileSync calls are the only ones.
- anonfunction 12y agoThe community has created a lot of rad logos you can find here: http://tableflip.io:1234/ http://tableflip.io:1234/
- bipin-nag 12y agoI wish this would have come before. TJ and others may not have quit then. I also feel that the community has been dwindling for some time and node v1.0 is taking forever. I look forward to io.js. This could be something that is required to restore faith - something of the devs, by the devs and for the devs.