Microsoft under fire again from open-source .NET devs: Hot Reload feature pulled for sake of Visual Studio sales

Windows giant has a funny way of 'loving' Free software


Updated Microsoft has enraged the open-source .NET community by removing flagship functionality from open-source .NET to bolster the appeal of Visual Studio, not least against its cross-platform cousin Visual Studio Code.

The two key pieces in this latest unrest are this pull request in the open-source .NET SDK repository on GitHub, in which 2,500 lines of code implementing a feature called Hot Reload are removed from a tool called dotnet watch; and this blog post in which Principal Program Manager Dmitry Lyalin revealed "we’ve decided that starting with the upcoming .NET 6 GA release, we will enable Hot Reload functionality only through Visual Studio 2022."

Hot Reload is a feature whereby developers can modify source code while an application is running, apply the changes, and see the results in the running application. It speeds the development process because it is quicker than rebuilding the code, stopping the application, applying the changes, and then firing it up again.

When Hot Reload was introduced Lyalin said developers could use it through "the .NET Hot Reload experience in Visual Studio 2019 version 16.11 (Preview 1) and through the dotnet watch command-line tooling in .NET 6 (Preview 4)." The feature is in .NET 6 RC2, which has a go-live license, and which was released on October 12 ahead of the launch of .NET 6 planned for November 9 at the online .NET Conf 2021.

The removal of Hot Reload is surprising at this late stage and was greeted with dismay by .NET developers – so much so that a pull request to prevent the change was submitted and rapidly attracted support. "This is the PR that is truly going to decide .NET is really an OSS [open source software project] or not," said one developer.

Why this matters to us all

Why so important? Although Hot Reload is a tooling feature, the implication of the change is that the open-source .NET SDK is being deliberately crippled to seemingly make Visual Studio – which is a commercial product with a cut-down free version – more attractive than rivals, including the Microsoft-sponsored Visual Studio Code. The change was also done without consultation with the community, which seems tone-deaf following the crisis concerning the .NET Foundation which has at its heart the same question: is Microsoft serious about .NET being an open-source platform?

The decision to curb the availability of Hot Reload also seems curious to outsiders. Developer tooling is strategically important to a platform company like Microsoft: simply put, it attracts programmers to the platform. Who can forget Steve Ballmer, former Microsoft CEO, and his cry of "developers, developers, developers"? Laugh we may; yet analyst firm Redmonk founded its business on the "thesis that developers are the new kingmakers."

One business-critical application can drive a large spend on Azure, and Microsoft's cloud is a natural destination for .NET just as Google Cloud benefits from the ad company's status as the inventor of Kubernetes. Visual Studio Code is free but also Microsoft's most successful product ever in the developer community, and strong .NET support in VS Code is of far more potential benefit to Redmond than any slight impact on sales of Visual Studio.

"Am I understanding this correctly as meaning that the Hot Reload functionality that already works with dotnet watch in .NET 6 previews is being taken away? Right now I can create a .NET console app, run it with dotnet watch, change files and have them be reloaded automatically without an application restart. If that’s going away... oof," said another developer, while a further comment asked: "How can you expect .NET to be a valid solution for cross-platform development if you actively gimp developer experience on platforms other than Windows?"

Another problem with making a key tooling feature exclusive to Visual Studio is that it removes the option from macOS and Linux developers, since Visual Studio is Windows only. Microsoft said the feature is also planned for Visual Studio Mac; but that has tiny usage compared to VS Code.

Excuses

Microsoft's stated reason, insofar as it has been stated, is that with .NET "the backlog continues to grow," hinting that the problem is lack of resources. Nobody believes this, bearing in mind that Lyalin spends most of his post emphasizing how the team has made excellent progress improving the feature.

On Twitter it was noted that the removal "happened after RC1 and RC2 had been made public ... and after they officially announced that features available in RC1 would be available and supported in final product." Discussion on the notorious .NET SDK pull request was "locked and limited to collaborators," another sign that this is something the IT giant does not want to discuss.

What does the .NET team at Microsoft think about it? The normal evangelists have been quiet on the issue, though Microsoft's well-known and normally ebullient developer advocate Scott Hanselman did post a teardrop last night without stating the reason: who knows, there could be a connection.

Lyalin added and then removed a section headed "Update Oct 21, 2021" to his post, which stated: "To clarify, we are not releasing Hot Reload as a feature of the dotnet watch tool. We are investing all our energy into Visual Studio 2022." We are not sure what to make of the removal of this update, and have also asked Microsoft for further comment. ®

Blognote

Around about or shortly after this article went live, Lyalin's blog post was updated again to restore the above clarification. And so it stands.

Updated to add

It appears Microsoft has changed its mind in light of the uproar from developers, and Hot Reload isn't being removed from open-source .NET. On Saturday, .NET's director of program management Scott Hunter said:

"First and foremost, we want to apologize. We made a mistake in executing on our decision and took longer than expected to respond back to the community. We have approved the pull request to re-enable this code path and it will be in the GA build of the .NET 6 SDK."

Broader topics


Other stories you might like

  • Stolen university credentials up for sale by Russian crooks, FBI warns
    Forget dark-web souks, thousands of these are already being traded on public bazaars

    Russian crooks are selling network credentials and virtual private network access for a "multitude" of US universities and colleges on criminal marketplaces, according to the FBI.

    According to a warning issued on Thursday, these stolen credentials sell for thousands of dollars on both dark web and public internet forums, and could lead to subsequent cyberattacks against individual employees or the schools themselves.

    "The exposure of usernames and passwords can lead to brute force credential stuffing computer network attacks, whereby attackers attempt logins across various internet sites or exploit them for subsequent cyber attacks as criminal actors take advantage of users recycling the same credentials across multiple accounts, internet sites, and services," the Feds' alert [PDF] said.

    Continue reading
  • Big Tech loves talking up privacy – while trying to kill privacy legislation
    Study claims Amazon, Apple, Google, Meta, Microsoft work to derail data rules

    Amazon, Apple, Google, Meta, and Microsoft often support privacy in public statements, but behind the scenes they've been working through some common organizations to weaken or kill privacy legislation in US states.

    That's according to a report this week from news non-profit The Markup, which said the corporations hire lobbyists from the same few groups and law firms to defang or drown state privacy bills.

    The report examined 31 states when state legislatures were considering privacy legislation and identified 445 lobbyists and lobbying firms working on behalf of Amazon, Apple, Google, Meta, and Microsoft, along with industry groups like TechNet and the State Privacy and Security Coalition.

    Continue reading
  • SEC probes Musk for not properly disclosing Twitter stake
    Meanwhile, social network's board rejects resignation of one its directors

    America's financial watchdog is investigating whether Elon Musk adequately disclosed his purchase of Twitter shares last month, just as his bid to take over the social media company hangs in the balance. 

    A letter [PDF] from the SEC addressed to the tech billionaire said he "[did] not appear" to have filed the proper form detailing his 9.2 percent stake in Twitter "required 10 days from the date of acquisition," and asked him to provide more information. Musk's shares made him one of Twitter's largest shareholders. The letter is dated April 4, and was shared this week by the regulator.

    Musk quickly moved to try and buy the whole company outright in a deal initially worth over $44 billion. Musk sold a chunk of his shares in Tesla worth $8.4 billion and bagged another $7.14 billion from investors to help finance the $21 billion he promised to put forward for the deal. The remaining $25.5 billion bill was secured via debt financing by Morgan Stanley, Bank of America, Barclays, and others. But the takeover is not going smoothly.

    Continue reading

Biting the hand that feeds IT © 1998–2022