When I started using Linux 20 years ago, I never expected that it would become such an important technology. For me, it was a free C compiler. It was also a free operating system during my student years. In short, I wouldn't be where I am today without Linux. But it was always a personal thing for me, not an opportunity to improve something much bigger than myself. All the time spent in the Linux community, we pondered how Linux could grow: it was already in the server room, but where else? After 5 "Years of the Linux Desktop", it seemed clear to me that Linux was never going to be more than an inexpensive and capable server VM with limited use in the Windows ecosystem that predominates the corporate world.
Then something weird happened. Microsoft embraced Open Source. We got multi-platform .NET, free multi-platform dev tools, and a ton of reference documentation and welcome material for developers. I've built a few Linux servers in my organization for precisely the reasons I mentioned above. Nobody minded, so I built some more. Some of our business divisions use Linux as their dev environment as well. One of my guiding architectural principles is that we avoid lock-in – of all forms. We don't want to get bound to a vendor, an obscure technology that goes obsolete in 5 years, or overbearing architecture guidelines. So – multi-platform is a big win from that perspective.
As our applications go cloud-native, I'm seeing huge opportunities for Linux again. A recent Microsoft case-study of one of their major gateway systems talked about how they reduced core count by 50% when moving their application to .NET Core running on Linux. I'm betting that it will be a little better than that as we leverage the benefits of Kubernetes as well. In most organizations these are real savings. Compute costs are a significant portion of the overall cloud footprint, and a 50% reduction in that cost will be noticeable.
The "Year of the Linux Desktop" so often dreamed about has not come to pass, not because Linux is a lousy desktop (indeed, I write this in a Microsoft browser on Linux!), but because it basically isn't allowed:
* You must authenticate with Active Directory
* You must be able to communicate with Microsoft Exchange
* Other proprietary, Windows-based software is required (see lock-in, above)
I realize that many of these arguments have been made before, and some companies have successfully implemented them as Linux pioneers. But I am about to have evidence in hand and I'm chiming in with the chorus.
When you put Linux in the cloud and server room, you don't force anyone but your technical staff to use Linux (and that's not an unreasonable ask). But you also allow your technical staff to use Linux. And if you allow them to use Linux, you also allow them to use Mac. Voila, a diverse, interesting and supportable ecosystem that still works with legacy Microsoft technologies, but also allows your technical staff the means to use their preferred tools. It is at long last the Year of the Linux Desktop for me.