LINUX.ORG.RU

Знатокам AGPL


0

2

1. Правильно ли я понял, что если в проекте используется либа под лицензией AGPL, ты обязан выложить весь код проекта под AGPL? (а не только измененную версию либы, если она изменялась)

2. Если ответ на первый вопрос ДА.

Есть либа Wurfl, которая определяет мобильные девайсы (размеры экрана итп) по юзер-агенту браузера. Хочу юзать ее в коммерческом веб-приложении, но у либы лицензия Affero GPL, что абсолютно несовместимо с коммерческим проектом.

Есть идея написать открытую (удовлетворяющую условиям AGPL) обертку, которая уже будет проксировать через себя вызовы в коммерческое приложение.

Теперь вопрос. Какие способы проксирования не будут считаться «использованием» в терминах AGPL?

Какую технологию быстрее всего и эффективно по производительности реализовать под JVM?

★★★★☆

что если в проекте используется либа под лицензией AGPL, ты обязан выложить весь код проекта под AGPL?

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

Какие способы проксирования не будут считаться «использованием» в терминах AGPL?

Единственый способ выделить agpl в отдельный независимый сервис и офомить так что бы клиент понимал что в он именно отдельный.

antares0 ★★★★
()

Companies that intend to use WURFL (either API or data) commercially should contact ScientiaMobile to learn about the licensing options for WURFL.

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

proud_anon ★★★★★
()
Ответ на: комментарий от antares0

Единственый способ выделить agpl в отдельный независимый сервис и офомить так что бы клиент понимал что в он именно отдельный.

спасибо, кэп! вот я и спрашиваю, как быстрее/надежней всего быстро запроксировать все вызовы! учитывая что платформа - JVM

если не появится ничего умнее, положу Wurfl на отдельный сервер и выставлю наружу через Apache Thrift. Ну и отрабатывать соединения через netty

но тут есть проблемы, что Thrift хотя и бинарный, но всё равно ведь тормоза. Может, есть какой-нибудь более быстрый/надежный способ, какие-нибудь шаредмемори, например. Но с учетом, что это должно быть многопоточное приложение, отрабатывающее очень большое количество requests per second. Я чесно говоря не шарю во всей этой нативщине, и неплохо бы поиметь какую-то готовую либу для этого, чтобы за пару часов завтра с утра ее прошарить и наговнокодить многопоточность

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от buddhist

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

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

Нельзя запроксировать к agpl не попадая под ее действие, в этом ее суть. Клиент сам должен вызвать agpl-фицированый сервис.

antares0 ★★★★
()
Ответ на: комментарий от antares0

клиентом будет другой сервер в интрасети. Приведи цитату из AGPL, которая утверждает, что клиентом может быть только человек? А если так, то вот этот самый клиент и будет проксировать вызов.

===

По поводу «наивной» реализации - откопал

https://github.com/twitter/finagle

и в частности

https://github.com/twitter/finagle/tree/master/finagle-thrift

хорошая штука? стоит с этим связываться?

stevejobs ★★★★☆
() автор топика

Граница любой *GPL, как и вообще лицензий, проходит по границе процесса, емнип. Иначе каждый клиент к AGPL-сервису обязан был бы быть GPL/AGPL (включая мозг юзера), а это маразм.

Обёртки могут быть только на AGPL и GPL.

x3al ★★★★★
()
Ответ на: комментарий от x3al

1) спасибо

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

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

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

arturpub ★★
()
Ответ на: комментарий от antares0

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

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

arkhnchul ★★
()
Ответ на: комментарий от arkhnchul

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

Ты иди матчасть выучи про то, что такое AGPL.

proud_anon ★★★★★
()

1. Разумеется

2. Не получится

Когда ты пользуешься библиотекой, независимо от того сколько прокси ты наплодил, ты производишь «work based on the Program». Пункт 5.3. AGPL при этом явно требует «You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy».

slovazap ★★★★★
()
Ответ на: комментарий от slovazap

Включены ли в the entire work

 — изменённые (GPL) библиотеки

 — внешний софт

 — ядро ОС, под которой(ыми) всё это крутится

 — прошивка CPU, под которым(ыми) всё это крутится

 — схема самого CPU?

