There doesn't appear to be much of one, yet. The latest commit by indutny was just a commit to node that the owner of the iojs GitHub organization pushed to GitHub. There are no public members of the iojs organization. Even the name of the repo, "evented I/O for v8 javascript" is the same. All that's been introduced here is a new name, io.js.
Looking at the v0.12 branches of both iojs/iojs and joyent/node, it doesn't seem to me that idutny's latest commit (updating OpenSSL to 1.0.1j) was a commit to Node proper. I also can't find that commit in any other branch of Node, or on idutny's personal copy of Node (idutny/node).
In fact, the history of Node and IO.js seem to completely diverge after Nov 21, with no overlap between the commits or contributors. To me, this seems to clearly indicate that the committors in these last IO.js commits are also the people behind that effort. Am I missing something?
from the issues that have been opened [1] and closed [2] it looks like indutny, jonathanong, and rvagg are involved, aka all people involved with node forward
Yes this appears to be the main thing at play right now. A small number of serious node hackers are contributing to io.js. This could be big, but it's too early for me to tell.
Can someone tl;dr me the gist of everyone's beef with joyent? I've been hearing about a fork but haven't understood / seen why people feel like the fork is necessary.
The same reason anyone forks: some core developers are not happy with the way development is headed.
The reasons are myriad, both technically and politically, and you probably won't understand them unless you engage. If they weren't, we wouldn't be seeing something as drastic as a fork.
> 1. Fixating on platform stability over project evolution
That's... hardly a bad thing, in my humble opinion. The other language I use at work, PHP, is a case-study in what happens when you "evolve" a project willy-nilly with little regard to platform stability. Nowadays, it's better, because the community has become more involved in the process, so I can see what #2 and #3 are Bad Things™ however.
Have you at all been paying attention? PHP 5.6 has namespaces, closures, lambdas, generators, autoloaders, traits, function argument splats, sane array literals - basically everything the authors ever saw in good use, anywhere.
There is hardly any difference between PHP 4 and 5, except internals. The only real big difference between PHP 3 and PHP 4 is a different class syntax.
PHP 5.6 and what Facebook are doing with HHVM/Hack are (in the latter case, literally) entirely new languages than PHP4 or even pre-5.3, and with the PSR community standards body, Composer/Packagist and the massive amounts of interoperation between libraries nowadays, it's actually enjoyable to code in again :)
Unfortunately, I think node.js is still lacking in a lot of regards that a brief spurt of "willy-nilly" commits (plus some dictatorship-style thoughtfulness) would help. Many of the builtin modules are still "beta" and even core stable ones lack some features that require using unsupported/undocumented properties (it is not even clear why some of it is undocumented).
I use node.js in production so I'm not knocking it outright but you quickly understand the plights if you try to do anything with node that scales well.
Yes, the forkers are doing themselves a disservice. Joyent is accused of not communicating with the community, and yet the forkers respond by also not communicating with the community [EDIT: they have refused multiple opportunities to comment, Joyent is publicly appearing to make a consolation effort].
If Node wants to be taken seriously by a broader range of companies, it should be stable. There are forkers on the Joyent Node advisory board. As an open-source project, transparency will go a long way to gain community support from either side. So far, Joyent is winning the communication battle.
I am a huge node proponent, and don't encounter problems from outside the project. Joyent's articles and purpose have always been more clear to me than StrongLoop, which is why I use the services of the former. However I have a hard time believing these articles and rumors are the whole story, hopefully someone can chime in with more specific information.
This has been brewing for a year and a lot of people in the community felt it was inevitable [1]. Plenty of early node people were never keen on Joyent's grab in the first place.
The idea that the majority of core contribs are being uncommunicative is not really borne out by the growing community around node-forward and how open it actually is. They've set up live chat, a mentors list, help pages, given access to anybody who asks to the fork and are actively seeking input on new features like better numerical comp libs. It probably seems less communicative than it really is only because they want to wait till the concept is past nascent stage to announce anything. Totally not surprised that people have gotten fed up with Joyent and that forks are happening.
> actively seeking input on new features like better numerical comp libs
That is one of the most comedic issues on github. Worth a read, but tl;dr:
"all we need is to compile these ancient libraries! It should be easy, they are ancient and I am async!"
...
"I failed to compile these ancient libraries."
There is anything but a consensus at that link, many of the commenters at that link believe a fork and/or change of stewardship is a bad choice.
This is an open-source project, and Joyent's repo has always been open. Node-forward and io.js's silence and secrecy can only invite suspicion in this situation. If contributors don't like Joyent's direction, kill them with kindness. Overwhelm node with useful PRs that have a ton of community support behind them. Playing these games IMHO is only bad for the community and for Node's image. Joyent seems to understand this.
I am trying to form an opinion to support Node's positive evolution and I shouldn't have to petition for access to contribute. That is exactly the excuse the forkers are using to justify their fork, and they're guilty of the same.
Plenty of early node people were never keen on Joyent's grab in the first place.
Joyent funded Ryan Dahl, Isaac Schlueter and other committers since 2009 or 2010, before the majority of programmers had heard of node.js. And node.js is firmly under an MIT license. Were the developers supposed to live off kudos and instant noodles?
If that's a grab, I wish more businesses would do that. We should be encouraging more investment by companies in open source, so complaining about Joyent stepping up to the plate and giving significant financial help to node.js during the early phase is a bit much.
Compare with https://github.com/joyent/node, similar readme and commit numbers. Looks like a node.js fork. (EDIT: maybe you already understood that, I thought it might have been a different thing from node.js altogether until I saw the repositories shared a README/history)
With the few forks and stances that everyone is taking now, I really hope that an amazing project like Node doesn't get f* up by becoming fragmented and multiple different "versions" appearing.
Or Dart. It's a lot closer to node and JS than Go (it uses asynchronous IO), and can more easily be used across both the server and client (Go's compilation-to-Javascript support is less developed). It's also surprisingly fast for a dynamic language, and has the generics Go lacks.
Should also mention that Dart is faster than Node - it benefits from Google's development of V8, and the language design was built for optimization while taking a lot of the good parts from JS.
> Joyent, the current project stewards, have not been able to deliver a stable release in that time and don't share public plans / aren't communicating very much.
They probably don't want to publicly call out one of the core committers whose promised work is lagging. Or admit that the previous project lead was a poor choice who let it stagnate (but yet is inexplicably in the "Joyent did a bad job" camp). What good would that do anyone, apart from satisfy our boundless curiosity?
I'm finding the situation with Node.js quite frustrating. There doesn't appear to be much communication as to what's going on with the project.
It's also odd that the Node Advisory Board was supposed to meet on the 20th (2014-11-20). Chris Williams tweeted that it was about to start [1] but no minutes have appeared and I can't find any mention of what happened during the meeting.
Sorry for the delay, it takes a while to polish the minutes and then gain consensus from the rest of the group about the final minutes. The US Holiday didn't help much either (as well as finalizing RobotsConf, life, etc) They are here now: https://github.com/joyent/nodejs-advisory-board/blob/master/...
Thanks Chris, probably read into the delay a little just because I could find any mention of the meeting actually taking place or not, apart from your tweet about it starting.
Understandable though with all the other stuff you've got going on. Cheers :)
Ah yes, Mikeal, whose capability of double-think is so well-developed that he can claim to not understand what "fragmentation" means while at the same time advocating to do precisely that - https://github.com/iojs/io.js/issues/9
I swear Chris Dickinson is the only sane one in this whole mess. Possibly because he's new. Possibly because his employer is the only one involved that's not beholden to VC money and expectations of return.
I think it comes down to politics, I feel its always better to have a company run and support an open source framework as long as their listen to the community and letting the community be a part of the framework.
46 comments
[ 2.9 ms ] story [ 101 ms ] threadIn fact, the history of Node and IO.js seem to completely diverge after Nov 21, with no overlap between the commits or contributors. To me, this seems to clearly indicate that the committors in these last IO.js commits are also the people behind that effort. Am I missing something?
1. https://github.com/iojs/io.js/issues/5 2. https://github.com/iojs/io.js/issues/7
The reasons are myriad, both technically and politically, and you probably won't understand them unless you engage. If they weren't, we wouldn't be seeing something as drastic as a fork.
1. Fixating on platform stability over project evolution
2. Ignoring the community on project direction
3. Preserving public image over project committers
4. Being a total square
NOTE: I am against the fork.
That's... hardly a bad thing, in my humble opinion. The other language I use at work, PHP, is a case-study in what happens when you "evolve" a project willy-nilly with little regard to platform stability. Nowadays, it's better, because the community has become more involved in the process, so I can see what #2 and #3 are Bad Things™ however.
I had the feeling that much evolution happend from 1 to 5 but not much afterwards :\",
There is hardly any difference between PHP 4 and 5, except internals. The only real big difference between PHP 3 and PHP 4 is a different class syntax.
I thought the class system was improved with 5 and was unusable with 4. At least that was what I read. I started with ... PHP 5.2
I use node.js in production so I'm not knocking it outright but you quickly understand the plights if you try to do anything with node that scales well.
If Node wants to be taken seriously by a broader range of companies, it should be stable. There are forkers on the Joyent Node advisory board. As an open-source project, transparency will go a long way to gain community support from either side. So far, Joyent is winning the communication battle.
Recent article on the subject: http://readwrite.com/2014/11/13/node-js-joyent-possible-fork...
Arguably, this has been stewing for a while: http://venturebeat.com/2013/09/18/can-this-startup-steal-nod...
I am a huge node proponent, and don't encounter problems from outside the project. Joyent's articles and purpose have always been more clear to me than StrongLoop, which is why I use the services of the former. However I have a hard time believing these articles and rumors are the whole story, hopefully someone can chime in with more specific information.
The idea that the majority of core contribs are being uncommunicative is not really borne out by the growing community around node-forward and how open it actually is. They've set up live chat, a mentors list, help pages, given access to anybody who asks to the fork and are actively seeking input on new features like better numerical comp libs. It probably seems less communicative than it really is only because they want to wait till the concept is past nascent stage to announce anything. Totally not surprised that people have gotten fed up with Joyent and that forks are happening.
That is one of the most comedic issues on github. Worth a read, but tl;dr:
"all we need is to compile these ancient libraries! It should be easy, they are ancient and I am async!" ... "I failed to compile these ancient libraries."
https://github.com/node-forward/discussions/issues/1
This is an open-source project, and Joyent's repo has always been open. Node-forward and io.js's silence and secrecy can only invite suspicion in this situation. If contributors don't like Joyent's direction, kill them with kindness. Overwhelm node with useful PRs that have a ton of community support behind them. Playing these games IMHO is only bad for the community and for Node's image. Joyent seems to understand this.
I am trying to form an opinion to support Node's positive evolution and I shouldn't have to petition for access to contribute. That is exactly the excuse the forkers are using to justify their fork, and they're guilty of the same.
Joyent funded Ryan Dahl, Isaac Schlueter and other committers since 2009 or 2010, before the majority of programmers had heard of node.js. And node.js is firmly under an MIT license. Were the developers supposed to live off kudos and instant noodles?
If that's a grab, I wish more businesses would do that. We should be encouraging more investment by companies in open source, so complaining about Joyent stepping up to the plate and giving significant financial help to node.js during the early phase is a bit much.
The linked readme tells little.
-----
Now 25 pts with just as much explanation....
-----
As of 48 points, this (1) is the most relvant and informative explanation, but still has nothing to do directly with the linked OP.
(1) https://news.ycombinator.com/item?id=8669743
- https://github.com/attractivechaos/k8 and discussion https://news.ycombinator.com/item?id=7913950
- http://silkjs.net/
- https://code.google.com/p/teajs/
- https://github.com/samlecuyer/sorrow.js
- https://github.com/tlrobinson/narwhal
- d8 (bundled with v8 source)
Not counting other CommonJS-compatible platforms, or javascript shells using engines other than V8, or server-side javascript application frameworks
"Looks like a Node.js fork called io.js is happening, with some of Node's key contributors. 😮 http://github.com/iojs/io.js "
https://twitter.com/devongovett/status/538131893682569216
They probably don't want to publicly call out one of the core committers whose promised work is lagging. Or admit that the previous project lead was a poor choice who let it stagnate (but yet is inexplicably in the "Joyent did a bad job" camp). What good would that do anyone, apart from satisfy our boundless curiosity?
It's also odd that the Node Advisory Board was supposed to meet on the 20th (2014-11-20). Chris Williams tweeted that it was about to start [1] but no minutes have appeared and I can't find any mention of what happened during the meeting.
[1] https://nodejs.org/advisory-board/2014-11-06/minutes.html#mi...)
Understandable though with all the other stuff you've got going on. Cheers :)
- https://medium.com/@mikeal/on-corporate-ownership-of-open-so... - https://medium.com/node-js-javascript/fragmentation-7e87d28f...
I swear Chris Dickinson is the only sane one in this whole mess. Possibly because he's new. Possibly because his employer is the only one involved that's not beholden to VC money and expectations of return.