Как стать автором
Обновить

Комментарии 33

НЛО прилетело и опубликовало эту надпись здесь
Одно из фундаментальных требований GPL состоит в том, что когда вы распространяете приложение среди пользователей, вы должны предоставить им также способ получить исходный код. По GPLv3 я должен предоставить код только для своего программного продукта без библиотек Sencha(при условии, что я не вносил в них изменения).

Основы GPL
Никто не должен быть ограничен программами, которыми пользуется. Есть четыре свободы, которые должны быть у каждого пользователя:
  • свобода применять программу в любых целях
  • свобода дорабатывать программу под свои нужды
  • свобода обмениваться программой со своими друзьями и соседями
  • свобода обмениваться изменениями, которые вы внесли

Пользователь должен иметь возможность собрать(воспроизвести) мое ПО у себя на компьютере(сервере), а также внести изменения на свое усмотрение.
распространяется ли данная лицензия при этом и на серверную часть кода? или только на клиентскую (ту, что в браузере пашет)?
НЛО прилетело и опубликовало эту надпись здесь
я к тому, что считается это единым целым или нет.
т.е. если я сделаю админку на ExtJS, JS-код у меня для пользователя будет доступен — бери да скачивай скриптики. Но при этом серверную часть я не публикую.
Попадает ли такая схема под GPL лицензию от Sencha? Ведь по сути, без серверной части и клиентская не будет работать — откуда она будет все данные тащить?
Нет, в данном случае — это не попадает под GPL. Вся суть GPL заключается в свободе — я должен иметь возможность скачать и воспроизвести ваш исходный код у себя. Вы можете продавать свою копию программы(это не запрещено GPL) и получать денежные средства за распространение, но не можете требовать денег с пользователей, в случае получения копии программы из других источников и/или при самостоятельной сборке.

Совместимость лицензий
А где расположена MIT в этой схеме?
MIT — x11 лицензия
Обычно под MIT подразумевается Expat.
ПО под лицензией MIT включает в себя Expat, Metakit, PuTTY, Mono, Ruby on Rails,Twisted, JQuery и, конечно же, X Window System (X11), для которой она и была написана.
Да, почитав подробнее лицензию и комментарии, соглашусь с Вами. Я отношусь видно к той части разработчиков, которые считают MIT — X11, это распространенное явление.
собственно, я к тому и спросил, чтобы «для истории» тут сей нюанс засветить, а то народ часто разделяет эти стороны (как например Aclz) и думает, что лицензия только на клиента требуется.
Вполне можно разделять, если клиент можно представить как отдельный продукт. Вы открываете клиент, а реализацию сервисов можно сделать уже иначе и на отличной от вас платформе. К примеру, почтовые же клиенты отделены от серверов.

Если у вас нельзя отделить клиентскую часть, как законченный продукт, ну к примеру сервер у вас сам генерирует страницы, а из extjs вы используете отдельные интерфейсных компоненты, тогда надо открывать всё.
НЛО прилетело и опубликовало эту надпись здесь
Продукт очень размытое понятие. К примеру андроид от гугл идёт как единый продукт, но содержит, как открытую часть андроида, так и проприетарные компоненты. Важно, не то, как распространяется, а можно ли считать опесорсную (gpl3) часть отдельным продуктом. И понятно, что вы её должны предоставить в открытый доступ.
НЛО прилетело и опубликовало эту надпись здесь
Если в вашем проприетарном клиент-серверном приложении используется точно такой же клиент, как, открытый, то вполне. Практикуется часто, другой подход: опенсорсный сервер, а в проприетарной поставке добавляется поддержка и клиент(закрытый) для администрирования. В любом случае, тут как отреагирует Sencha и их юристы.

Тут даже интереснее, многие критикуют Sencha за двойное лицензирование, по сути у них есть ExtJS под лицензией GPL3, и есть ExtJS со своей проприетарной лицензией с совершенно другими условиями распространения. Получается, у них есть одна и та же библиотека, если вы им не платите, то ваше приложение написанное с ей использованием должно распространяться только под GPL3, а если заплатите, то уже можете распространять, как захотите. Довольно свободная интерпретация лицензии :)
бери да скачивай скриптики
Это не исходный код, это «скомпиллированный», даже если в случае JavaScript файлы могут совпадать с исходными.

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

Например:
Я программист, делаю для заказчика веб-приложение, которым будут пользоваться его клиенты.
Кто кому должен открывать исходный код веб-приложения, если оно написано на ExtJS под GPLv3-лицензией?
По GPL-лицензии разработчик — пользователю. Но кто тут пользователь? Заказчик или его клиенты?
В паре разработчик-заказчик пользователь приложения — это заказчик, он получает от меня весь проект в исходных кодах, тут проблем нет.
Но клиенты заказчика — это тоже пользователи приложения, должны они тоже иметь возможность получить исходные коды?
Все пользователи системы должны иметь доступ к исходникам по GPL3 (т.е. любой из клиентов заказчика может получить систему и также её распространять или модифицировать).

