1

Мы разрабатываем приложение для iOS, в котором все интерфейсы основаны на компонентах MIT/Apache/BSD, в то время как серверная часть полностью на AGPL v3.

Все эти лицензии совместимы, поэтому проблем с этим нет. Главная проблема в том, можем ли мы не открывать наш клиентский код и не применять условия AGPL ко всему приложению?

Бэкэнд и Фронтэнд являются неотъемлемой частью приложения (те их функционал нельзя разделить), так что все приложение должно быть лицензировано под AGPL, если исходить из стандартных лицензионных положений, что абсолютно неприемлемо для нас.

Если бы сервер был просто на GPL ситуация была бы существенно проще тк он не распространяется, соот-но его можно дистанцировать от основной программы.

Заранее благодарны за комментарии.

dim
  • 11
  • Ну вроде как клиент никак не связывается с AGPL-программой непосредственно, а просто пользуется результатами её работы (json-ответы сервера или что там у вас), а распространять лицензию на результаты работы выглядит как-то не очень адекватным (но я не профессиональный юрист и возможно ошибаюсь) – andreymal Aug 25 '18 at 15:48
  • И нет, функционал у вас очень даже разделён — на бэкенд и фронтенд :) AGPL-сервер можно поменять на любой другой сервер (лишь бы API был совместимым), клиент тоже можно написать любой другой — никаких связей и неотъемлемых частей тут нет – andreymal Aug 25 '18 at 15:49
  • Вопрос по разделению был бы принципиален если бы серверная часть была просто под GPL, если следовать тексту лицензии AGPL то это уже не так чтобы важно, AGPL должна применяться ко всему... Плюс сложно их разделить на сервере идет обработка медиафайлов отправляемых с устройств пользователей. – dim Aug 25 '18 at 15:53
  • Если я правильно понимаю AGPL, то она всего лишь требует раздавать исходники сервера и к клиентам не имеет совершенно никакого отношения – andreymal Aug 25 '18 at 15:55
  • да вот не совсем ясно, наш юр отдел углядел в ней что исходя из AGPL вся программа должна открываться из-за открытой серверной части. Нет ясности ни у кого(( – dim Aug 25 '18 at 16:02
  • 1
    В GPL и AGPL написано вот такое вот: «The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work» — говоря на кухонно-бытовом языке, если программа (AGPL сервер) не выдаёт в выводе значимые куски самой себя, то лицензия здесь ни при чём – andreymal Aug 25 '18 at 16:19
  • И соответствующий вопрос в GPL FAQ: В каких случаях GPL распространяется и на результат работы программы под GPL? (к AGPL должно относиться тоже) – andreymal Aug 25 '18 at 16:20
  • Ну в том же GPL FAQ четко прописано, что комбинированная программа в целом должна выпускаться под GPL. Так что и проприетарный модуль (в нашем случае front-end) должен быть доступен для использования на условиях GPL. – dim Aug 25 '18 at 20:52
  • У вас не комбинированная программа, у вас две совершенно отдельные программы, обменивающиеся выводом друг друга по какому-то стороннему каналу (HTTP) – andreymal Aug 25 '18 at 20:57
  • К сожалению нет, программы разделить не получится тк не вдаваясь в подробности кода у нас весь бэкэнд вгружается в память устройства где и взаимодействует с фронтендом. Оговорка о результате работы тоже не подходит ввиду целостности произведения. – dim Aug 26 '18 at 17:28
  • «весь бэкенд вгружается в память устройства» это уже не бэкенд какой-то, это уже извращения какие-то... – andreymal Aug 26 '18 at 17:42
  • нууу такие вот извращения сделали для оптимизации скорости работы)) – dim Aug 26 '18 at 18:02
  • вот интересна еще такая идея - если в гитхабе выложить изначальную версию проги, но все апдейты которые впоследствии будут у программы не выкладывать, как AGPL3 регулирует этот вопрос? – dim Aug 26 '18 at 18:05

0 Answers0