Stockfish vs ChessBase: можно ли расторгнуть GPL v3?

Спор по шахматному движку Stockfish поднял вопрос: можно ли из-за нарушения GPL досрочно прекратить такую лицензию?

🖊️
это перевод текста "Stockfish vs. ChessBase and What it Means for GPL v3" авторства редакционной группы FOSSA

В рамках судебного дела, которое могло бы стать интересной проверкой лицензии GPL v3, команда шахматного движка с открытым исходным кодом Stockfish недавно объявила о подаче иска против ChessBase. ChessBase – это компания, которая продаёт различные шахматные продукты, включая программное обеспечение («ПО»), базы данных, учебные пособия и журнал.

Спор возник из-за того, что ChessBase использовала лицензионный код Stockfish по условиям лицензии GPL v3 в двух продуктах: Fat Fritz 2 и Houdini 6. Существует общее мнение, что Fat Fitz 2 и Houdini 6 являются производными от кода Stockfish, лицензированного по GPL v3, но создатели Stockfish утверждают, что ChessBase не соответствовала требованиям, предъявляемым к производным произведениям.[1]

В результате этих предполагаемых многочисленных нарушений своей лицензии в Stockfish решили её аннулировать у ChessBase. Однако, хотя ChessBase больше не продаёт Houdini 6, она продолжает продавать Fat Fritz 2. Судебный процесс Stockfish, который, как сообщается, будет рассматриваться в немецком суде, направлен на то, чтобы помешать ChessBase распространять “Stockfish, в модифицированном виде или нет, как часть своей продукции”.

Чтобы помочь с контекстуализацией и анализом судебного процесса, мы обратились к Хизер Микер, одной из ведущих мировых юридических экспертов по лицензированию ПО с открытым исходным кодом и комплаенсу. В этом блоге Хизер затрагивает два конкретных вопроса, которые могут возникнуть в ходе судебного разбирательства.


  1. См.в тексте лицензии значение термина "modify" и связанные с ним положения - прим. пер. ↩︎

Вопрос 1: GPL и веса нейронных сетей

Stockfish распространяется под лицензией GPL v3, которая представляет собой строгую лицензию на ПО с открытым исходным кодом с авторским левым. Таким образом, любой желающий может свободно использовать код Stockfish, но при его распространении существуют определённые требования. В частности, любой, кто распространяет производные (от кода Stockfish) произведения в двоичной форме, должен предоставить соответствующий исходный код под лицензией GPL v3.
Но хотя ChessBase уже опубликовала исходный код для Fat Fritz 2 SE, всё ещё ведутся споры о том, полностью ли продукт соответствует GPL v3. Это связано с тем, что ChessBase не раскрывает данные о весах нейронной сети. Но требует ли GPL раскрытия информации о весах нейронных сетей, далеко не ясно.

Из DeepAI.org:

Вес - это параметр в нейронной сети, который преобразует входные данные в скрытых слоях сети. Нейронная сеть - это совокупность узлов или нейронов. Внутри каждого узла находится набор входных данных, вес и значение смещения. Когда входные данные поступают в узел, они умножаются на значение веса, и результирующий результат либо отслеживается, либо передается на следующий уровень нейронной сети.

В связи с этим возникает вопрос: распространяются ли требования GPL v3 к раскрытию информации на веса нейронных сетей? Мы обратились к Хизер Микер за её анализом по этому вопросу.

