Как встроить компонент GPL в приложение для iPhone?

Я хочу использовать компонент GPL в приложении для iPhone, а это не так. Это независимый и автономный компонент, поэтому на любой другой платформе я бы скомпилировал его как программу и порождал бы с некоторыми аргументами, когда мне это нужно.

Но если я хочу опубликовать свое приложение в Appstore, я должен соблюдать этот раздел iPhone SDK:

3.3.2 Приложение не может само устанавливать или запускать другой исполняемый код любыми средствами, включая, помимо прочего, использование архитектуры подключаемых модулей, вызов других фреймворков, других API-интерфейсов или иным образом. Никакой интерпретируемый код не может быть загружен или использован в Приложении, за исключением кода, который интерпретируется и запускается Документированными API Apple и встроенными интерпретаторами.

По моему мнению, похоже, что Apple запрещает мне делать то, что я хочу.

Есть ли какое-либо техническое и / или юридическое решение для встраивания (автономного) компонента GPL в приложение для iPhone без лицензирования всего приложения с лицензией GPL.

Примечание. Этот вопрос не о том, совместима ли лицензия GPL с правилами AppStore, как уже задавалось в другом месте. Я предполагаю, что это так.


person math    schedule 22.08.2009    source источник
comment
Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что он касается лицензирования или юридических вопросов, а не программирования или разработки программного обеспечения. Подробнее см. здесь, а справочный центр, чтобы получить дополнительную информацию.   -  person Kevin Brown    schedule 09.06.2015


Ответы (3)


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

Когда автор выбрал GPL для этого компонента, он, возможно, сделал это именно для того, чтобы вы также использовали GPL в своем приложении.

person Martin v. Löwis    schedule 22.08.2009

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

Как в сторону:

на любой другой платформе я бы скомпилировал ее как программу и порождал ее с некоторыми аргументами, когда мне это было нужно.

на самом деле может быть нарушением GPL в зависимости от намерений автора. Обычно обертывание какого-либо компонента под GPL пользовательским интерфейсом явно, чтобы исключить его из двоичного файла, по-прежнему приводит к единственной «производной работе». Конечно, насколько мне известно, на самом деле это не было проверено в суде, и концепция производной работы в GPLv2 несколько двусмысленна с юридической точки зрения.

person Louis Gerbarg    schedule 22.08.2009
comment
В моем конкретном случае я не разработал для этого специальный интерфейс, я использую только программу, доступную в компоненте GPL, с параметрами по умолчанию. Я ничего не модифицировал, я только порождаю это своими аргументами. - person math; 24.08.2009

На iPhone нельзя смешивать закрытый исходный код и код GPL, поскольку все приложения автономны. Вы не можете использовать содержащийся исполняемый файл GPL иначе, как с вашим приложением.

Поскольку вы уже планируете использовать какое-то межпроцессное взаимодействие для использования модуля GPL без связывания, вы можете поместить часть GPL на сервер и получить к нему доступ через Интернет. Я знаю, что это накладные расходы и плохо масштабируются, но это единственное решение, которое я мог придумать.

person Nikolai Ruhe    schedule 22.08.2009