Сегодня я прочитал, с опозданием всего на год, претензии к исключениям для библиотек времени выполнения в gcc. Проблема в следующем: данные исключения позволяют лицензировать бинарный продукт под любой лицензией, но GPLv2 требует, чтобы соответствующий исходный код был выложен под GPLv2-совместимой лицензией, в то время как библиотеки времени выполнения идут под лицензией GPLv3 + исключения. Казалось бы, тут можно сказать, что libgcc — это «системная библиотека» в терминах лицензии, но и тут подвох: исключение в GPLv2 для системных библиотек действует, судя по всему, только если они не распространяются вместе с программой. Таким образом, в дистрибутив нельзя класть gcc версии 4.4.0 и старше вместе со скомпилированными им GPLv2-only программами.
Тут сразу возникает два вопроса: решена ли эта проблема? Я не нашел решения, кроме «мы считаем, что если разработчик использует в продукте библиотеки с несовместимыми GPL-лицензиями, то он неявно даёт разрешение на линковку с ними, но лучше, если бы он давал их явно» в gpl-faq. И второй вопрос: на сколько я помню, в комплекте SFU были какие-то куски GPLv2-кода. SFU распространяется в комплекте с Windows Vista Ultimate. Не являются ли эти два факта нарушением GPL cо стороны MS?
>>> GPLv2