Комментарии 31
Какие еще 30000$ в РФ с кардинально другим законодательством по отношению к софтверным патентам?
Совершенно неважно, что происходит «там», какие то склоки, сутяжничество — другие законы, другие нравы
Основными нарушителями GPL являются нонейм и мелкие производители embedded систем, которые используют busybox, ядро Linux и другой GPL софт. В РФ таких производителей ничтожно мало, а может и нет. Плюс «там» любят сутяжничать. Согласен, практика подобных судебных процессов в РФ вызвала бы живой отклик.
она защищает свободу пользователя и программистаАвтор, видимо, не понимает смысла GPL. GPL защищает свободу не пользователя, а программного обеспечения, кода.
Код лицензированный под GPL должен всегда оставаться свободным. Всё. Free as a person.
А как раз пользователя лицензия GPL лишает свободы, свободы использовать код так, как ему захочется. Нельзя, например, взять чужую GPL-программу, портировать её на айфон и опубликовать в App Store, выложив в открытый доступ её исходники — такого GPL не позволяет, увы. Потому что после вашего компилятора на программу будет наложен аппсторовский DRM, который привяжет скаченный бинарник к аккаунту пользователя и сделает программу несвободной, даже если она бесплатна и к ней прилагается архив со всеми исходниками.
Я тоже сперва этого не понимал, пока не прочитал цитату Столмана: код должен быть свободным, free as a person.
Потому что после вашего компилятора на программу будет наложен аппсторовский DRM, который привяжет скаченный бинарник к аккаунту пользователя и сделает программу несвободной
Значит эппловское хранилище привяжет бинарник к аккаунту, программа станет несвободной. А причем тут GPL и почему именно она виновата в описанной ситуации? Пусть эппл не привязывает программу к аккаунту пользователя
А можно поподробнее? GCC вот привязывает программу к машине пользователя при компиляции. Чем этот вариант отличается от apple drm?
Т.к. вы не являетесь автором, то и ограничения накладывать не можете.
Софт из appstore нельзя «исполнять как заблагорассудится», только на устройствах с appstore;Бессмысленный аргумент. Возьмите какую-нибудь GPL-программу под Linux — её вы тоже не сможете «исполнять как заблагорассудится», только на устройствах с подходящей версией Linux.
а ещё вспомним eula appstore и договоры, навязываемые разработчикам под него.А что там? Напомните, пожалуйста.
Так что свободный софт в appstore быть не может принципиально.Это принципиальная позиция буквоедов от GPL. А свободный софт может быть где угодно.
Возьмите какую-нибудь GPL-программу под Linux — её вы тоже не сможете «исполнять как заблагорассудится», только на устройствах с подходящей версией Linux.
Если правильно статически собрать, то запускать можно на любом современном Linux.
Мне кажется Вы пытаетесь перекладывать с больной головы на здоровую. Больная голова — это вся инфраструктура DRM, запрет использовать открытое ПО на указанных условиях — соблюдая 4 степени свободы вполне понятен. Пример с TiVo очень показателен, свободный софт «где угодно» легко превратить в свою прямую противоположность.
На примере TiVo достаточно хорошо показано, что GPL отлично защищает также свободу конечного пользователя. Не совсем понял Ваш пример с AppStore. Если пользователь портирует код на другую платформу, внося изменения и затем выкладывает измененный сходный код в открытый доступ с той же самой лицензией, это и есть GPL. Хотя в таком случае это уже не совсем обычный пользователь а еще и разработчик.
В чем же ограничение его свободы?
Думаю, это касается любых магазинов приложений, которые используют DRM, но мне известен только прецедент с App Store, когда кто-то портировал VLC Player на iOS, а разработчики оригинальной программы вынудили Apple удалить программу из-за нарушения GPL.
Тоесть GPL обязывает вас делится исходными кодами того что используется внутри и что было извемено.
Код лицензированный под GPL должен всегда оставаться свободным. Всё. Free as a person.
автор кода (если он один — вопрос ноль, если несколько, то нужно согласие), вполне может поменять лицензию у своего софта. Понятно, что всегда можно форкнуться от старой версии под "правильной" лицензией и продолжить развивать в другом русле.
А нужна GPL для защиты пользователя — чтобы лицензиар, дав честное слово о том, что произведение будет распространяться свободно, не вздумал это слово забрать назад. В таких ситуациях свободные лицензии еще не проверялись.
Автор закрыл программу, убрал исходники с гитхаба, форки тоже пропали (или я не умею искать?), а у пользователей остались только бинарники старой версии. Новая продаётся по $500.
Он обязан раздавать исходники еще три года после последнего релиза.
Если у вас есть старый бинарник, можно требовать исходники, тыкать носом в GPL и обещать написать в FSF.
Берем библиотеку/программу под GPLv*
модифицируем её, допустим вставляем drm защиту, аппаратное ускорение и т.д.
компилируем и получаем бинарник А
далее компилируем девственный код билиотеки/программы без наших правок и получаем бинарник В
Далее находим бинарную последовательность С, такую что
B patch C = A
кладем в прошику бинари В и С, и в рантайме их патчим, что бы получить А
таким образом вроде как лицензия GPLv* не нарушается
Берём бинарник A GPL-программы с официального сайта.
Прикладываем к нему бинарник B.
Пользователь запускает A, затем запускает B.
B подключается к A как отладчик, ставит в некоторых местах breakpoints и меняет состояние отлаживаемой программы / выполняет свои алгоритмы в некоторых точках.
Вроде как, изучать и дебажить GPL-программы не запрещено.
Берём GPL-программу, в те места, которые хотим дописать, вставляем обращение к веб-сервису.
Публикуем программу вместе с исходниками.
Исходники веб-сервиса скрыты от пользователя (веб-сервис даже может присылать скомпиленные куски кода или скриптов, как сейчас поступают коммерческие сайты с опен-сорсными браузерами).
Что на это лицензия скажет?
Можно придумать множество способов добавить какую-то функциональность в программу, не делая ее частью бинарника. Патчить в памяти, грузить как динамическую библиотеку или как плагин, запускать как отдельный процесс и общаться по RPC. Полно трюков.
Лицензия говорит на это вот что. Она оперирует понятием "derived work", "производное произведение". И производное произведение должно быть всё под GPL, целиком. Но если два "произведения" просто распространяются вместе, то GPL одного, на другое не распространяется. Это сделано, чтоб во всяких дистрибутивах Линукса, один GPL-ный пакет не заразил все остальные.
Так что, вопрос должен стоять так: комбинация и B и C в прошивке — это производное произведение или они просто лежат рядом? Окончательный ответ, конечно, может дать только суд. Но, например, ps | grep
это не производное от ps
и grep
, потому что можно и ps
и grep
использовать независимо. А вот патч C явно сделан только для того, чтобы патчить B в памяти, так что B + C — это производное произведение от B и GPL на него распространяется.
Заявляется, что модификация исходников выполнена, чтобы получать данные (алгоритмы) из внешних источников. И исходники тестового веб-сервиса с тривиальными заглушками можно выложить.
А вот наличие нетривиального веб-сервиса — расширения как понимать? Как производная работа? Каким образом, если она никак не использует исходные коды GPL-приложения.
Ну и, главное. GPL требует предоставлять исходники при распространении программы. Веб-сервис не распространяется как программа. Поэтому, не раздавая его пользователям, как программу, можно не открывать исходники, даже если он основан на GPL-коде. Это приватная доработка, исключительно для нужд владельца хостящего сервис сайта.
Ну и, главное. GPL требует предоставлять исходники при распространении программы. Веб-сервис не распространяется как программа. Поэтому, не раздавая его пользователям, как программу, можно не открывать исходники, даже если он основан на GPL-коде. Это приватная доработка, исключительно для нужд владельца хостящего сервис сайта.
Для борьбы с этим придумали AGPL, которая требует давать исходники пользователям сервиса.
Как закалялась GPL