.NET Core: Embracing Open Source with Microsoft's Belated Arrival

“Something mysterious is formed, born in the silent void. Waiting alone and unmoving, it is at still, yet in constant motion…”

Two momentous occasions have just unfolded in quick succession:

The former is a significant leap for humanity, while the latter holds even greater significance for Microsoft!

The Rosetta Mission will be etched in the annals of history, remembered alongside Laika. A decade in the making, this meticulously planned endeavor has propelled humanity forward, demonstrating the enduring capabilities of technology developed a decade ago.

The second event caught many off guard. With minimal fanfare and certainly not planned a decade in advance, it’s evident that Microsoft embarked on this path some time ago, as .NET Core is not their first foray into open source (Roslyn).

Is .NET open source? Finally, the cross-platform .NET we have been waiting for.

Did humanity truly require a probe on a comet? Perhaps not, but its successful landing is undeniably remarkable! Did Microsoft need a revelation to embrace open sourcing .NET Core? Absolutely! This shift was long overdue, dating back over a decade!

What prompted this change in one of the world’s leading software development companies? What led them to embrace OSI?

According to .NET Framework Blog, two key reasons underpin this decision:

  • Establish the groundwork for a cross-platform .NET framework.
  • Cultivate and harness a more robust ecosystem.

But why would Microsoft empower developers to create cross-platform .NET software? This contradicts their historical approach of promoting their own infrastructure systems, where Linux and Mac were seen as rivals to be vanquished, not collaborators. What’s the underlying rationale?

Regardless of their true motives, developers are reaping the benefits. Kudos to Microsoft for taking this step, even if belatedly!

The long-term implications of open-sourcing Microsoft technology are profound. A genuinely cross-platform .NET framework will profoundly impact hosting, licensing, and maintenance expenses, simplifying the sale of .NET applications to an extent I can scarcely fathom.

My professional journey has been deeply intertwined with coding. My initial passion was Borland Pascal, and the “Blue Screen” was once a sight I regarded with a mix of awe and trepidation. I’ve explored a diverse range of development platforms and languages since then, but let’s be candid - since the advent of .NET, Visual Studio has reigned supreme as the ultimate development environment. It’s a comprehensive solution catering to the needs of individual developers and teams alike, enabling them to craft any type of application. Tightly integrated with the robust features of .NET compilers, each iteration of Visual Studio seems to reach the pinnacle of extensibility, yet Microsoft consistently surprises with impressive new features in every release.

Software development is an immensely rewarding pursuit, fostering creativity, ingenuity, and a sense of accomplishment among developers. However, have you ever navigated the intricacies of selling or supporting sales processes? I doubt sales professionals derive the same satisfaction from their role as software developers do. Selling for a software development company is an arduous undertaking, fraught with challenges unrelated to the software itself. Sales teams must tirelessly persuade clients that their product or service offers the best value proposition, making cost reduction in development and maintenance paramount. The relentless pursuit of value versus cost is an inescapable reality.

Conversely, launching a company has never been more accessible. With a compelling idea, securing funding to build a “Minimum Viable Product” (MVP), showcasing it to the world, garnering feedback, attracting further investment, and repeating the cycle until profitability, acquisition, or failure is a well-trodden path.

So, how do you minimize software product costs? Development costs are unavoidable, often calculated based on developer hourly rates regardless of the platform used. Therefore, the most straightforward approach is to deploy your software in an environment that doesn’t incur additional licensing fees. This is where Microsoft has repeatedly faltered! While debates about performance, software quality, scalability, and the like can rage on, it’s undeniable that the .NET platform can handle any technical challenge thrown its way, often surpassing other platforms in my view. However, I seldom prevail in discussions about deployment and infrastructure licensing.

The market has driven developers away from the Microsoft development platform, and I count myself among them. I’ve embraced Node.js as my primary backend platform, despite its relative immaturity in addressing all my requirements. While I appreciate JetBrains’ WebStorm](https://www.jetbrains.com/webstorm/) and their commendable work, my heart still belongs to Visual Studio 2013. Yes, I’m aware of VS’s Node.js capabilities, but when compelled to switch from C# to JavaScript, SQL Server to PostgreSQL, and IIS to Apache, why cling to Windows-based PCs?

I was once a staunch Microsoft advocate, even before .NET’s inception and certainly before its open-source, cross-platform evolution. However, that allegiance wavered when they mishandled Skype. Building applications for Windows platforms was a passion, and I invested significant effort in mastering its nuances. However, the software development landscape has transformed over the past decade. Startups are ubiquitous, and clients prioritize cost-effectiveness. Microsoft struggled to keep pace with this shift, leading many Microsoft developers, including myself, to trade their Windows laptops for MacBooks. Microsoft has finally recognized that empowering us to deploy applications on open-source platforms will retain their vast development community and ultimately attract new customers.

This small step by Microsoft signifies a monumental shift. They possess exceptional development tools and a thriving community. What if an open-source OS were to complement their powerful IDE? “Not even I dare to calculate the odds”.

Licensed under CC BY-NC-SA 4.0