Microsoft ha pasado los últimos 10 años adoptando software de código abierto y, en varios puntos, incluso admitiendo que ama Linux y la comunidad de código abierto. La Fundación Linux incluso elogió a Microsoft por trabajar con la comunidad de código abierto después de que la empresa se uniera a la fundación hace casi cinco años. Toda esta buena voluntad podría estar a punto de derrumbarse, gracias a una tormenta que se está gestando en la comunidad .NET: el conjunto de herramientas de desarrollo insignia de Microsoft y el framework de software central.
Una controvertida decisión empresarial dentro de Microsoft ha dejado a muchos cuestionando el compromiso de la empresa con el código abierto. Varias fuentes de Microsoft dicen que también ha enfurecido a muchos desarrolladores dentro de la empresa, pero que efectivamente se les ha dicho que no se quejen.
Satya Nadella ama Linux
Microsoft ha eliminado silenciosamente una parte clave de Hot Reload en la próxima versión de .NET 6 esta semana, una función que esencialmente permite a los desarrolladores obtener comentarios instantáneos cuando están creando un proyecto y cambiar el código para ver los resultados de inmediato. Es un gran argumento de venta para el lenguaje de programación rival de Google, Dart, y el kit de herramientas Flutter, y Microsoft se ha puesto al día para llevarlo a .NET y Visual Studio.
Microsoft describió sus planes originales como “un proyecto ambicioso para llevar Hot Reload a tantos desarrolladores de .NET como sea posible“, pero un cambio de último minuto lo ha dejado principalmente limitado a los desarrolladores de Windows y Visual Studio en lugar de estar abierto y disponible en múltiples plataformas. Microsoft ha estado probando versiones “Release Candidate” casi definitivas de .NET 6 que permitieron a los desarrolladores usar Hot Reload en una variedad de entornos y plataformas con dotnet watch, incluido el popular entorno de desarrollo de Visual Studio Code. Un Release Candidate generalmente significa que Microsoft lo considera listo para producción, con funciones completas y que las personas deben tener cuidado con los errores antes de que se publique por completo.
Pero un cambio de último minuto anunciado a principios de esta semana significa que Microsoft “habilitará la funcionalidad Hot Reload solo a través de Visual Studio 2022 para que podamos enfocarnos en brindar las mejores experiencias a la mayoría de los usuarios“. Dmitry Lyalin, un administrador de programas que trabaja en la función Hot Reload en Microsoft, dice que la empresa “tuvo que priorizar” y, como resultado, abandonó Hot Reload como una función de la herramienta de vigilancia dotnet. Un hilo en GitHub que cuestiona la eliminación destaca la frustración de la comunidad, junto con los comentarios en Hacker News y la publicación del blog de Microsoft.
“Es aún más decepcionante mirar el código fuente para ver que el soporte para él era ~ 1-2k líneas de código, y ese código ahora se ha arrancado en el último momento“, dice Phillip Carter, un ex empleado de Microsoft en el equipo F# de la empresa, en un comentario en la publicación del blog de Microsoft. “Este es un claro retroceso, especialmente porque la recarga en caliente no comenzó siendo solo para Visual Studio. Realmente espero que este no sea el comienzo de un patrón“.
Se entiende que la decisión de eliminar la funcionalidad de .NET 6 fue tomada por Julia Liuson, directora de la división de desarrolladores de Microsoft. Las fuentes describen la medida como una decisión impulsada por la empresa, y está claro que la empresa pensó que pasaría desapercibida y no generaría una reacción violenta. Los ingenieros de Microsoft que han trabajado en .NET durante años con la comunidad de código abierto se sienten traicionados y temen que la decisión tenga efectos duraderos en los esfuerzos de código abierto de Microsoft.
“Si desea una buena experiencia de desarrollador, está obligado a utilizar Visual Studio, lo que parece ir en contra de todos los esfuerzos multiplataforma del equipo de .NET“, dice Reilly Wood, un desarrollador independiente que originalmente planteó el problema de eliminación en GitHub.
La decisión también llega después de semanas de disturbios en la comunidad .NET por la participación de Microsoft en .NET Foundation. La fundación se creó en 2014 cuando Microsoft creó .NET de código abierto, y se supone que es una organización independiente que existe para mejorar el desarrollo de software de código abierto y la colaboración para .NET. Un miembro de la junta que dimitió cuestionó el papel de .NET Foundation recientemente, preguntando si está “aquí para hacer cumplir la voluntad de Microsoft en .NET Open Source, o estás aquí para ayudar a fomentar y promover una comunidad saludable”.
Microsoft también bloqueó y limitó una solicitud de extracción para eliminar esta funcionalidad de Hot Reload en .NET 6 para dotnet watch. Esto efectivamente impidió que la comunidad comentara o rechazara los cambios de última hora. La comunidad ahora ha enviado su propia solicitud de extracción para revertir los cambios de Microsoft, pero es poco probable que se apruebe.
Una controversia reciente también llevó a la directora ejecutiva de la .NET Foundation, Claire Novotny, a renunciar recientemente y a que otros cuestionaran la independencia de la .NET Foundation dados los privilegios especiales de Microsoft. Esta última controversia sobre .NET 6 no mejorará la tormenta que se ha estado gestando en la comunidad .NET.

