The announcement is another development in the growing openness of Microsoft’s development processes. Windows 10 and its Edge browser were built from user feedback, so letting other programmers directly improve its code is a logical next step in community engagement.
In a blog post yesterday, Microsoft announced it will be open-sourcing ChakraCore from January 2016. ChakraCore contains all the key components of the Chakra JavaScript engine that powers Microsoft Edge. The engine was created in 2008 with the aim of creating a new way of processing JavaScript that could “start fast, run fast, and deliver a great user experience” as interactivity on websites began to take off.
JavaScript is used extensively on most websites to power rich content. It can change a page’s layout when you click a button, dynamically load new sections as you scroll down, take control of media playback and run games and web apps. Each web browser interprets JavaScript in a slightly different way though, which is why performance always varies between each one.
Chakra is no longer constrained to webpages. Universal Windows apps for Windows 10 are written in JavaScript and powered by Chakra. The engine was optimized throughout the operating system’s development and can now outperform browsers including Google Chrome and Mozilla Firefox when running their own benchmarks. By involving outside developers, Microsoft hopes it can evolve Chakra even further.
For now, the company is only releasing the core of Chakra. This includes the self-contained JavaScript virtual machine and everything required to parse, interpret, compile and execute JavaScript code in the engine. It works standalone of the Edge web browser, letting developers contribute regardless of the platform they run.
ChakraCore is essentially Chakra divorced from its usual hooks into Windows 10 that let it power Windows apps and give developers the freedom to send Windows 10 notifications from webpages. Instead, it supports “platform agnostic” APIs where the browser used is irrelevant.
Microsoft said:
“We are committed to making Microsoft Edge and its associated ecosystem a benchmark for collaborative innovation, interoperability, and developer productivity. … Open-sourcing ChakraCore is a natural complement to that effort, and is inspired by the same principles of openness and transparency.”
It added “We’re excited about this milestone, and are hopeful that developing in the open will allow us to collaborate even more deeply with more developers around the world, resulting in better products for everyone.”
ChakraCore isn’t the first project Microsoft has open-sourced. Last year, it publicly released the complete code to its .NET programming language and Windows libraries and then ported it to Linux and Mac OS X too. Both projects are now held under the MIT open-source license.
The ChakraCore code will be uploaded to Microsoft’s GitHub account in January. Initially, it will only be available for Windows as ChakraCore is currently only used in Windows browsers. Microsoft says it will be working to add cross-platform support in the future.
Key outside developers including processor manufacturers Intel and AMD have already expressed interest in contributing to Chakra. With more hands on deck, the engine can expand more quickly to include new features and enhanced performance, creating a better experience for the millions of Windows 10 users who see the results in Microsoft Edge.