“Open source, from Microsoft with love”. That’s the welcome message on Microsoft’s repository on GitHub, the open source code sharing site. What if SQL Server - or more realistically parts of it - joined the open source community?
We all know that Microsoft is unrecognisable since Satya Nadella became CEO almost two years ago. In those two years, the unimaginable has happened but perhaps the least expected was Microsoft began sharing the source code for some of its products and technologies. Today, most of the what it’s shared has been developer technology oriented. This makes sense as developers know how to interpret and contribute to source code. Most end users wouldn’t know what to do with the source code for their favourite applications.
More products into the repository
But it’s inevitable that the breadth of products that Microsoft shares the source code for will widen. Even if it stays with the mantra of “development technologies”, what’s a development technology to one Microsoft team will be a shrink wrapped product to another. The rule that Microsoft won’t make any of its proprietary technology public has long been dismissed – so all bets are off when it comes to the future.
SQL Server already has a freemium model
SQL Server is one of Microsoft’s heavyweight products with revenues measured in billions of dollars a year. No one is going to do anything to risk losing that income. But, there is already a free edition. SQL Server has had a freemium model for many years where the Express Edition is available for free and several editions with additional features that can be paid for. It’s this Express Edition that Microsoft – in my view - could first make open source.
Why The Express Edition?
The Express Edition of SQL Server has limitations, some significant enough to make it un-suitable for many workloads. In fact, it’s rarely used in a client/server model but rather to support application services running on the same host. For example, when users often work remotely without access to a central database server they can use a locally stored copy of their data stored in a SQL Server database. Because it’s often deployed as part of the application rather than as part of the server infrastructure, the Express Edition is often used more by application developers than database administrators. And these application developers are now getting used to being able to see the source code for the Microsoft technologies they use, even if they don’t want to change any of it.
A consistent developer experience
It used to be that for application developers, everything Microsoft produced was proprietary and everything else was open source. Now Microsoft have changed the rules. Some of the Microsoft technologies developers use are now open source. When they want to know more about re-factoring their code to increase performance, they can look at the .net source code. When they want to tune their database queries, they’ll want to look at their database engine’s source code. Today, they can already do that with many other database platforms so I’m sure they’ll soon be wondering when Microsoft will also let them.
Is any of this likely to happen?
Who knows? Although the traditional answer is probably not, but times are changing. Even if Microsoft doesn’t make any SQL Server open source, the next generation of Microsoft developers will be growing up in a world where source code access is a given. However it does it, Microsoft has to meet that expectation.