Microsoft Open Technologies: It’s The Engineering, Stupid. On Windows, Redis, Github and Working With and Like Open Source

When Microsoft set up its Open Technologies subsidiary a couple of weeks back there was a flurry of coverage about the initiative from an IP management perspective, some positive, some negative, but generally looking at the procedural and legal implications of the new organisation. Its no surprise that the industry views Microsoft IP initiatives in terms of weaponry – Microsoft clearly enjoys and understands better than anyone the advantages of IP management and licensing – just witness the recent cheeky arbitrage in buying a bunch of patents from AOL and selling them on to Facebook within weeks.

I spoke the other day with Jean Paoli, the President of the new organisation, and during the conversation I quickly realised that market commentators had largely not nailed what is most significant about the new Microsoft subsidiary – the engineering aspects of working with open source, and their mismatch with classic Microsoft ways of working.

According to Microsoft’s blog post on the subject

The subsidiary provides a new way of engaging in a more clearly defined manner. This new structure will help facilitate the interaction between Microsoft’s proprietary development processes and the company’s open innovation efforts and relationships with open source and open standards communities.

This structure will make it easier and faster to iterate and release open source software, participate in existing open source efforts, and accept contributions from the community

Last week Donnie wrote a post Linus Torvalds: Linux and git are innovations in process, not software with the killer line – “You don’t even need to use open source to learn from what the OSS world is doing — just leverage the same techniques within your company.” As anyone that has partnered with Microsoft will know, it’s not exactly the fastest moving company out there, in terms of resource allocation decisions. Even when engineering makes a decision, marketing will probably make you wait nine months or more before there is the right occasion to make a news announcement. But that model, based on the old school, really doesn’t work in the new world.

Microsoft needed to create the new organisation so that it could marshal engineering resources more effectively. One of the first beneficiaries is the Redis database (coverage here, here and here). So Microsoft has been contributing to Redis

You can find the code for this new version on the new MS Open Tech repository in GitHub, which is currently the place to work on the Windows version of Redis as per guidance from Salvatore Sanfilippo, the original author of the project. We will also continue working with the community to create a solid Windows port.

We consider this not to be production ready code, but a solid code base to be shared with the community to solicit feedback: as such, while we pursue stabilization, we are keeping the older version as default/stable on the GitHub repository. To try out the new code, please go to the bksavecow branch.

Microsoft is contributing code, straight to Github, to benefit Salvatore’s project – that’s pretty cool, and shows a real understanding of the state of the art in software development. Open source has changed the game, and in order for Microsoft to contribute effectively, it needed a resource allocation mechanism outside the normal product and engineering groups. The new organisation is a response to the new way software gets done, rather than being about source code, or 20th century notions of IP management.