Grsecurity нарушает лицензию GPL в своих попытках остановить перенос кода в ядро Linux

Брюс Перенс (Bruce Perens), один из авторов определения Open Source, соучредитель организации OSI (Open Source Initiative), создатель пакета BusyBox и один из первых лидеров проекта Debian (в 1996 году сменил на посту Яна Мердока), предоставил свою экспертную оценку действиям проекта Grsecurity, пытающегося противостоять переносу своих наработок в основное ядро Linux. Напомним, что в апреле проект Grsecurity полностью прекратил бесплатное распространение своих патчей и стал всячески препятствовать работе проекта KSPP (Kernel Self Protection Project), занимающегося переносом в основное ядро Linux методов защиты, развиваемых Grsecurity.

Мотивы борьбы с переносом Grsecurity в состав ядра достаточно разнообразные, от обиды из-за обхода в финансировании (вместо основного проекта Linux Foundation и Core Infrastructure Initiative выделили грант KSPP) и копирования решений без упоминания PaX/Grsecurity до нежелания загонять себя в жесткие рамки (Grsecurity достаточно вольно рассматривает вопрос соблюдения совместимости и требований к компонентам ядра, ставя на первое место обеспечение защиты), нежелания разбивать продукт на части (Grsecurity рассматривается как взаимосвязанное единое целое) и репутационных рисков (из-за некорректного переноса исправлений, введения ограничений для совместимости и переработок для соблюдения требований ядра реализация перенесённых в основное ядро технологий Grsecurity содержит ошибки и проблемы с безопасностью, которых нет в оригинальных патчах, что приводит к созданию половинчатых решений и создаёт лишь видимость повышения безопасности).

Для поддержания реализации технологий Grsecurity в основном ядре и оперативного устранения ошибок, разработчики KSPP отслеживают текущее состояние патчей Grsecurity, которые продолжают публиковаться под лицензией GPLv2, иначе по лицензионным соображениям они не могут быть сопряжены с кодом ядра Linux. Из-за того, что публичный доступ закрыт утечка кода происходит через платных подписчиков Grsecurity, которые имеют доступ к коду. Так как код патчей под GPLv2 никто не запрещает им распространять эти патчи.

Дошло до того, что представители Grsecurity стали угрожать судебным иском, указывая на нарушение их авторских прав, а также добавили дополнительное условие, запрещающее клиентам передавать патчи третьим лицам под угрозой разрыва договора. Брюс Перенс предупредил, что данный пункт является явным нарушением лицензии GPLv2, которая не допускает наложение дополнительных условий на распространение кода. Так как патчи Grsecurity являются продуктом, производным от ядра Linux, они обязаны поставляться под GPLv2 или совместимой лицензией, не внося дополнительных ограничений.

Более того, поставка под подобными ограничениями патчей из-за лицензионной несовместимости делает невозможным применение подобных патчей для ядра, нарушает авторские права разработчиков ядра Linux и приводит к расторжению лицензии GPLv2 и прекращению всех прав лицензиата, предоставленных ему данной лицензией. Компаниям рекомендовано избегать применения патчей Grsecurity, так как они нарушают условия распространения кода для ядра Linux и создают риск разрыва лицензионного соглашения на ядро.

В свою очередь, Линус Торвальдс в свойственной ему манере эмоционально посоветовал не связываться с Grsecurity и раскритиковал качество патчей и их подход к разработке, который оправдывает любые нарушения прежнего поведения целесообразностью повышения безопасности.

©  OpenNet