Recently there was lots of news about Rust at Microsoft and more importantly Microsoft joining the Rust foundation. This is good news for both Microsoft and Rust community for sure, however, in my opinion this decision has nothing to do with Rust being a safe and fantastic language (which is IMHO). In this article I am trying to discuss my hypothesis on this.
First a little bit of background:
Microsoft in the 90s and early 2000s was mostly an Operating system and office tools company and Microsoft customers at the time were end-users who used Windows and MS-Office mostly. Microsoft did its best to serve its customers while at the same time fought with Open source and most notably Linux. Not only it ignores Opensource and Linux but also it did its best to limit their usage at least in the Windows ecosystem. There were even some speculations that Microsoft pressured hardware manufacturers to favor its OS and if you remember those days installing a Dial-up modem on Linux was very difficult due to lack of proper device driver (most modems those days were Win-modem if I remember correctly). Ballmer’s Microsoft continued to undermine Linux with all their power, and we all know what the result was. From the browser to desktop and of course servers, Microsoft had started to feel the pain. Cloud computing was a new front which Microsoft was already defeated even before the battle started. Then Satya came and he changes everything, Microsoft suddenly started to show its love for Linux although at the same time tried and still tries to limit Linux installation alongside windows with excuses like fast boot and safe boot (it is a pain for average users to have Linux installed on their Laptops with windows in 2021). Why? I think Microsoft changes its customer focus from end-user to developers but there were lots of problems with that. First, developers hated Microsoft so much due to its previous policies and secondly tooling was so poor on windows to attract them anyway. Microsoft started to work on its image on developers’ mind by showing love to Linux and then WSL came which is a good trick to bring you inside the windows environment.
Let us just stop here for a moment and talk about why this change of customer base matters nowadays. Developers can generate more and stable revenue than OS end-users for instance. They have the power to influence their companies to use different services, they can create lots of good tools and application for free and freely and they can start their own startup that some days may needs cloud computing. So, if you have them, if they like your company and enjoy working with your technologies you have the potential to monetize it later on considering that these days open-source projects have even more contributors than all of the big Tech giant staff combined.
Developers should be happy and should be provided with great and free tools. Microsoft decided to instead of pushing PowerShell, promoting WSL and now WSL2 which has Linux Kernel. In addition to that, it first makes some version of visual studio freely available and when it saw it was not effective it introduced visual studio code which is attractive and has brought many attention to itself and developers have started to create plugins for it. VSCode is the IDE of choice for many developers these days even on Linux distros and it overshadows eclipse and others. Now developers have the option to remain in the Windows ecosystem and use a good and free IDE with a good taste of their favorite Linux distro like Ubuntu and openSUSE.
Microsoft didn’t stop there, it opened a parallel front to have better access to talents, know them better, attract them to join Microsoft and win the battle with other big giants over them. Acquisition of LinkedIn was the key to this plan, but it was not enough. Microsoft wanted more access to talents, those who do not use LinkedIn, freelancers, seasonal coders and more importantly ideas. Microsoft acquired GitHub then. Now everything is ready for monetizing better the new customer segment, from professional networking to code repos and of course tooling. Now even if you are not a Windows user and never intended to be, chances are you are interacting with at least one of Microsoft products and services, you see the development world through one of Microsoft’s windows.
Now imagine there is a niche segment of developers working on a unique programming language. That group loves their language so much, are enthusiastic about it and fighting for it. That language for several consecutive years became the top language of one of the most popular websites called StackOverflow (Potential future acquisition) as being the most-loved language. Those developers are not just ordinary developers, they are passionate technologists, they have skill set, influence, and invest huge energy and time on their loved language. Microsoft saw that and its new policy dictates it to do something about it. How about supporting it directly, invest in Rust foundation and participate in it. Now from best Git repo website to best IDE and most popular Linux distro and of course most loved programming language are under its umbrella.
Satya’s success in Microsoft shows clearly that this strategy worked and is still working and that ugly image of Microsoft in many developers’ mind is shattering. New and young developers who never experienced those cruel behaviors towards Opensource software even like the company and already maintain a good image of it. Opensource has power, it brought IE and Edge to their knees, Microsoft’s new attitude shows that it got the message and right now is acting wisely toward it.
I see Microsoft’s love toward Rust and Linux as just a marketing strategy and nothing more and personally I do not think Rust ever finds its way to Windows kernel or any serious Microsoft products. So do not base your decision to learn Rust on Microsoft’s move, it is the power of Rust community and not the features of the language that brought Microsoft in. Sure, Rust has many good ideas that drew Microsoft attention too, after all, Project Verona is heavily inspired by it, but Microsoft even threw its own F# under the bus to not hurt C# popularity, even though F# is in my opinion a better language. So if Rust endangered .Net families of languages in any way, I do not think this relationship sustains.