As web and mobile development have become increasingly important, .NET has faced an increasing amount of competition from open source platforms, as well as some confusion over its direction.

That wasn’t helped by problems in communication like when, some years back, a Microsoft executive announced in a rather off-hand way that Silverlight was dead. Or the lack of news about WPF for several years. Or even the way the WinRT framework in Windows 8 appeared to suggest that the .NET Framework was being superseded by “modern” apps.

To avoid such confusion, Microsoft clearly addressed any concerns about the long-term future of .NET when it made .NET open source and cross platform, as .NET Core. “These changes by Microsoft make investments in .NET even more valuable,” says Vassil Terziev, the chief innovation officer at Progress Software. “Businesses can now continue to develop in .NET without also being forced to run Windows in the data center. It gives .NET shops even more flexibility and control over their costs and deployments, while not forcing them to retrain their engineering teams.”

Still, .NET Core didn’t address one of the continuing problems: Microsoft kept bringing .NET to new platforms, but it was a slightly different .NET every time. “Moving forward, one of our primary goals is to unfragment .NET,” says Scott Hunter, a member of the .NET engineering team.