Microsoft heeft berouw van zijn open-source .NET-blunder

0
132

Steven J. Vaughan-Nichols

Door Steven J. Vaughan-Nichols voor Linux en Open Source | 25 oktober 2021 | Onderwerp: Bedrijfssoftware

Een decennium geleden verklaarde Microsoft dat het dol was op open source. In 2014 ging de Redmond-reus nog verder. Microsoft CEO Satya Nadella zei: “Microsoft houdt van Linux.” Weinigen in Linux- en open-sourcekringen geloofden ze. Jaren gingen voorbij en toen Microsoft open-sourceprojecten omarmde, hun patenten openstelde voor Linux-ontwikkelaars en het Windows-subsysteem voor Linux uitbracht, kochten sommigen uiteindelijk dat Microsoft niet langer de vijand van open-source was. Zoals Linux-oprichter Linus Torvalds zei: “Ik heb alle anti-Microsoft-dingen volledig afgewezen.” Veel open-sourceontwikkelaars hebben dit echter nooit gekocht. Ze beschouwen Microsoft nog steeds als het kwaadaardige rijk. En, jongen, kregen ze dit versterkt toen Microsoft de aanstaande Hot Reload-functie van .NET 6 uit zijn open-source releases verwijderde.

Ja maar!

Met Hot Reload kunnen ontwikkelaars de beheerde broncode van uw programma wijzigen terwijl het actief is. Het is niet nodig om het programma handmatig te pauzeren of in een breekpunt te plaatsen. U kunt direct wijzigingen aanbrengen en zien wat er vervolgens gebeurt. Hiermee kunt u veel app-herstarts tussen bewerkingen opslaan om u productiever te maken door de tijd te verminderen die u verspilt met wachten tot apps opnieuw zijn opgebouwd, opnieuw worden opgestart, opnieuw navigeren naar de vorige locatie waar u zich in de app zelf bevond, enzovoort. Dit is een grote overwinning voor veel programmeurs.

Dit was al een populaire functie in andere talen, zoals Dart, Nextjs en React. De .NET-ontwikkelaarsgemeenschap keek er naar uit om het te gebruiken in hun open-source .NET-implementaties.

Maar toen zei Dmitry Lyalin, een Microsoft-programmamanager die aan Hot Reload werkte, dat het in de nabije toekomst alleen beschikbaar zou zijn voor Windows- en Visual Studio 2022-ontwikkelaars in plaats van voor iedereen open te staan, zoals Xamarin.Forms; F#; en .NET Native-ontwikkelaars. Het zou met name niet beschikbaar zijn voor gebruikers van de .NET Core-opdrachtregelinterface “dotnet watch”. Voor hen zou er geen Hot Reload zijn.

Waarom? Lyalin tweette een uitleg: “Om te verduidelijken, gezien het aantal scenario's waaraan we werken, moesten we prioriteiten stellen :(. Dientengevolge zal Hot Reload niet worden vrijgegeven als een functie van de dotnet-watchtool. We verdubbelen de VS 2022 met ondersteuning voor VS4Mac komt later.”

De .NET Core-ontwikkelaarsgemeenschap was niet geamuseerd. Core, de opvolger van .NET Framework, is het gratis en open source beheerde softwareframework. Het is beschikbaar voor gebruikers van Windows, Linux en macOS. Ze hadden Hot Reload in de bèta gebruikt en toen was het verwijderd.

Zoals Phillip Carter, een voormalig Microsoft F#-programmamanager, schreef op de Microsoft-blogsite: “Het is teleurstellend om te zien dat dotnet watch de bestaande ondersteuning die het al heel lang heeft, wordt weggelaten. Het werkte heel goed. … Dit is een duidelijk terugval, vooral omdat hot reload niet begon als alleen voor Visual Studio. Ik hoop echt dat dit niet het begin van een patroon is. Anderen waren het erover eens: “Dit is een enorme stap terug voor .NET als een legitiem platformonafhankelijk ecosysteem .”

Buiten Microsoft waren andere programmeurs eerlijker. Over Ycomb schreef Reilly Wood: “Dit is een verschrikkelijk kortzichtige beslissing die me bang maakt voor de toekomst van .NET. Ik heb enorm veel respect voor het .NET-team en ik ben er zeker van dat zij hier niet achter zitten.”

Bij Reddit waren ze minder begripvol. “Microsoft heeft een functie verwijderd die eerder beschikbaar was op .NET 6 preview (beschikbaar op Linux) en vergrendelde deze achter Visual Studio 2022 die alleen op Windows draait. Dit heeft gevolgen voor Linux-gebruikers die coderen op .NET. Steeds meer .NET glijdt terug naar een platform dat niet platformonafhankelijk is of deel uitmaakt van de open-sourcegemeenschap.”

Maar voordat je de fakkels en hooivorken tevoorschijn haalt, realiseerde Microsoft zich tijdens het weekend dat ze hun open-source straatcredo opblazen. Scott Hunter, Microsoft's .NET Program Management-directeur, kwam publiekelijk terug en schreef: “Eerst en vooral willen we onze excuses aanbieden. We hebben een fout gemaakt bij het uitvoeren van onze beslissing en het duurde langer dan verwacht om terug te reageren op de community. We hebben de pull goedgekeurd verzoek om dit codepad opnieuw in te schakelen en het zal in de GA-build van de .NET 6 SDK zijn.

Dus, kom begin november, wanneer .NET 6 officieel wordt vrijgegeven, alle .NET-ontwikkelaars, inclusief degenen die Linux gebruiken en open-sourceplatforms gebruiken, en niet alleen Visual Studio 2022-programmeurs, kunnen Hot Reload gebruiken.

Krijgen ze de goede wil die ze verloren hebben terug? Ik verwacht van wel. Maar voor degenen die nog steeds een hekel hebben aan Microsoft: dit zal nog maar een voorbeeld zijn van hoe je ze echt niet kunt vertrouwen.

Verwante verhalen:

Microsoft levert bijna-finale VS 2022 Release Candidate en wijst 8 november aan als GA-datumMicrosoft zet een grote stap in de richting van .NET-unificatie met .NET 5.0 release.NET-ontwikkelaars onthullen hun favoriete programmeertalen en wat ze hierna willen leren

Verwante onderwerpen:

Linux Cloud Big Data Analytics Innovatie Technologie en samenwerking tussen werk Steven J. Vaughan-Nichols

Door Steven J. Vaughan-Nichols voor Linux en Open Source | 25 oktober 2021 | Onderwerp: Bedrijfssoftware