

IO.js, a Node fork - tel
http://iojs.org/

======
doublerebel
This is the third time in a week an uninformative link has been posted to HN,
without any comment from the forking community. Can we consider this a dupe?

Previous:

[https://news.ycombinator.com/item?id=8694953](https://news.ycombinator.com/item?id=8694953)
(Link to the repo)

[https://news.ycombinator.com/item?id=8669557](https://news.ycombinator.com/item?id=8669557)
(Another link to the repo)

At this point I'm just getting frustrated because I should be able to learn
about important open-source issues from the community, not from a Wired
article and not hidden in some secretive organization and private repo. Airing
frustrations through Wired is only bad for the community -- the headline is
nothing but FUD:

" _Future of Popular Coding Tool In Doubt After Public Split_ " \-- Can you
imagine selling your CEO on Node when articles like this are being written??
Someone on HN posted this [1] recently, and I think it's very appropriate -- I
believe this confusion could have been avoided:

> If, after careful consideration, you still conclude that you must fork, line
> up support privately first, then announce the fork in a non-hostile tone.
> Even if you are angry at, or disappointed with, the current maintainers,
> don't say that in the message. Just dispassionately state what led you to
> the decision to fork, and that you mean no ill will toward the project from
> which you're forking. Assuming that you do consider it a fork (as opposed to
> an emergency preservation of the original project), emphasize that you're
> forking the code and not the name, and choose a name that does not conflict
> with the project's name. You can use a name that contains or refers to the
> original name, as long as it does not open the door to identity confusion.
> Of course it's fine to explain prominently on the fork's home page that it
> descends from the original program, and even that it hopes to supplant it.
> Just don't make users' lives harder by forcing them to untangle an identity
> dispute.

[1]
[http://producingoss.com/en/forks.html](http://producingoss.com/en/forks.html)

------
gkoberger
This is a big deal, because of who is involved. Here's the list of people
involved:

    
    
       * Indutny (listed as a Node.js code team member)
       * Trevor Norris (also a Node.js core team member)
       * Isaac Schlueter (cited as a Node.js core team alumni)
       * Ben Noordhuis (also an alumni)
       * Bert Belder (another alumni and a Node.js maintainer)
    

Compared to the Node list of top contributors:

[https://github.com/joyent/node/graphs/contributors](https://github.com/joyent/node/graphs/contributors)

Here's some better information:

[http://www.infoworld.com/article/2855057/application-
develop...](http://www.infoworld.com/article/2855057/application-
development/why-iojs-decided-to-fork-nodejs.html)

~~~
jackmaney
Thank you for some actual, useful information! The article link should be
repointed to [http://www.infoworld.com/article/2855057/application-
develop...](http://www.infoworld.com/article/2855057/application-
development/why-iojs-decided-to-fork-nodejs.html) if at all possible.

------
DAddYE
So for those who wonder:

    
    
        In the TC meeting today we came up with a vision for the first release.
    
        First, a few assumptions we've internalized that probably need to be stated for this to make sense.
    
        - Node is pretty damn stable already. There are huge companies with it in production, 100K+ modules, etc. It is already far more stable that its pre-1.0 release tag suggests.
        - Releasing more frequently leads to a more stable product, not a less stable product.
        - The entire ecosystem uses semver while node uses a confusing even/odd release structure.
    
        If people disagree with any of those assumptions then they certainly won't agree with anything the TC determined for the initial release.
    
        So, first release of io.js:
    
        - January 13th (Fedor's Birthday!) target date.
        - Will be 1.0-alpha1, with alpha releases continuing until 1.0.0.
        - Switching to semver.
        - We will be taking new v8 releases as fast as possible moving forward.
        - Trying to get to a weekly release cycle. Which version number is incremented each week is determined by the changes and whether or not they are breaking. Again, following semver.
    
        Some questions still left open:
    
        - Are there any changes other than dep upgrades and fixes required for 1.0?
        - Is build confident we can have enough automation in place to hit this date.
        - Is the plan to have the installer install an iojs binary and an alias to node?
    
    

Source:
[https://github.com/iojs/io.js/issues/28](https://github.com/iojs/io.js/issues/28)

~~~
bcanzanella
So, they're going to change a few things around the build process and
versioning? I wonder if there will be any plans to address core functionality,
namely callbacks vs promises.

~~~
jonny_eh
I assume language features remain the domain of the V8 engine, which is pulled
in from Google.

~~~
Touche
The parent was referring to how, in the Node world, typically errors are the
first argument of a callback function(err, value). Promises will be added to
Node soon, but the question was whether they will change all of their APIs to
use those instead of the current callback method.

~~~
bcanzanella
precisely

------
oddevan
Not looking for dirt or anything, but why the fork? What makes this different
from Node?

(Only clue so far is the "open governance model"; is that in contrast to
Joyent maintaining Node?)

EDIT: Based on their CONTRIBUTING.md page[1], it looks like this is intended
to be a more "community-driven" version of Node. A strike against is that
SEVERAL (if not most) links in README.md and CONTRIBUTING.md still reference
the joyent/node GitHub project.

[1]:
[https://github.com/iojs/io.js/blob/v0.12/CONTRIBUTING.md](https://github.com/iojs/io.js/blob/v0.12/CONTRIBUTING.md)

~~~
onestone
Because Node 0.12 took forever to be released, looks more and more like
vaporware, and the community demands new V8 features yesterday. Oh, and the V8
version bundled with the current stable Node was no longer maintained even at
launch time.

------
bonsai80
Questionable way to start: "This organization has no public members. You must
be a member to see who's a part of this organization."

------
sehrope
Any background on who's doing this or what the motivation is?

The linked site doesn't have much content besides a link to the GitHub repo.

EDIT: Even though it's not explicitly listed in the README or contributor
list, the commit history does show a bit of detail:
[https://github.com/iojs/io.js/commits/v0.12](https://github.com/iojs/io.js/commits/v0.12)

~~~
mawburn
Wired has a pretty good high level overview:

[http://www.wired.com/2014/12/io-js/](http://www.wired.com/2014/12/io-js/)

------
SegFaultx64
This has been brewing for a while. I don't know most of the people involved
but they post youtube videos of their meetings. isaacs is involved and get is
the creator of npm so that is a good sign. As I understand it this is a direct
backlash against joyent's governance of node and it's slow release cycle.

~~~
pflats
Wired's quote from Joyent is, to me, rather telling:

"But for Joyent CTO Bryan Cantrill, Node is alive and well, despite the slower
pace of development. He says that Joyent has been focused on making Node
faster and more stable, rather than adding new features. “You’ve got to look
at the quality of contributions,” he explains, “not the quantity.”"

~~~
kelseyhannan
Node.js issues in my mind now are maintainability related, not performance
related. They need to stop fetishizing performance and focus more on making
node.js more accessible/easier to work with.

------
chaz72
A lot of confusion about why this is going on. My take as a very interested
user who has been actively tracking down info about this Node's next release
and possible fork for some time is this:

Node.js's last supported release uses such an old version of Google's V8 that
this V8 version is itself no longer supported. This, in my opinion, is just
not good enough. In my personal experience, when a release cycle gets that
fucked up there's a reason.

Joyent hasn't shared what the reason actually is for the delay, but so many of
the top contributors think they can do better with a fork, and I'm going to
give them the benefit of the doubt.

The plan is to do weekly releases, semver, to keep absolutely up to date with
Google V8, and incidentally to not let just one interested party dictate their
future directions.

It's a good plan and if they follow through, I'm definitely on board.

------
aonic
There are more details on "why" in this previous discussion from 6 days ago:
[https://news.ycombinator.com/item?id=8669557](https://news.ycombinator.com/item?id=8669557)

------
courtewing
What I find most interesting about this is how many of the most influential
people in the node community seem to be at least interested in supporting
this, if not actual on board. The website and github organization do not give
any info about who is involved, but if you look at some of the discussions in
github issues, you'll see some big-name node community members.

Just a few I saw in the handful of issues I looked at: isaacs, mikeal,
domenic, rvag

------
Fishrock123
More info will be added shortly to [http://iojs.org/](http://iojs.org/) See
also [http://nodeforward.org/](http://nodeforward.org/)

There is a lot going on, and it is a little difficult to keep track of
everything, for sure.

Just know that io.js will be node and npm compatible.

------
keithwhor
Would really like to see some explanation of an overall vision here. A
paragraph from a core contributor would do.

------
jonny_eh
But why?

~~~
andrewsomething
This Wired article gets into the why:

[http://www.wired.com/2014/12/io-js/](http://www.wired.com/2014/12/io-js/)

------
berns
Why isn't it a github fork?

------
LeonigMig
Great, a node.js fork.

------
yournemesis
Cool fork, bro.

