Monday, December 04, 2006

А Вы знаете, что нельзя продавать софт под GPL-лицензией?

Последняя моя статья в «Компьютерре» была посвящена невольному пиратству – когда Вы покупаете программный продукт, в котором включен нелицензионный компонент, например, сервер СУБД или фреймворк, и не знаете, что неявно нарушаете лицензию на его использование.

Статья посвящена вопросам пиратства, а не особенностям лицензирования – когда ее прочитаете полностью, это станет ясно.

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

Задавайте вопросы поставщикам; если это коробка -- напишите им и поинтересуйтесь включенными в состав продукта компонентами, для которых может понадобиться лицензия (кстати, лицензии должны быть на все продукты, даже на open source, в виде файлов или манифестов). Если это свободные продукты, проверьте, чтобы они были не под GPL-лицензией -- иначе поставщик нарушает её, так как продукт коммерческий.

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

Без бумажки софт ...?

Самыми первыми всполошились линуксоиды: как же так, выходит нельзя продавать Linux, который выпущен под GPL? Что, Novell, ASPLinux и т.д. нарушают GPL, продавая свои продукты с включенным Linux?

Сыр-бор разгорелся из-за толкования положений #0 и #1 GPL-лицензии (весь флейм, еще не утихший, можно почитать здесь: http://linuxforum.ru/index.php?showtopic=29547&st=0).

Лицензии GPL:
http://www.gnu.org/licenses/gpl.html

На русском примерный неплохой [неофициальный] перевод
http://www.infolex.narod.ru/gpl_gnu/gplrus.html

Пункт #0 GPL (в моей интерпретации, чуть ниже об этом disclosure) говорит о «прилипчивости» GPL – если вы включили в свою программу GPL-код (исходники), и даже просто используете готовое GPL-приложение у себя, то Ваша программа тоже должна быть под GPL – т.е. нужно открыть ее коды и нельзя продавать лицензии на ее использование. Способ использования, приводящий к «GPL-зависимости», точно не определен в общем случае. Но для MySQL, упоминаемого в статье, он определен лицензией MySQL – если коротко, то если для личного использования или в GPL-ПО, используйте GPL-лицензию для MySQL, иначе – покупайте коммерческую:

http://www.mysql.com/company/legal/licensing/commercial-license.html

А пункт #1 GPL определяет, в частности, что разрешается (you may) брать деньги за услуги по записи на носитель, за услуги по трансферу и/или техподдержку.

Так вот, основной вопрос, вынесенный в заголовок поста - «Можно ли продавать софт с GPL-включениями»?

Слова, слова, слова

Собственно, с моей точки зрения, суть спора состоит в том, что я в статье (и заголовке данного поста) однозначно рассматриваю термин «софт» как «лицензию на использование программного обеспечения». Линуксоиды рассматривают «софт» как программное обеспечение+носитель+полиграфия+доставка.

Более того, многие, похоже, путают понятия «дистрибутив», «носитель с дистрибутивом» и «программное обеспечение» и «лицензия на право использования программного обеспечения».

Неявно, когда говорят «я купил дистрибутив SuSe» подразумевают «Я купил носитель (CD, DVD, etc) с дистрибутивом SuSe».

Далее, когда говорят «Я купил программное обеспечение (софт)» можно предположить, что это означает либо «Я купил лицензию на право использования ПО», в случае проприетарного ПО, либо «Я купил носитель с дистрибутивом открытого ПО».

Весь вопрос в том, включать ли «носители с дистрибутивами» в множество «коммерческие программные продукты», о которых говорится в моей статье?

Как мне было верно указано, необходимо было точно указывать «коммерческий» = «проприетарный», чтобы утверждение статьи (и заголовка данного поста) стало 100% верным.

Иначе, если под "софтом" понимать в том числе «носитель с записанной на нем информацией», то продавать этот продукт можно, без сомнения. :)

Осел и прапорщик

Особенно интересен вопрос, пираты ли Novell и другие. Несмотря на очевидность ответа «Нет, не пираты!», стоит поинтересоваться «почему», и в чем разница между «продажей софта» от Microsoft, Borland и т.д. (то бишь проприетарного) и продажей Linux и другого OSS ПО.

Покупая медийный комплект, содержащий ПО под GPL, вы платите только за физическую составляющую: носитель, полиграфию, коробку и т.д., и, конечно, можете использовать его сколько угодно раз (т.е. легально поставить Linux с этого диска на N серверов).

Покупая лицензию на проприетарный софт, вы можете вообще не получить никакого носителя и даже электронного дистрибутива (например, при «легализации» уже давно использующихся Delphi вы получите только бумагу, подтверждающую Ваше право пользоваться ПО). Лицензия – это право на использование проприетарного программного обеспечения, и она никак не связана с физическими носителями (они не обладают сакральной ценностью и не делают лицензионной каждую установку, произведенную с них).

То есть «продажа софта» в применении к этим двум вариантам сильно отличается по существу. Брать деньги за носители/поддержку, или за лицензии на использованию - вещи абсолютно разные.