x3al ★★★★★
()
Ответ на: комментарий от slovazap

Тебе объяснить, что такое дериватив от программы и что такое не дериватив?

Клиент для сервиса — не дериватив, например. Нельзя форсировать лицензию на него.

IPC между клиентом и AGPL-куском может быть любым (они не обязаны быть на разных хостах). Любая программа, взаимодействующая с AGPL-куском как с отдельным процессом, свободна от вирусности AGPL.

x3al ★★★★★
()
Ответ на: комментарий от slovazap

Прекрати троллить

Прочитай её сам.

This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work.

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

x3al ★★★★★
()
Ответ на: комментарий от slovazap

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

Оракловцы, впрочем, оригинально обходят это.

x3al ★★★★★
()
Ответ на: комментарий от anonymous

ты о людях, использующих несвободные лицензии типа AGPL и GPL? Присоединяюсь к вопросу. Вроде бы MIT/BSD/APL/bzip2 уже изобрели, а они всё еще маются дурью.

stevejobs ★★★★☆
() автор топика

1. Да.

Для людей, которые выкатывают либы под подобными лицензиями, в аду заготовлен отдельный котел.

ymn ★★★★★
()
Ответ на: комментарий от stevejobs

Я о людях, которые не уважают чужой выбор свободной лицензии и пытаются найти лазейку для её законного нарушения.

anonymous
()
Ответ на: комментарий от stevejobs

Что, пиписитарную жопку разорвало?

Deleted
()
Ответ на: комментарий от x3al

законного нарушения

/0

Слышал когда-нибудь про разницу между «буквой закона» и «духом закона»?

Или если для тебя это слишком сложно, подумай, законно ли нарушать, к примеру, некие общественные нормы.

свободной лицензии

AGPL

/0

Ещё один проприетарщик что ли?

anonymous
()
Ответ на: комментарий от anonymous

Или если для тебя это слишком сложно, подумай, законно ли нарушать, к примеру, некие общественные нормы.

Ничего, что форсировать свободность лицензии до такой степени, как ты понимаешь — это нарушать конкретные законы во многих развитых странах? Поэтому в «букве» AGPL никогда не будет вирусности до такой степени. Нельзя заразить результат работы программы потому, что это — не результат работы человека. По схожей причине нельзя под GPL выдавать выхлоп кодогенераторов.

Ну и «дух закона» хорош разве что с хорошим законом. С AGPL и Столлманом далеко не все согласны: в софте есть проблемы и важнее.

x3al ★★★★★
()

1. Правильно ли я понял, что если в проекте используется либа под лицензией AGPL, ты обязан выложить весь код проекта под AGPL? (а не только измененную версию либы, если она изменялась)

Да.

Есть идея написать открытую (удовлетворяющую условиям AGPL) обертку, которая уже будет проксировать через себя вызовы в коммерческое приложение

Не выйдет. По условиям AGPL, эта обёртка должна тоже распространяться под AGPL. И если эту обёртку ты будешь использовать в своём проекте, то он (твой проект) тоже должен распространяться под AGPL!

Это чертовски продуманная система Свободы, её практически невозможно обойти.

anonymous
()
Ответ на: комментарий от stevejobs

Шёл бы ты отсюда, проприетарщик укуренный. Страдай.

anonymous
()
Ответ на: комментарий от ymn

Где ж вас, проприетарщиков поганых, берётся столько?

anonymous
()
Ответ на: комментарий от x3al

Ничего, что форсировать свободность лицензии до такой степени, как ты понимаешь — это нарушать конкретные законы во многих развитых странах?

Ничего. Я же потому и говорю про законное нарушение.

Ну и «дух закона» хорош разве что с хорошим законом

Внезапно, «буква закона» тем более. Так давай жить по «правде», только вот тогда проприетарщики могут начать «недополучать прибыль».

С AGPL и Столлманом далеко не все согласны: в софте есть проблемы и важнее.

Не согласен - не пользуйся. Что может быть проще?

anonymous
()
Ответ на: комментарий от anonymous

Не согласен - не пользуйся. Что может быть проще?

Не согласен с законами этой страны — не живи. Что может быть проще?

* не является пропагандой суицида

Так давай жить по «правде»

