Microsoft fa arrabbiare la comunità open source .NET con una decisione controversa

0
156

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. Diverse fonti di Microsoft dicono a The Verge che ha anche fatto arrabbiare molti sviluppatori all'interno dell'azienda, ma che gli è stato effettivamente detto di non lamentarsi.

Satya Nadella ama Linux Microsoft ha dichiarato il suo amore per Linux in il passato.

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. Una Release Candidate 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.

Correlati

Microsoft ama davvero Linux

Microsoft: ci sbagliavamo sull'open source

Microsoft lancerà un kernel Linux completo in Windows 10

Microsoft si unisce al Linux Foundation, 15 anni dopo che Ballmer l'ha chiamato “cancro”

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 che mette in dubbio la rimozione mette in evidenza la frustrazione della community, insieme ai commenti su Hacker News e al post sul blog di Microsoft.

“È ancora più deludente guardare il codice sorgente per vedere che il supporto era di ~1-2k righe di codice e che il codice è stato strappato all'ultimo momento”, afferma Phillip Carter, un ex dipendente di Microsoft sulla società 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.”

The 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 originariamente ha sollevato il problema della rimozione su GitHub .

La decisione arriva anche dopo settimane di disordini 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 di amministrazione dimissionario ha recentemente messo in dubbio il ruolo della Fondazione .NET, 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?”

Microsoft ha inoltre bloccato e limitato una richiesta pull per rimuovere questa funzionalità di ricarica a caldo in .NET 6 per dotnet watch. Questo impedisce di fatto alla community di commentare o rifiutare le modifiche dell'ultimo minuto. La community ha ora inviato la propria richiesta pull per annullare le modifiche di Microsoft, ma è improbabile che venga approvata.

< p id="ixrJGD">Una recente controversia ha portato anche alle dimissioni del direttore esecutivo della .NET Foundation, Claire Novotny, e altri hanno messo 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 è scatenata 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 di Microsoft pull request lock su GitHub.