IBM's cloud offering runs on the PowerPC architecture, and older versions of V8 won't run on it, so they can't offer Node hosting. They ported a private build of Node to run on PowerPC using a new version of V8, but Joyent has so far refused to upgrade V8 despite having a pull request with all the work done. It looks a lot like Joyent has been dragging their heels on V8 updates just to fend off an IBM cloud service for node.
The first five words of the announcement are: "Joyent, IBM, Microsoft, PayPal, Fidelity". That says a lot right there. StrongLoop, NPM and a bunch of others are excluded, the whole thing seems to have been baked up in private by people who aren't core contributors, and then sprung on the community like it's some great thing.
Maybe it's a step in the right direction, but as it stands I'd expect this foundation to be about as useful as another hole in the head. I've seen enough corporate bad behaviour from some of them to not care about their special little club right now, and I don't think it will win too many people over.
[Update: Fedor posted about it here https://medium.com/@iojs/io-js-and-a-node-js-foundation-4e14... ]
The NodeJS issue got exactly zero response.
It looks (at least from the outside) that io.js is a maintained project and NodeJS is not.
Short of the Node Foundation turning over operations to the io.js TC, I don't see Node remaining the choice platform within the next two years as they diverge farther than they have. I wouldn't mind seeing them re-join, and re-release io.js 1.x as "node" 1.x proper.
It's bad enough that we have to use transpilers (6to5/traceur, etc) for new feature support in the browser... having to use them on the server was a pain... co/koa and similar have been around for over two years waiting for 0.12 to come out of beta... Even then, they were significantly behind v8 and libuv.
If Node Foundation brings io.js back into the fold, great.. if not, I'm with io.js on this one.
[0] https://gigaom.com/2013/09/27/meet-node-red-an-ibm-project-t...
What did you actually gain by doing all of that work? I think it was a big waste of time.
You forego Node, does that mean you can't run Node modules installed with npm? Sounds like a very dumb decision.
One of the things that has always bothered me was that in your thread Isaacs was adamantly against a foundation. Suddenly now he is all for it. Was he simply repeating the Joyent party line then, or has he since changed his mind?
I'm also disappointed about the lack of inclusion of StrongLoop and NPM, who both have key contributors to node.js among their ranks.
PS. A number of people were against it at first, including Nodejitsu guys and Michael Rodgers. I wrote that either a foundation or a community fork were inevitable. Eventually people realized it, and it turned out to be a community fork. If a meaningful foundation were to happen at this point it would have to be built around io.js in my opinion.
So, they're making noise and dropping names to try to reinspire confidence, without actually promising anything.
Joyent doesn't trade, but if they did they'd be losing a few percentage points today.
This made water come out of my nose. You're absolutely right, and having spent the winter writing Go and not knowing about io.js (at least as "new node-forward"), it was instantly apparent to me that io.js has all the important mindshare, and now Joyent will be struggling.
Who and how many of the earlier Node.js core developers are still developing for Node.js, how many are developing for io.js, and how many are developing for both?
io.js kept mum until the last moment before their release, with an invite-only codebase. io.js also took quite a while (> 6 months, far longer if you count the first fork attempts) to get to the first release and actually open their community -- turns out that producing a stable runtime is harder than it looks!
Let's call a spade a spade -- io.js is a great way to test out new functionality, but node.js is the stable, trusted version. io.js is the hype.
It remains to be seen whether io.js will prove itself profitable for adoption.
I can't imagine Joyent doing anything in good-faith, they are scared of losing relevancy and are looking to protect their interests, they don't give a flying cow about anything else but themselves.
This would not have happened if io.js was not on the scene, call me cynical but I don't trust them.
They bought Node on the off-chance it would be as big a cultural phenomenon as Rails, and they would own it and have control, rather than losing their golden blessing to Engine Yard back in the day.
Have to say, the names they're dropping do not inspire confidence in me. Nobody on that last is well known for their stewardship of open source projects, to say the least.
Over several years it became clear that Jason was only interested in playing with cool technologies and a lot of public self aggrandizement in the process. However, never did they seem to deliver any stable game changing technology to the level they had hyped. It seems like they eventually they sort of limped out with an alternative platform that could be competitive if you squinted hard enough, and then sold it by means of aforementioned marketing skills. But for those of us who got the company off the ground, we basically all got screwed. And even though Jason has left Joyent, to me their DNA is suspect, and I would never trust them as stewards of an open source project.
Note that nowhere do they mention io.js--that's just kind of classy, right?
Second, their tone seems aimed at reassuring senior-level folks that might have heard murmurs of dissent from underlings about node--this release doesn't feel like it's targeted to developers at all.
Lastly, notice Microsoft being on board. I do wonder if they'll push for movement off of V8 and onto a better-documented, better-maintained platform.
1. Shows that the io.js people correct when they identified the problem
2. Doesn't solve the problem
Prior to this announcement you could say "the io.js people are crazy; just trust in Joyent". (Not saying you'd be right, just that you could say it and no be obviously wrong. Isaacs, for example, was a proponent of this view.) Now, even Joyent is admitting that there's an issue. But it's pretty damn hard to see how the issue could be solved by this specific proposal. Joyent, IBM, Microsoft, PayPal, Fidelity? Right, that totally solves the worries about stagnation, corporate control, or excessive Joyent influence.
https://medium.com/@iojs/io-js-and-a-node-js-foundation-4e14...
This would be my wish.
To answer your question: no, I was not overruled -- it's been clear to me for quite some time that node.js would be best served by a foundation. That said, getting the mechanics of that foundation established has taking (is taking) a long time (and, it must be said, involves a lot of hard, thankless work from a lot of people). Foundations might feel "easy", but they aren't: 501(c)(3) organizations are highly regulated entities that require not just a lot of groundwork and forethought but extensive maintenance. Fortunately, we have made great progress (and we have built a terrific collection of founding members), and we are getting the node.js community what it needs: a foundation that can assure the consensus-driven advancement of the technology, in perpetuity.
[1] http://www.slideshare.net/bcantrill/corporate-open-source-an...
[2] http://www.youtube.com/watch?v=NhgXQFk9noI
[3] https://www.joyent.com/blog/sdc-and-manta-are-now-open-sourc...
Regardless of the event itself, that was an exceptionally poor handling (soapboxing?) of the situation, and didn't speak much of ability to mediate a heated situation. A foundation born from this management style? Doesn't sound encouraging.
This announcement feels like hurried back-room politics, and your reply is reinforcing that impression.
This is the closest entry I could find on his blog regarding node.js and its governance: http://dtrace.org/blogs/bmc/2014/06/11/broadening-nodejs/
That's consistent w/ what I've heard (whatever thats worth)
If you mean a JS replacement, they unveiled Dart in 2011 and it's not particularly popular.
io.js is trying to push the envelope by supporting ES6, more APIs, etc while node.js isn't focusing on that. This eventually means if I write my module for node.js it should still work for io.js but if I write it for io.js, even if it does take advantage of better performance, ES6 syntax, etc, it won't work for node.js.
I can't imagine anyone wants that kind of fragmentation.
The more native code you write for this ecosystem the more you realize there needs to be a complete abstraction away from the JS engine and event loop to allow for the core to upgrade as fast as possible and module writers to ease into the newer versions. This is one of the reasons why the version of `v8` in Node proper lags behind so much -- it breaks the native module ecosystem every time there is an upgrade.
Yes, this was one of the points I mentioned however this precludes me from using newer and possibly better APIs and syntax in io.js. If that's the path to take what is the point of io.js if everything will be written to the lowest common denominator?
> Fragmentation is good, it stimulates the eco-system for better products.
Maybe? I'm not sure. It certainly hasn't looked very rosey from Android's point of view but has it worked for other things? I'm skeptical.
At the same time, one of the primary reasons for moderating the list in the first place was to ensure that the group is constructive and useful, and not just a venue for flamewars. This has been a problem when discussions around foundations, Joyent, forks, and the like have happened in the past. In fact, it nearly killed the group last time this discussion happened (a lot of longtime community members with a lot to contribute gave up on it in disgust), so I'm not going to claim that we're not going to step in if things get overly heated.
(I'm self interested because we essentially bet our company on Node/IO.)
Joyent's hand has been 'forced' to shut the barn door.
The trademarks should be given to the foundation, like they are with, say Python and the Python Software Foundation.
"... to establish the Node.js Foundation, which will be committed to the continued growth and evolution of Node.js, while maintaining a collaborative environment to benefit all users."
An open source project is getting a stable backbone. Come on people, this is great news for developers.
I don't like the idea that accomplishments mean a force-field against criticism. (Actually, I hate it.) Plus a lot of the negativity is not about the work itself but about how the project structure prevented work from happening.
"The enterprise begged us to slow down the rate of change and we obliged!"
"Try not to raise your voice or Walmart might hear you..."
"Walmart was never going to be a big buyer, they're as cheap as their stores!"
I really hope that somebody at Joyent gets catharsis from watching this.
The community at large is unconcerned about io.js, they are developing for node.js because that's how they (we) all make money. Node was in no danger for that fact alone.
The winner here is the open source community. We now have 2 excellent options: a beta for the bleeding edge, stability for the enterprise, and forward progress for both.
ES6 is great, but for anyone who wants to write isomorphic code without a lot of pain in compilers, is limited by browser adoption. Expect that to be at least 3 years out, during which node will continue to succeed.
First let's start with the misconception that io.js is "bleeding edge" or that it is any less stable than node. This is 100% factually incorrect, hundreds of open tickets have been closed with io.js that have not for node. It is tenfold more stable, and it's trajectory has already outpaced in two weeks what nodejs has in a year and a half.
Second, this is not a win for either party or the community. For the community, you'll get people like you who now think node.js is somehow automatically more stable and reputable because they have a fancy big-wig 'foundation'. For io.js team, it now shows Joyents true colors that they are stubborn and wish to continue down their path and are now unlikely to merge at all in the future. For the node.js team, it now means they are just prolonging their decline. They still have not a single full time node developer, and have lost almost all of the developers who actually made node.js with 0% chance they'll ever come back (the governance will never be compatible with Joyents new corporate dictatorship model).
Finally, the choice to use io.js should not be ES6, it should be the fact it's a more stable, secure, and actively developed project, plain and simple. It does not force you to use ES6 so I don't know why you're talking about browser adoption at all. I have io.js running in production right now and I didn't change a single line of code when 'porting' my codebase from an old node.js installation.
And yet, Node.js is using unsupported versions of V8 and libuv, whereas io.js is on supported ones. I'm not sure that's exactly enterprise stability.
There are a number of core contributors to Node.js that are unhappy with Joyent's stewardship of node.js. The core contributors want to work on the node.js core and provide new features. Joyent has not enabled these core contributors to make these improvements, and have seemingly alienated some great developers like Ben Noordhuis for political reasons.
Hence the io.js fork.
It's been clear from the beginning that the io.js folks are willing to work with Joyent and node.js, if Joyent is willing to give up its iron fisted control of the project.
The foundation itself is a great step forward for Node.js, and will result in much needed enterprise investment in the runtime.
Are you confused? "isomorphic" doesn't mean what you think it means ...