“В GPL ничего конкретно не говорится об обработке моделей машинного обучения, созданных для кода GPL. Сложность интерпретации GPL для ML-приложений в том, что веса нейронных сетей находятся на пересечении кода и данных.
Фонд FSF[1] уже давно придерживается позиции, что весь код, связанный с ПО под лицензией GPL, является частью одного и того же авторского произведения, и, следовательно, эта комбинация является производным произведением и должна быть доступна под лицензией GPL. Эта позиция не была тщательно проверена с точки зрения права, но она широко принята в качестве отраслевой практики.
Однако предположение о том, что GPL также распространяется на веса нейронных сетей, созданных с помощью кода GPL или для использования с ним, выходит за рамки этой позиции. Модели и веса отличаются от связанного кода или библиотек. Связь между кодом GPL и созданной с его помощью моделью обычно представляет собой связь программного обеспечения с данными, а не программного обеспечения с программным обеспечением. Таким образом, утверждение о том, что код GPL требует, чтобы результирующие модели были лицензированы в соответствии с GPL, является шаткой позицией.
Даже FSF, похоже, не поддерживает эту позицию в своих часто задаваемых вопросах о GPL. FSF заявляет, что “юридически невозможно”, чтобы лицензия GPL распространялась на результаты программ GPL”. – Хизер Микер.


  1. Речь про Фонд свободного программного обеспечения - прим. пер. ↩︎

Вопрос 2: GPL v3 и прекращение действия лицензии

Stockfish vs. ChessBase также может стать интересной проверкой другого положения GPL v3: возможности аннулировать лицензию. Это относится к самой сути спора Stockfish со своим оппонентом.

Вот что Stockfish написали в своём блоге от 20 июля 2021 года, анонсируя судебный процесс:

Из-за неоднократных нарушений лицензии ChessBase ведущие разработчики Stockfish прекратили действие своей лицензии GPL для ChessBase. Однако в ChessBase игнорируют тот факт, что они больше не имеют права распространять Stockfish, в модифицированном виде или нет, как часть своей продукции. Таким образом, чтобы обеспечить соблюдение последствий прекращения действия лицензии, мы подали иск в суд.

Однако что, если суд решит, что ChessBase не обязана раскрывать весовые коэффициенты нейронной сети для Fat Fritz 2 SE и на самом деле в настоящее время соответствует GPL v3? Даёт ли Stockfish право аннулировать свою лицензию тот факт, что ChessBase раньше не соответствовала требованиям?

Мы задали этот вопрос Микер:

“В GPL v3 предусмотрен срок на устранение нарушения[1], в отличие от GPL v2”, - говорит Микер. “Для GPL v2, при нарушении лицензии, действие лицензии прекращается автоматически. Для GPL v3 лицензия может быть восстановлена. Так что этот случай может стать интересной проверкой положений GPL v3 о прекращении действия лицензии и сроке на устренение нарушения и того, как они работают на практике”. – Хизер Микер

Два дополнительных комментария:

  • Срок на устранение нарушения условий лицензии GPL v3 составляет 30 дней с момента уведомления о нарушении лицензии. Таким образом, если суд установит, что ChessBase не прекратила нарушение лицензии в течение 30 дней с момента получения уведомления, суд может признать это основанием для принудительного прекращения действия лицензии.
  • Положение о сроке на устранение нарушения действует только в том случае, если пользователь OSS впервые получает уведомление о нарушении GPL v3 от данного правообладателя. Таким образом, если суд установит, что Stockfish ранее предоставила ChessBase уведомление о нарушении GPL v3, это также может повлиять на его решение.

  1. В оригинале это названо как "cure period", см. про это пояснения, например, здесь - прим. пер. ↩︎

Stockfish vs. ChessBase: итоги

В конечном счёте, кейс Stockfish vs. ChessBase может оказаться интересной проверкой двух положений лицензии на программное обеспечение с открытым исходным кодом GPL 3, касающихся прекращения действия лицензии и раскрытия веса нейронной сети. Чтобы узнать последние новости по этому делу, следите за блогом Stockfish и этим постом.


Однако, судебных ответов (в виде судебных актов) на обозначенные выше вопросы мы не получили - в конечном счёте, спор завершился мировым соглашением. Детали об этом (вместе с текстами самого соглашения на английском и немецком языках) есть также в блоге Stockfish.

Chessbase, Stockfish Reach Settlement Over License Violation Claim
ChessBase and the team behind open-source chess engine Stockfish have reached a settlement and ended their legal dispute over the latter’s claim regarding a repeated license violation by Chessbase.

Правда, судья сообщила, что отзыв лицензии мог быть вполне подтверждён судом.