Microsoft Open-Sources ChakraCore, Windows 10's Edge Web Browser JavaScript Engine

MS Edge logoThe software giant Microsoft officially pulls the plug for Internet Explorer 8, 9 and 10. All that in favor its newer IE 11 and Microsoft Edge browser. And for the Edge browser, the company is open-sourcing it.

In a December 2015 talk at JSConf in Florida U.S., Microsoft announced that it would be open-sourcing the key component of Chakra JS engine that powers Microsoft Edge. On January 16th, 2015, the company made good of its promise and made it available under the MIT License at the ChakraCore GitHub repository.

The ChakraCore repository provides the fully-supported standalone JavaScript engine with the same characteristics as the Edge's Chakra engine. This allows developers to embed the codes 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," said Chakra's Principal Project Manager Gaurav Seth.

And it's not just that. Microsoft is also porting it to Linux.

Edge is Microsoft's Windows 10 specific web browser. Unlike the many versions of Internet Explorer which have their DNA tracing back to a 1995 family tree and Spyglass Mosaic, the "Spartan" Edge is notably a new browser on its own. Despite having some of its codes resemble IE, Edge is built to be a different animal.

Microsoft Edge is revolutionary, and it doesn't go as what its predecessors had in their design philosophy. Being available only on Windows 10 when it was first released, Microsoft is confident that with it, the company can dump IE, and all of IE's compatibility.

As for open-sourcing Edge's core JavaScript engine, Seth said that: "Going forward, we'll be developing the key components of Chakra in the open."

A Better Being From The Start

Edge's Chakra diagram

Edge's Chakra started its life as a new JavaScript engine which was introduced in IE 9 in 2010. The engine at that time was created by Microsoft to keep up with Google Chrome's significant increases in JavaScript performance. ChakraCore is essentially the same engine as Google's, but with platform-agnostic bindings rather than Windows-specific ones.

It aim was to "start fast, run fast, and deliver a great user experience."

Microsoft also submitted a request to the Node.js project (based on Google’s V8 JavaScript engine) to also support ChakraCore so it can benefit from better support for the latest ECMAScript 2015.

While Chakra is most closely associated with Edge, what it can do is more than power the 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."

Future Development and Possibilities

By having ChakraCore's as open-source with MIT License, anyone that include the copyright notice, can do anything they want with the code.

"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," said Seth.

With that in mind, Edge goodness would see a wider roadmap. The implementation of ChakraCore shouldn't be limited to Windows 10. It can come to previous version of Windows, and even to Linux.

Linux was, and always is, Windows competitor. While Linux thrives with its open-source environment, Windows took the opposite. But with open-sourcing Edge, Microsoft is entering Linux.

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

Microsoft intends to run ChakraCore's development as a proper community project. The company says that Intel and AMD have already expressed interest in contributing. Other companies are expected to join. At the time of its release, the code is for Windows-only, but the cross-platform ChakraCore is just in the close future. This is a similar strategy Microsoft did when it made .NET open-sourced.

Microsoft's strategy is pushing more of its products to open-source is to become more transparent in what it's doing. This would in turn increase the adoption of the technology and gain more developers' trust. And for a company its size, there's less to nothing that can stop it to do the thing it wants.

The next logical step for Microsoft is its hope with to get the community to collaborate deeply with the project in order to get better products in result.

Since community-driven development is the norm in the browser and JavaScript community, Microsoft is putting itself at odds with Mozilla, Google, and Apple. Not just Linux.