Чьей?

x3al ★★★★★
()
Ответ на: комментарий от anonymous

Ваш троллинг излишне уныл

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

Сегодня еще пара людей подтвердило, что так и делается. Конкретно они так делали, юристы им подтвердили.

А заюзать «для протокола» надо, скорей всего, Akka, возня с подключением Finagle к Playframework того не стоит. Вот если не усну, прямо сейчас и напишу.

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от x3al

Не согласен с законами этой страны — не живи. Что может быть проще?

Не надо тут аналогии приводить, тем более уводящие в нацпол. Конкретно скажи, чем тебе не нравится принцип «не нравятся условия - не пользуйся»?

Чьей?

Так это ты предлагаешь подход, при котором «жить по правде» кажется логическим выводом. Я лишь сделал этот вывод.

anonymous
()
Ответ на: комментарий от anonymous

Конкретно скажи, чем тебе не нравится принцип «не нравятся условия - не пользуйся»?

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

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

Логическую цепочку покажешь или очередной любитель делать тупые замечания?

anonymous
()
Ответ на: комментарий от stevejobs

И, кстати, надеюсь ты понимаешь, что назвал всех пользователей лицензионной проприетарщины конченными лузерами?

anonymous
()
Ответ на: комментарий от anonymous

если у человека нет бабла, но он плачет и платит - да, он конченый лузер, очевидно. Один знакомый бизнесмен (в смысле, ооочень богатый бизнесмен) - юзает пиратские релизы не потому, что бабла нету, а потому что это просто неэкономно - тратить деньги на софт, на который можно их не тратить. Если же бабло есть и его нежалко - то почему бы и не купить? Например, нашему начальнику не жалко бабла, чтобы всех пересадить на маки, хотя можно было бы сэкономить и посадить всех на отстойное железо с рачлинуксом.

кстати, «проприетарщина» конкретно в этом топике не при чем, т.к. топик о публичных онлайн-сервисах, существующих в единственном экземпляре. Да еще о бесплатных, скорее всего. Там ценность ни разу не в коде, а в маркетинговых исследованиях. Даже если предположить дикую возможность, что его исходники выложат, они а) будут мало кому нужны из-за отсутсвия ресурсов (тех самых маркетинговых фишек + игровых ресурсов типа картинок и музыки) б) установить их все равно почти никто не сможет, т.к. каждый модуль рассчитан на запуск на отдельном сервере со сложной конфигурацией - шанс того, что кто-то из обычных пользователей угадает конфиг сервера, да и вообще купит десять серверов тупо чтобы запустить тетрис на своем телефоне - стремятся к нулю. У меня есть исходники, собственноручно написанные, но даже мне сложно вспомнить, как именно поднять сервер с нуля, и это займет не один день. Самый простой способ создать новый сервер - развернуть его из бэкапов. Такой софт бессмысленно и невыгодно выкладывать, даже если бы это было возможно.

stevejobs ★★★★☆
() автор топика
Последнее исправление: stevejobs (всего исправлений: 2)
Ответ на: комментарий от stevejobs

