Введение

Общая языковая инфраструктура с открытым исходным кодом (SSCLI), ранее известная под кодовым названием Rotor, — это реализация Microsoft CLI, являющегося основой .NET. Несмотря на то, что лицензия SSCLI не позволяет использовать её в коммерческих целях, она предоставляет программистам возможность изучить детали реализации многих библиотек .NET и создавать модифицированные версии CLI. Microsoft предоставляет Shared Source CLI как эталонную реализацию CLI, подходящую для образовательных целей.

История

Начиная с 2001 года, Microsoft объявила о планах выпустить часть исходного кода инфраструктуры .NET Framework в рамках программы Shared Source через ECMA, в процессе стандартизации C# и CLI. В марте 2002 года Microsoft выпустила версию 1.0 Shared Source Common Language Infrastructure, также известную как Rotor. Изначально Shared Source CLI была предустановлена для работы в Windows, но также могла быть собрана на FreeBSD (версия 4.7 или новее) и Mac OS X 10.2. Она была спроектирована таким образом, что для переноса Shared Source CLI на другую платформу требовалось настроить только тонкий слой абстракции платформы (PAL). Последняя версия SSCLI 2.0 была выпущена в марте 2006 года и содержит большинство классов и функций версии 2.0 .NET Framework. SSCLI 2.0 можно загрузить непосредственно с сайта Microsoft Downloads и для компиляции требуется Perl и Visual Studio 2005, работающие под управлением Windows XP SP2. Microsoft не обновляла исходный код и требования к сборке с 2006 года. Даже MVP Microsoft, важная часть экосистемы сообщества Microsoft, выражали недовольство отсутствием поддержки других версий Visual Studio и операционных систем. Однако неофициальный патч для Visual Studio 2008 был предоставлен сотрудником Microsoft в блоге MSDN, а другой для Visual Studio 2010 был выпущен сообществом. Более поздние версии .NET, первоначально известные как .NET Core, а теперь просто как .NET, были открыты под более либеральной лицензией MIT.

Лицензия

CLI Shared Source использует несвободную лицензию Microsoft Shared Source Common Language Infrastructure. Эта лицензия разрешает модификацию и распространение кода для личного или образовательного использования, но запрещает его использование в коммерческих продуктах.