Microsoft fa arrabbiare la comunità open source .NET con una decisione controversa
Microsoft ha trascorso gli ultimi 10 anni abbracciando il software open source e, in diversi punti, ammettendo persino di amare Linux e la comunità open source. La Linux Foundation ha persino elogiato Microsoft per aver collaborato con la comunità open source dopo che l’azienda è entrata a far parte della fondazione quasi cinque anni fa. Tutta questa buona volontà potrebbe essere sul punto di crollare, grazie a una tempesta che si sta preparando nella comunità .NET: il toolkit di sviluppo di punta di Microsoft e il framework software di base.
Una controversa decisione aziendale all’interno di Microsoft ha lasciato molti in dubbio sull’impegno dell’azienda verso l’open source. Molteplici fonti in Microsoft dicono Il Verge che ha anche fatto arrabbiare molti sviluppatori all’interno dell’azienda, ma che è stato effettivamente detto loro di non lamentarsi.
:no_upscale()/cdn.vox-cdn.com/uploads/chorus_asset/file/7105443/microsoftloveslinux.0.jpg?w=800&ssl=1)
Microsoft ha rimosso silenziosamente una parte fondamentale di Hot Reload nella prossima versione di .NET 6 questa settimana, una funzionalità che essenzialmente consente agli sviluppatori di ottenere un feedback istantaneo quando creano un progetto e modificano il codice per vedere immediatamente i risultati. È un grande punto di forza per il linguaggio di programmazione rivale di Google Dart e il toolkit Flutter, e Microsoft ha cercato di recuperare per portarlo su .NET e Visual Studio.
Microsoft ha descritto i suoi piani originali come “un progetto ambizioso per portare Hot Reload al maggior numero possibile di sviluppatori .NET”, ma un cambiamento dell’ultimo minuto lo ha lasciato principalmente limitato agli sviluppatori Windows e Visual Studio invece di essere aperto e disponibile su più piattaforme . Microsoft ha testato versioni quasi definitive “Release Candidate” di .NET 6 che consentivano agli sviluppatori di utilizzare Hot Reload in una varietà di ambienti e piattaforme con dotnet watch, incluso il popolare ambiente di sviluppo Visual Studio Code. Un candidato al rilascio generalmente significa che Microsoft lo considera pronto per la produzione, completo di funzionalità e che le persone dovrebbero solo fare attenzione ai bug prima che sia completamente rilasciato.
Ma un cambiamento dell’ultimo minuto annunciato all’inizio di questa settimana significa che Microsoft “abilita la funzionalità Hot Reload solo tramite Visual Studio 2022 in modo che possiamo concentrarci sulla fornitura delle migliori esperienze alla maggior parte degli utenti”. Dmitry Lyalin, un program manager che lavora sulla funzione Hot Reload di Microsoft, afferma che l’azienda “ha dovuto dare la priorità” e di conseguenza ha abbandonato Hot Reload come funzionalità dello strumento dotnet watch. Un thread su GitHub mettere in discussione la rimozione mette in evidenza la frustrazione della comunità, insieme a commenti su Hacker News e il post sul blog di Microsoft.
Ci scusiamo per qualsiasi confusione. Per chiarire, dato il numero di scenari su cui stiamo lavorando, abbiamo dovuto dare la priorità a :(. Di conseguenza, Hot Reload non verrà rilasciato come funzionalità dello strumento dotnet watch. Stiamo raddoppiando su VS 2022 con il supporto per VS4Mac in arrivo
— Dmitry Lyalin (@LyalinDotCom) 21 ottobre 2021
“È ancora più deludente guardare il codice sorgente per vedere che il supporto era di circa 1-2k righe di codice e che il codice è stato strappato all’ultimo momento”, afferma Phillip Carter, un ex dipendente di Microsoft sul F# team, in un commento al post sul blog di Microsoft. “Si tratta di una chiara retrovia, soprattutto perché la ricarica a caldo non è iniziata solo per Visual Studio. Spero davvero che questo non sia l’inizio di uno schema”.
Il Verge comprende che la decisione di rimuovere la funzionalità da .NET 6 è stata presa da Julia Liuson, capo della divisione sviluppatori di Microsoft. Le fonti descrivono la mossa come una decisione guidata dal business, ed è chiaro che la società pensava che sarebbe volata sotto il radar e non avrebbe generato un contraccolpo. Gli ingegneri di Microsoft che hanno lavorato su .NET per anni con la comunità open source si sentono traditi e temono che la decisione avrà effetti duraturi sugli sforzi open source di Microsoft.
“Se vuoi una buona esperienza di sviluppo, sei costretto a utilizzare Visual Studio, che sembra andare contro tutti gli sforzi multipiattaforma del team .NET”, afferma Reilly Wood, uno sviluppatore indipendente che ha originariamente sollevato il problema della rimozione su GitHub .
La decisione arriva anche dopo settimane di agitazione nella comunità .NET per il coinvolgimento di Microsoft nella .NET Foundation. La fondazione è stata creata nel 2014 quando Microsoft ha reso .NET open source e dovrebbe essere un’organizzazione indipendente che esiste per migliorare lo sviluppo e la collaborazione di software open source per .NET. Un membro del consiglio dimissionario ha recentemente messo in dubbio il ruolo della .NET Foundation, chiedendo se è “qui per imporre la volontà di Microsoft su .NET Open Source, o sei qui per aiutare a promuovere e promuovere una comunità sana?”
anche Microsoft bloccata e limitata una richiesta pull per rimuovere questa funzionalità di ricarica a caldo in .NET 6 per dotnet watch. Ciò ha effettivamente impedito alla community di commentare o rifiutare le modifiche dell’ultimo minuto. La comunità ha ora presentato la propria richiesta di pull a ripristinare le modifiche di Microsoft, ma è improbabile che venga approvato.
Una recente controversia ha portato anche al direttore esecutivo della .NET Foundation Claire Novotny dimettersi di recente e altri mettere in dubbio l’indipendenza della .NET Foundation dati i privilegi speciali di Microsoft. Quest’ultima controversia su .NET 6 non migliorerà la tempesta che si sta preparando nella comunità .NET.
Abbiamo contattato Microsoft per le modifiche a .NET 6 e .NET Foundation e la società non è stata in grado di rilasciare una dichiarazione in tempo per la pubblicazione.
Aggiornamento, 17:18 ET: Articolo aggiornato per chiarire i dettagli del blocco della richiesta pull di Microsoft su GitHub.