В открытую кодовую базу платформы .NET будет возвращена функция Hot Reload. Инцидент с удалением вызвал негодование и сторонних разработчиков, и сотрудников Microsoft.
Что произошло
В Release Candidat .NET 6 разработчики платформы добавили утилиту с открытым исходным кодом Hot Reload вместе с dotnet watch – инструментом для запуска команд .NET Core CLI после изменения какого-либо исходного файла. Благодаря включению приложения в релиз оно становилось доступно пользователям систем Windows, macOS и Linux.
Однако 20 октября Microsoft удалила код Hot Reload из состава открытой кодовой базы платформы .NET 6 и открытой утилиты dotnet watch в GitHub. Компания сделала это из-за желания добавить утилиту в коммерческую версию редактора Visual Studio 2022, чтобы он получил дополнительное преимущество перед бесплатным открытым Visual Studio Code. Также компания закрыла соответствующий pull-request на GitHub (принадлежит Microsoft) от возможных дискуссий.
Реакция сообщества
Большая часть независимых разработчиков и участников сообщества открытого ПО посчитали такие действия Microsoft неэтичными. С 2014 года платформа .NET считается open source решением, существует некоммерческая организация .NET Foundation, которая гарантирует, что ИТ-гигант не станет препятствовать развитию проекта на честных условиях.
По мнению сообщества, поступок Microsoft ограничивает применение функции Hot Reload и ставит под сомнение открытость самой платформы .NET. Удаление утилиты делает инструмент закрытым для пользователей macOS и Linux, а владельцев Windows вынуждает приобрести лицензию Visual Studio 2022.
Pull-request, отменяющий удаление Hot Reload, собрал сотни лайков и комментариев, получил более 40 подтверждений от участников сообщества. С критикой действий Microsoft выступили также сотрудники самой корпорации.
Признание ошибок
Под давлением сообщества Microsoft приняла решение вернуть удаленный код Hot Reload в состав открытой кодовой базы платформы .NET 6. Компания принесла извинения разработчикам и признала ошибку. Представители корпорации пояснили, что действовали из лучших побуждений, потому что хотели усовершенствовать утилиту в Visual Studio 2022.
В Microsoft также сообщили, что недооценили количество программистов, использующих Hot Reload в различных средах для ускорения разработки ПО. Компания пообещала в будущем продолжать работу над открытостью платформы .NET и создавать для нее динамическую экосистему, а также соблюдать правила и этику open source сообщества.