​Microsoft open sources Edge web browser's JavaScript engine, plans port to Linux

Microsoft open sources ChakraCore, Windows 10's Edge web browser JavaScript engine. More amazing still, Microsoft will port it to Ubuntu Linux.
Written by Steven Vaughan-Nichols, Senior Contributing Editor

Who says Microsoft doesn't get open source these days? On January 13, 2016, Microsoft made good its December 2015 promise to open source ChakraCore, the Microsoft Edge JavaScript engine. And, believe it or not, Microsoft will also port it to Linux.


Microsoft's Gaurav Seth announces that Microsoft will open source its ChakaCore JavaScript engine.


Edge is Microsoft's Windows 10 specific web brower. Unlike Internet Explorer (IE), which traces back its family tree to 1995 and Spyglass Mosaic, Edge is largely a new browser. It still traces some of its code to IE. For example, EdgeHTML, which powers Edge's HTML rendering engine, is a fork of IE's Trident Web-rendering engine.

That said, Edge is a revolutionary shift in Microsoft's web design philosophy. Besides being only available on Windows 10, Edge dumped backwards IE compatibility by getting rid of venerable, but insecure code and IE's legacy add-on architecture. Oh, and, yes, Microsoft is embracing open source for its core JavaScript engine.

According to Gaurav Seth, Chakra's principal project manager: "We've just made the sources for ChakraCore available under the MIT License at the ChakraCore GitHub repository. Going forward, we'll be developing the key components of Chakra in the open."

Chakra itself started as a new JavaScript engine in IE 9 in 2010. It was designed to "start fast, run fast, and deliver a great user experience."

While Chakra is most closely associated with Edge, it does more than power this web browser. Seth added that Chakra supports "Universal Windows applications across all form factors where Windows 10 is supported--whether it's on an Xbox, a phone, or a traditional PC. It powers services such Azure DocumentDB, Cortana and Outlook.com. It is used by (and optimized for) TypeScript. And with Windows 10, we enabled Node.js to run with Chakra, to help advance the reach of Node.js ecosystem."

ChakraCore's MIT License is an extremely liberal license. Essentially, so long as you include the copyright notice, you can do anything you want with the code. So, if you wanted to make your own Edge clone, you're at liberty to use one of its key components.

Or, as Seth put it, "ChakraCore repository provides a fully supported and open-source standalone JavaScript engine, with the same characteristics as the Microsoft Edge's Chakra engine, to embed in projects, innovate on top of and contribute back to. We will be accepting community contributions and input to ChakraCore. Once the changes from any pull request have been vetted, our goal is to ensure that all changes find their way to be shipped as a part of the JavaScript engine powering Microsoft Edge and the Universal Windows Platform on Windows 10."

Seth also hints that Edge may eventually come to Windows 7. He wrote: "With today's release, you can build ChakraCore on Windows 7 SP1 or above with Visual Studio 2013 or 2015 with C++ support installed."

It's not just Windows 7 that may see some Edge goodness. On the ChakaCore roadmap, Seth wrote that by June 2016, Microsoft wants to release "an implementation of ChakraCore interpreter and runtime, no JIT, on x64 Ubuntu Linux 15.10."

Yes, that's right. Microsoft is porting part of an end-user program to Linux.

Linux's father, Linus Torvalds, once said, '"If Microsoft ever does applications for Linux it means I've won." I'd say he's won.

Want to see it for yourself? The code's now available at the ChakraCore GitHub site.

Related Stories:

Editorial standards