"This temporary fork enables Node.js to optionally use the Chakra JavaScript engine on Windows 10, allowing Node.js to run on Windows on ARM." (the submission title has been updated after I posted this, was initially "MS releases a fork of Node that uses the Chakra JavaScript engine instead of V8")<p>Looks like they intend to merge back with node mainline... ?<p>EDIT: Found this: <a href="http://blogs.windows.com/buildingapps/2015/05/12/bringing-node-js-to-windows-10-iot-core/" rel="nofollow">http://blogs.windows.com/buildingapps/2015/05/12/bringing-no...</a><p>They're doing this to be able to run Node.js apps on Windows 10 ARM (on which V8 supposedly doesn't run?)<p>"We will be submitting a pull request to Node.js after stabilizing this code, fixing key gaps and responding to early community feedback."<p>"Going forward, we plan to work closely with the Node Foundation, the Node.js Technical Committee(s), IO.js contributors and the community to discuss and participate in conversations around creating JavaScript engine agnostic hosting APIs for Node.js, which provide developers a choice of JavaScript engine that they would want to use in their Node.js workflow"<p>Looks like the pull request will consist mostly of exposing new hooks to integrate with Chakra / other JS engines and won't involve pulling any Chakra code into Node.js (which would be unlikely to be merged). Might lead to a SpiderMonkey version of Node.js at some point, too. Nice to see IO.js mentioned. Looks like a very positive initiative (assuming it doesn't complicate Node core too much)
It would be cool if the JavaScript engine was interchangable in NodeJS and IO.JS so you could pick Chakra, V8 or SpiderMonkey very easily. SpiderMonkey is faster than V8 these days on a lot of benchmarks.
Interesting that Microsoft forked Node instead of io.js. The Microsoft repo says, "This branch is 16 commits ahead, 29 commits behind joyent:master".
Can I browse my node_modules folder in Explorer yet? [1]<p>[1] <a href="https://github.com/joyent/node/issues/6960" rel="nofollow">https://github.com/joyent/node/issues/6960</a>
JXcore is another fork of Node that makes the VM pluggable, supporting both V8 and SpiderMonkey. I wonder how similar Microsoft's and JXcore's VM abstraction layers are and whether Node upstream would accept them. Drawing a hard line between the Node native code and the VM would make binary addon compatibility more stable (and lessen the need for NaN, the "Native Abstractions for Node").
I wonder if MS is going to end up open sourcing Edge? Between this and the fact that Visual Studio Code uses Chromium, it really seems like where MS should head, but who knows.
What about the license of Node.js/Chromium? Isn't linking a closed source library (Chakra) problematic?<p>You know it includes multiple code parts under various licenses, Wikipedia says:
BSD license, MIT License, LGPL, MS-PL and MPL/GPL/LGPL tri-licensed ( <a href="http://en.wikipedia.org/wiki/Chromium_(web_browser)" rel="nofollow">http://en.wikipedia.org/wiki/Chromium_(web_browser)</a> )<p>There is a reason why major open source projects like Linux, etc. choose licenses like GNU GPL v2+. <a href="http://en.wikipedia.org/wiki/Embrace,_extend_and_extinguish" rel="nofollow">http://en.wikipedia.org/wiki/Embrace,_extend_and_extinguish</a> and <a href="http://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt" rel="nofollow">http://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt</a>
I wonder if they have made it so that you can use milliseconds (1/1000) instead of (1/100) in setTimeout and setInterval. It was one of the things that annoyed me the most running Node.JS on Windows ...