Но хуже другое, в том мире, где мы живем, важна интерпретация, которую Sencha дает, так как, если они захотят судиться — то ни к чему хорошему это не приведёт (тут конечно зависит, важен ли вам западный рынок и будут ли с вами связываться, скорее всего нет). А если вам важен американский рынок и ваш продукт достаточно крупный, чтобы с вами судиться, то скорее всего вы купите их коммерческие лицензии :) лишь бы не тратиться на суды и юристов.

Sencha очень вольно интерпретирует лицензии. На них активно «наезжают» пользователю, и я боюсь это приведёт к тому, что они просто перестанут новые версии под открытыми лицензиями выпускать.
В общем, следующий раз лучше выбирать dōjō, если к веб-приложению будут иметь доступ люди извне :)
Если я делаю закрытую систему для использования двадцатью сотрудниками заказчика? Все исходные коды я ему и так по условиям договора отдам.

А вот что касается «перестанут выпускать». Почему нельзя взять исходник под GPL3 и форкнуть? Ну, будет оно называться не ExtJS, и хрен бы с ним.
Да, но GPL3 подразумевает, что и все пользователи вашего заказчика получат её по этой лицензии (если заказчик её не нарушает), и что они с ней могут сделать всё, что захотят (в рамках лицензии).

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

Клиенты заказчика пользуются услугой по сети это больше похоже на SaaS в данном случае:
providing access to use your software over a network (like in SaaS) is not considered distribution

Это не считается распространением в GPLv3.
А вот AGPL накладывает ограничение и на SaaS
Кстати, верно подмечено выше, вопреки общепринятому представлению GPL, Sencha трактует этот момент в свою пользу как передачу, стоит ли в случае чего с ними судиться стоит 100 раз подумать.
Дополню статью, точнее поясню. У Sencha можно покупать лицензии только кратно 5, вы не можете купить 1, 3 или 7 лицензий, только 5, 10 и т.д.

Лицензия покупается на компанию и оформляется на разработчика, передать одну лицензию в другую компанию не получится. Если вы делаете приложение на заказ, то ваш заказчик так же должен купить этот пакет из 5 лицензий (которые они помечают как developer). Ещё интереснее, если вы делаете некоторое решение, которое сами продаете (не cloud, а standalone), тогда тот, кто покупает ваш продукт должен еще 3тыс.$ заплатить Sencha! Это очень круто.

Нет никакого разделения на SDK и лицензию для поставки на продакшен сервер. Всё одно, и стоит одинаково (3225$).

Дополнил статью Вашим комментарием. Спасибо.
Кто комментарий отминусовал, поясните, если не сложно. Возможно у вас есть другая информация, мне это важно, так как использую в работе ExtJS (как в компании, так и в своих проектах). Что я написал — это из общения со службой поддержки и их постам на официальном форуме.

До 2014 года, с лицензиями и их интерпретацией у Sencha было намного проще, хотя бы можно было по одной лицензии покупать. Сегодня, у меня сложилось такое впечатление, что Sencha хочет уйти из мелких проектов и остаться исключительно в корпоративных решениях.

Хорошо, что если у вас была куплена лицензия раньше (до того, как они перешли на пэки по 5 штук), то вы можете покупать новые версии (по сути апдейтить лицензии) тем кол-вом, которое раньше было куплено, т.е., если у вас была куплена 1 лицензия ExtJS 4 в 2013 году, то можно купить/продлить только 1 лицензию на ExtJS 5 (во всяком случае в прошлом году так было, думаю с 6ой так же осталось).
Все верно сказано. Правда есть у них одна расплывчатая оговорка:
In some cases, you can transfer your license to the third party,
в заметке для Consultants and Software Integrators
Sencha начали жадничать и закручивать гайки, увеличивать стоимость лицензии. Становится накладно иметь дело с их продуктами в форме Commercial License. Про OEM лицензию маленькие стартапы теперь вовсе могут забыть. Печально, все так хорошо начиналось, на 3,4 верси можно было купить лицензию за $300-$400 без поддержки на одного разработчика.
Ещё интереснее, если вы делаете некоторое решение, которое сами продаете (не cloud, а standalone), тогда тот, кто покупает ваш продукт должен еще $3225 (для ExtJS) заплатить Sencha!

Это Вы где нашли в лицензии, подскажите?
Скорее всего автор имел ввиду cloud — это решение на своем сервере для массы (приобретают услугу по пользованию приложением). А standalone — это на сервере заказчика(приобретают приложение).
В лицензии написано про этот пункт:
Также пользователи лицензии гарантирует, что третьи лица, для которых разрабатывают приложение, лицензированы для использования программного обеспечения. В некоторых случаях вы можете передать свою лицензию третьим лицам, но есть случаи когда они должны иметь свою коммерческую лицензию. В случае нарушения к вам могут предъявить обвинения в нарушении интеллектуальных прав.
Если вы являетесь Vendor и продаете конечный продукт ( софт который не используется для разработки и т.п), клиент использует ваше решение без внесения модификаций, то клиент не должен покупать лицензию. Так отвечала техподдержка несколько раз в 2010,2012,2015 годах. После этой статьи задавали вопрос еще раз.
Я тоже так понял из английского соглашения.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации