Microsoft retar upp .NET-gemenskapen med öppen källkod med ett kontroversiellt beslut

0
152

Microsoft har tillbringat de senaste 10 åren med att ta till sig programvara med öppen källkod och vid flera tillfällen har de till och med erkänt att de älskar Linux och öppen källkod. Linux Foundation berömde till och med Microsoft för att ha arbetat med öppen källkod efter att företaget gick med i stiftelsen för nästan fem år sedan. All denna välvilja kan vara på väg att krascha, tack vare en storm som växer fram i .NET -gemenskapen – Microsofts utvecklingsverktygssats för flaggskepp och kärnprogramvara.

Ett kontroversiellt affärsbeslut inom Microsoft har fått många att ifrågasätta företagets engagemang för öppen källkod. Flera källor på Microsoft säger till The Verge att det också har retat många utvecklare inom företaget men att de faktiskt har blivit tillsagda att inte klaga.

Satya Nadella älskar LinuxMicrosoft har deklarerat sin kärlek till Linux tidigare.

Microsoft har i tysthet tagit bort en viktig del av Hot Reload i den kommande utgåvan av .NET 6 denna vecka, en funktion som i huvudsak låter utvecklare få omedelbar feedback när de skapar ett projekt och ändra koden för att omedelbart se resultatet. Det är ett stort försäljningsargument för Googles rivaliserande Dart-programmeringsspråk och Flutter-verktygslåda, och Microsoft har spelat catchup för att ta det till .NET och Visual Studio.

Microsoft beskrev sina ursprungliga planer som “ett ambitiöst projekt för att ge Hot Reload till så många .NET-utvecklare som möjligt”, men en förändring i sista minuten har gjort att det huvudsakligen är begränsat till Windows- och Visual Studio-utvecklare istället för att vara öppet och tillgängligt på flera plattformar . Microsoft har testat nästan slutgiltiga “Release Candidate”-versioner av .NET 6 som gjorde det möjligt för utvecklare att använda Hot Reload i en mängd olika miljöer och plattformar med dotnet watch, inklusive den populära utvecklingsmiljön Visual Studio Code. En releasekandidat betyder i allmänhet att Microsoft anser att den är produktionsklar, funktionskomplett och att folk bara bör akta sig för buggar innan den är helt släppt.

Relaterat

Microsoft älskar verkligen Linux

Microsoft: vi hade fel om öppen källkod

Microsoft kommer att leverera en fullständig Linux-kärna i Windows 10

Microsoft ansluter sig till Linux Foundation, 15 år efter att Ballmer kallade det “cancer”

Men en sista-minuten-ändring som tillkännagavs tidigare i veckan innebär att Microsoft “kommer att aktivera Hot Reload-funktionalitet endast genom Visual Studio 2022 så att vi kan fokusera på att ge de bästa upplevelserna till flest användare.” Dmitry Lyalin, en programledare som arbetar med Hot Reload-funktionen hos Microsoft, säger att företaget “var tvungen att prioritera” och som ett resultat av detta tappade Hot Reload som en funktion i dotnet Watch-verktyget. En tråd på GitHub som ifrågasätter borttagningen belyser communityns frustration, tillsammans med kommentarer om Hacker News och Microsofts eget blogginlägg.

“Det är ännu mer nedslående att titta på källkoden att se att stödet för den var ~1-2000 rader kod, och den koden har nu rivits ut i sista stund”, säger Phillip Carter, en tidigare Microsoft-anställd på företagets F#-lag. ”Det här är en tydlig baksida, speciellt eftersom het omladdning inte började som enbart för Visual Studio. Jag hoppas verkligen att detta inte är början på ett mönster. ”

The Verge förstår att beslutet att ta bort funktionen från .NET 6 togs av Julia Liuson, chefen för Microsofts utvecklaravdelning. Källor beskriver flytten som ett affärsstyrt beslut, och det är uppenbart att företaget trodde att det skulle flyga under radarn och inte generera en motreaktion. Ingenjörer på Microsoft som har arbetat med .NET i åratal med öppen källkod känner sig förrådda och fruktar att beslutet kommer att få bestående effekter på Microsofts ansträngningar med öppen källkod.

“Om du vill ha en bra utvecklarupplevelse, är du tvungen att använda Visual Studio – vilket verkar gå emot alla .NET-teamets plattformsoberoende ansträngningar”, säger Reilly Wood, en oberoende utvecklare som ursprungligen tog upp borttagningsfrågan på GitHub .

Beslutet kommer också efter veckor av oroligheter i .NET-gemenskapen över Microsofts inblandning i .NET Foundation. Grunden skapades 2014 när Microsoft skapade .NET öppen källkod, och det är tänkt att vara en oberoende organisation som finns för att förbättra utvecklingen och samarbetet med öppen källkod för .NET. En avgående styrelseledamot ifrågasatte nyligen .NET Foundation: s roll och frågade om det är “här för att tillämpa Microsofts vilja på .NET Open Source, eller är du här för att främja och främja ett hälsosamt samhälle?”

Microsoft låste och begränsade också en pull-begäran för att ta bort denna Hot Reload-funktionalitet i .NET 6 för dotnet watch. Detta utestänger effektivt samhället från att kommentera eller förkasta ändringarna i sista minuten. Gemenskapen har nu skickat in en egen pull-begäran om att återställa Microsofts ändringar, men det är osannolikt att det kommer att godkännas.

< p id="ixrJGD">En kontrovers nyligen ledde också till att .NET Foundations verkställande direktör Claire Novotny nyligen avgick och andra ifrågasatte .NET Foundations oberoende med tanke på Microsofts speciella privilegier. Den här senaste .NET 6-kontroversen kommer inte att förbättra stormen som har blåst i .NET-gemenskapen.

Vi har kontaktat Microsoft angående .NET 6-ändringarna och .NET Foundation , och företaget kunde inte utfärda ett uttalande i tid för publicering.

Uppdatering, 17:18 ET: Artikel uppdaterad för att förtydliga detaljer om Microsofts lock -begäranslås på GitHub.