По поводу моей интерпретации

Вообще, есть ли у кого-нибудь комментарии по применению GPL? «Прилипчивость» лицензии, выраженная в п.1 словами

....The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language...

насколько она сильна? Моя интерпретация прилипчивости GPL лицензии максимально жесткая - используешь GPL-компоненты, значит весь софт становится под GPL, такая же, как и у MySQL, но MySQL молодцы, определили все явно, но есть же еще куча софта под GPL.

Если опустить очевидные случаи, когда включили в программу иконку под GPL и вся программа стала под GPL (о чем предупреждают юристы ), то возникает вопрос – как определить степень связанности GPL-модуля и Вашего приложения. Допустим, сервер баз данных под GPL, а клиент нет? Или еще хуже – вебсервер под GPL, а браузер нет? Как четко определить, основывается ли программа на GPL или просто «рядом проходила»?

Если основываться на преценденте MySQL, то все программы для GPL-лицензированных СУБД должны быть под GPL (а если нет, то нарушается лицензия GPL)?

Конечно, вопрос может и чисто академический, когда лицензии на самое что ни на есть проприетарное ПО тырят почем зря совершенно осознанно, но мы же должны что-то делать? :)

11 comments:

Anonymous said...

Хорошая статья

Dmitry Kuzmenko said...

исходя из фразы "a work containing the Program" в пункте 0 лицензии GPL, конечно, под GPL попадает любое ПО написанное специально для этой программы. Т.е. абстрактный браузер или клиент telnet под GPL не попадает.
Также под GPL не попадает ПО, которое просто помещено "до кучи" на дистрибутив рядом с GPL-программми.
Так что все достаточно просто.

Dmitry Kuzmenko said...

кстати, получается интересный момент.

а) за программы под GPL брать деньги нельзя (только за носитель)

б) программа, использующая другую GPL-программу, автоматически становится GLP программой. См. пункт а.

Таким образом, даже за work bazed on the program деньги тоже брать нельзя?

Anonymous said...

За программы под GPL деньги брать МОЖНО.

http://www.gnu.org/philosophy/selling.html

Anonymous said...

вот именно, что для вас продавать софт -- значит продавать лицензии.

а софт можно продавать в составе (и внутри) харда, на носителях, в виде поддержки и, самое главное, на сегодняшний момент -- в виде сервиса. Всё это GPL позволяет. Причем, это может быть ваш софт, созданный на основе свободного софта. А вот точно так же продать устройство или сервис, в котором крутиться MS Word вряд ли выйдет...

Anonymous said...

прецедент, а не прецеНдент.
Неужели сложно запомнить?

Dmitry Kuzmenko said...

"За программы под GPL деньги брать МОЖНО."
Прочитал ссылку. Сделал вывод: Да, можно. Например на dvd с росписью под хохлому, за 500 баксов. При этом покупатель имеет право оттиражировать это ПО несметное количество раз совершенно бесплатно.
Вот сервис и поддержка - да, безусловно могут быть платными, но к самому софту (к стоимости экземпляра лицензии на ПО) это не имеет отношения. Конечно, можно сделать такой софт, что без платной поддержки им будет нельзя пользоваться, но долго такой софт не проживет.

Еще раз подчеркиваю, что и статья в Компьютерре, и этот пост Алексея - это попытка ликбеза.
Худший случай я описал в своем блоге, прямо перед статьей (мы не сговаривались):
http://interbase.blogspot.com/2006/11/blog-post.html

Coldbeans software said...

Продавать GPL софт - можно. Почитайте оригинальные материалы: http://www.gnu.org/licenses/gpl-faq.html#DoesTheGPLAllowMoney

Ликбез должен быть корректным

Abava

Anonymous said...

Господа, вы сами читаете то, что советуете прочитать? Спор идет о терминах "продажа софта" и "зарабатывание денег", и в ссылочке Дмитрия Честных как раз об этом и говорится.


The term “selling software” can be confusing too

Strictly speaking, “selling” means trading goods for money. Selling a copy of a free program is legitimate, and we encourage it.

However, when people think of “selling software”, they usually imagine doing it the way most companies do it: making the software proprietary rather than free.

So unless you're going to draw distinctions carefully, the way this article does, we suggest it is better to avoid using the term “selling software” and choose some other wording instead. For example, you could say “distributing free software for a fee”--that is unambiguous.

Anonymous said...

"Но мы должны же что-то делать?"
Ха-ха! Для начала попробуйте вчинить иск Оракулу и вытрясти с него исходники под тем предлогом, что в него встроен GPL-ный Апач.

Anonymous said...

Ну, у Апача не GPL лицензия.
http://apache.org/licenses/
Вот у большинства проектов Апача как раз очень правильная лицензия для бизнеса, благодаря которой, например, и возможно существование Apache Derby и IBM Cloudscape - практически идентичных продуктов по цене 0 и не-0 :)