At its Build dev conference last week, Microsoft released a preview of the next version of its .Net Core runtime distribution, fulfilling last fall’s pledge to open source .Net and take it cross-platform for Mac and Linux.
The move is in line with Microsoft’s ambitious plans to have Windows run across all platforms and devices, and have a billion active Windows 10 users by FY 2018.
“Windows 10 is and will be a standard .Net platform, and improving the interoperability of .Net builds bridges from those platforms to Windows 10, effectively augmenting the developer community available to Microsoft and exposing the portfolio of apps they create to Microsoft platforms,” said Bill Weinberg, senior director of open source strategy for Black Duck Software.
One of those bridges is open source.
“On the other hand, Microsoft will only release software like .Net or even Windows 10 as open source if it supports a viable business model for them,” Weinberg told LinuxInsider.
At the Heart of .Net Core
.Net Core is an implementation of a subset of the .Net framework. It consists of CoreCLR and CoreFX — the Common Language Runtime and the Base Class Libraries.
Those components essentially “provide an interesting subset of middleware needed to build and deploy .Net applications on Mac OS X, Linux, etc.,” Weinberg explained. Microsoft is “explicitly targeting Linux and Mac OS X, and there has been mention of supporting iOS and other platforms in the near term.”
The Impact on FOSSers
How fans of open source will greet Microsoft’s move is a question mark.
There is no monolithic open source community, Weinberg pointed out; instead, there is “a community of communities that includes the Mono project along with myriad related ones.”
However, broadly speaking, “I am sure that the open source release of .Net Core is viewed as a positive development,” Weinberg said. “It surely supports the position of an open source-friendly, even -savvy, Microsoft in the collective FOSS consciousness.”
What about FOSSers who have an almost knee-jerk antipathy to Microsoft and all it stands for? They certainly are not in short supply, and their hostility is not without reason. Microsoft has in the past been less than friendly toward open source software.
“Many on the more ideologically charged side of FOSS might still be suspicious of Redmond’s motives,” acknowledged Weinberg, “but our experience, and that of most user and developers, is that Microsoft is today an advocate and advancer of open source, and no longer an adversary.”
Will Mono Go It Alone?
The Mono project, which is an open source implementation of the .Net Framework and the CLR, has been chugging along for years, working closely with Microsoft.
The Mono community is “very large and well established,” having issued its first release in 2001, noted Weinberg.
In fact, the open source implementation of .Net Core was carried out in close collaboration with Mono. It would seem to follow that both sides might merge their efforts.
Microsoft is using the OSI-approved MIT license for the .Net core components released to date, which is compatible with licenses that apply to key Mono components, Weinberg observed. It seems reasonable that a merged Mono/.Net project would take the best-in-class elements of both.
That, however, doesn’t seem to be the case.
The Microsoft version of open source .Net Core is separate from Mono’s, IDC Program Director Al Hilwa told LinuxInsider.
Microsoft apparently will go ahead with its own work.
Although the Mono community “appears to welcome the [open source] announcement by Microsoft,” said Black Duck’s Weinberg, “I don’t imagine they will simply stop development or immediately move to coalesce their project with the new Microsoft release.”