Было:
- есть код под GPLv3 (например вычисления);
- есть еще код под GPLv3 (различный транспорт);
- к этому добавлен main-модуль под GPLv3;
= тут все ясно и понятно, имеем проект под GPLv3.
Стало:
- к указанному GPLv3 проекту добавили код, реализующий транспорт через разделяемую память;
- координаты и формат данных в разделяемой памяти задаются в настройках/опциях, можно считать что работает интерпретатор или компилятор;
- все изменения исходников доступны;
= ну тоже понятно, имеем проект под GPLv3, в который внесены изменения, нарушений нет.
Туплю:
- есть проприетарная прога, которая создает именованный регион разделяемой памяти и производит с ним обмен;
- настройками двух проектов их можно «подружить», таким образом GPLv3 и не-GPL в каком-то смысле объединяются;
- обмен производится массивами (длина плюс линейно данные);
= вопрос, это нарушение GPLv3 или нет?