Лучше закажи у кого обработчик usagen написать там же база да парсинг голимые(исходники не смотрел), афферо это штука серьёзная, там про всякие обёртки уже подумали. А извращаться и с горем пополам пытаться обойти AGPL/*GPL некрасиво. Автор хочет AGPL пусть так и будет. Ты же не будешь лазейки искать для софта под коммерческой лицензией?

Dron ★★★★★
()
Ответ на: комментарий от Dron

Ты же не будешь лазейки искать для софта под коммерческой лицензией?

буду. Например, полезно вычитывать триальные лицензии, и там где оставлена возможность сбрасывать триал - ничего не покупать, а просто сбрасывать триал. (это ответ на вопрос «зачем нужно читать EULA»). Иногда люди делают жесткую триальную лицензию, но забывают или некорректно формулируют (делая условия юридически ничтожным) случай для использования виртуальных машин. А у нас есть целая одна полностью бесплатная виртуальная машина - virtualbox =)

Посчитай сам: если есть отдел из 20 человек (студенты с околонулевым опытом), у отдела совсем нет финансирования (ему надо доказать нужность своего существования прежде чем дадут первые бабки, т.е. прожить хотя бы месяца три и выпустить пару релизов), и все они используют какую-то IDE за 500 баксов за рабочее место, насколько выгодней сэкономить 500*20 = 10 косарей баксов юзая триал? Лучше вначале купить всем мониторы получше, да по две штуки - скорость разработки веб-интерфейсов с двумя мониторами возрастает процентов на 30.

stevejobs ★★★★☆
() автор топика
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от proud_anon

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

ты неправильно думаешь. Это нужно для того, что-бы жоппсы не могли закрыть код и продавать его под своей маркой.

emulek
()
Ответ на: комментарий от stevejobs

а зачем так мучится, если можно использовать OpenSource?

virtualbox

IDE за 500 баксов

комп, который вытянет такую IDE, примерно и будет стоить 1000 баксов... А OpenSource решение потребует комп как минимум втрое дешевле, не потому что OpenSource настолько нетребовательное к железу, а просто потому, что не требует костылей.

Ты эти костыли считал? А вот в IBM посчитали. И решили, что IBM не настолько богата. Но тебе конечно виднее...

emulek
()
Ответ на: комментарий от stevejobs

Да читаю я проприетарские лицензии, благо на это у меня 3 софтины всего, остальное GPL/MIT/BSD/etc.

Про триалки не спорю. В общем ,да, убедил. Но если вернутся к библиотеке той, всё же лучше будет натравить этих 20 человек на неё и написать свою реализацию, или нанять юриста который избавит от возможной последующей головной боли, которая может всплыть если вы всё же где то облажаетесь и некто запросит у вас всё всё что вы накодили. Хотя как по моему надо сделать отдельный сервак включающий эту либу и единственное что будет он делать так это принимать запросы от других серваков/приложений и выдавать результат. Тоесть по сути он автономен, а любой другой сторонний софт для него это пользователи.

Dron ★★★★★
()
Последнее исправление: Dron (всего исправлений: 1)
Ответ на: комментарий от Dron

Хотя как по моему надо сделать отдельный сервак включающий эту либу и единственное что будет он делать так это принимать запросы от других серваков/приложений и выдавать результат. Тоесть по сути он автономен, а любой другой сторонний софт для него это пользователи.

вот, да, так и будет. Вопрос был - на чем правильно принимать запросы, так чтобы это быстро отрабатывало и удобно было закодить. Я вчера выбрал таки Akka+Play/netty, но уснул :3

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

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

Написать cli софтинку которая будет дёргать библиотеку и на stdout кидать весь выхлоп, софтину оформить как cgi а приложение пускай делает GET example.com/cgi-bin/vseznayka.cgi?dev=ya_nexiuz_10_pam_pararam | grep screen_resolution

Ну не прям так конечно, но механизм ясен.

Или ещё лучше свой микросервер написать и клиента, будут со скоростью света друг другу приветы слать открытым текстом на over9000 порту. Экономно, быстро, просто.

Dron ★★★★★
()
Ответ на: комментарий от Dron

парсер написать надо

нафиг, пускай запросы будут не дай мне overдохрена инфы, а узкие.

Пусть сервак сам grepом подготавливает данные вида имя=значения, атам оборачивай во что хочешь, XML, INI, JSON, велосипед и выплёвывай клиенту.

Dron ★★★★★
()
Последнее исправление: Dron (всего исправлений: 1)
Ответ на: комментарий от stevejobs

отсутсвия ресурсов (тех самых маркетинговых фишек + игровых ресурсов типа картинок и музыки)

Лол, а что мешает скопипастить эти ресурсы оттуда?..

А платить проприетарщикам при такой логике - верх абсурда. Ты им один раз заплатишь, другой раз нет и они же тебя посадят. Так зачем платить своим врагам?

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

PS: И да, если ценности кода нет - то что мешает его выложить и не создавать себе проблем?

anonymous
()
Ответ на: комментарий от rikimaru

Форк программы под AGPL должен распространяться на условиях AGPL, ибо копилефт.

rskeyf
()

Есть идея написать открытую (удовлетворяющую условиям AGPL) обертку

Да, бл*, сколько можно. Насколько надо быть тупым, что бы не понимать, что обёрточный трюк не работает.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.