I am still not buying the “new open source-friendly Microsoft” bullshit

Featured image: Georgi Petrov | Unsplash (photo)

This week Microsoft released Computational Network Toolkit (CNTK) on GitHub, after open sourcing Edge’s JavaScript engine last month and a whole bunch of projects before that.

Despite the fact that the open sourcing of a bunch of their software is a very nice move from Microsoft, I am still not convinced that they have changed to the core. I am sure there are parts of the company who believe that free and open source is the way to go, but it still looks like a change just on the periphery.

Really, all the projects they have open sourced so far are not the core of their business. Their latest version of Windows is no more friendly to alternative operating systems than any version of Windows before it, and one could argue it is even less friendly due to more Secure Boot restrictions. Using Office still basically requires you to use Microsoft’s formats, and in turn accept their vendor lock-in.

Put simply, I think all the projects Microsoft has opened up so far are a nice start, but they still have a long way to go to gain respect from the open source community. What follows are three steps Microsoft could take in that direction.

1. Fully support OpenDocument and make it the default format in Office applications

Microsoft has accepted the web standards defined by W3C. Making OpenDocument the default format in Office would be the equivalent of accepting independently standardized HTML and CSS. Even after accepting the format, Microsoft could still compete with free and open source office suites. They could offer more features, more beautiful user interface, better performance, or better quality support. They would, however, lose the vendor lock-in ability.

2. Open source large parts of Windows and the tools required to build custom versions

Apple has been open sourcing large parts of OS X (but not all of it, one should say) since the version 10.0. With significant effort, it is possible to build something like PureDarwin, an open source operating system based on the source released by Apple. Note that, for example, PureDarwin does not use OS X GUI, since Apple has not open sourced it.

Microsoft could do the same with Windows as Apple did with OS X: open source large parts of the code, and allow people to combine it with other software to build custom versions. Even if some parts of the code remain proprietary, it is still a big improvement over what Microsoft is doing now.

3. Spin off the department for Secure Boot bootloader signing into an independent non-profit entity

Since 2012, the machines with UEFI Secure Boot have started to appear on the market. To get your laptop or desktop PC certified for Windows 8, a manufacturer had to support Secure Boot, include Microsoft keys, turn Secure Boot on by default, and allow the user to turn it off. Microsoft agreed to sign binaries for vendors of other operating systems, and vendors like Fedora and Canonical got the signatures.

With Windows 10, the requirement to allow the user to turn Secure Boot off vanished, which prevents booting of unsigned operating systems. Furthermore, Microsoft can at any time revoke the key used for signing operating systems other than Windows and render all of them unbootable. Finally, since the key used to sign other operating systems is a separate key from the one used to sign Windows, the revoking would not affect Windows in any way.

The situation gives Microsoft an enormous amount of power and control over desktops and laptops. It would be much better if the signing process and management of keys was done by an independent non-profit entity, governed by a consortium of companies.


I am sure there are people, even among those who work for Microsoft right now, who would agree with these ideas. However, the support for these ideas itself does not matter much unless and until Microsoft starts taking action in that direction.

And, unless and until that happens, I am not buying the “new open source-friendly Microsoft” bullshit.

Published by

Vedran Miletić

Researcher, teacher and developer. Also open source and book addict.