Можно ли продавать сборки, модули и темы оформления Drupal?

16.06.2010

Иногда спрашивают, можно ли купить модуль или сборку Drupal, используемые на моих сайтах. Я что-то знаю про open source и свободные лицензии, знаю, что Drupal лицензирован под GPL, но многие конкретные вопросы до последнего времени оставались для меня без ответов. Решил разобраться, выкладываю результаты в виде FAQ'а.

1. В чем сущность GPL?

GPL защищает открытый код от закрытия при его распространении. Если вы делаете сайт на Drupal для себя или для определенного заказчика, это не считается распространением. Если вы делаете сборку, модуль или тему, чтобы раздать ее многим, это является распространением. Согласно GPL каждому из этих многих вы должны передать исходный код вашей разработки. Поскольку Drupal написан на PHP, для выполнения этого условия не нужно предпринимать дополнительных шагов — исходники доступны.

При этом выкладывать код в интернете в открытом доступе необязательно.

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

GPL не запрещает распространять код за деньги.

2. Что будет за нарушение лицензии?

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

Случаев серьезных разбирательств по поводу нарушения лицензии Drupal'а мне не попадалось.

3. Можно ли продавать темы оформления (шаблоны)?

Частично тема оформления состоит из PHP-кода, который непосредственно взаимодействует с Drupal'ом. Поэтому PHP-код любой темы лицензируется под GPL.

Но основа темы — это авторский дизайн, верстка (HTML и CSS) и изображения. В большинстве случаев GPL не распространяется на эти составляющие, за исключением HTML-кода в tpl-файлах.

Если в теме используется JavaScript-код, взаимодействующий с jQuery, то он попадает под GPL, поскольку jQuery распространяется под GPL.

Получается, что темы продавать можно, причем можно продать тему для использования только на одном домене и запретить покупателю ее распространять.

4. Можно ли продавать модули и сборки?

Можно, однако, код модулей нельзя шифровать, например, софтом от Zend и ionCube.

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

5. Так ли всё плохо для разработчика?

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

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

Практика продажи тем для Drupal'а достаточно распространена, платные модули тоже существуют, но это редкость.

* * *

Если ошибся в трактовке, пожалуйста, поправьте меня.

Комментарии

ZakharS, 16.06.2010 08:05

Спасибо большое! Наконец-то нашелся человек, который все понятно объяснил с примерами. За это и читаю Ваш сайт.

Matt, 16.06.2010 08:33

Как я понимаю, речь о том, что "злые" разработчики не должны код закрывать и всё распространять бесплатно?

Сандер, 16.06.2010 09:38

Что-то я не совсем согласен. Насколько я понимал GPL, код все равно является вашей собственностью, поэтому продавать его никто права иметь не будет. А вот распространять свободно - запросто.

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

TermiT, 16.06.2010 10:36

Сандер, вы не правы, если нет специальной оговорености, то код под GPL можно продовать или перепродовать.

Сандер, 16.06.2010 10:59

Ну, значит, ошибся. Хотя просто да, если программа популярна, то кто же ее купит, если можно бесплатно скачать...

Дмитрий Сергеев, 16.06.2010 14:33

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

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

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

thestorm, 16.06.2010 13:28

Спасибо. Теперь хоть уверен что могу продавать темы и модули и с какими последствиями могу столкнуться :)

Sam, 16.06.2010 14:15

У jQuery двойная лицензия: http://jquery.org/license GPL+MIT, а MIT вроде позволяет продавать код.

Дмитрий Сергеев, 16.06.2010 14:24

Под "позволяет продавать код" имеется в виду "позволяет закрывать код"?

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

Sam, 16.06.2010 14:25

Да, MIT очень свободная от ограничений лицензия. Закрывать код тоже вроде позволяет.

Дмитрий Сергеев, 16.06.2010 14:41

Спасибо за разъяснения. Видимо это значит, что исходники используемого JavaScript-кода не обязательно распространять.

Хотя вряд ли эта возможность защиты сильно востребована разработчиками.

alpinek, 16.06.2010 16:56

Отличная статья, благодарю автора! Совсем недавно в нашей веб-конторе разгорелась полемика на эту тему. Сейчас дам коллегам почитать.

pgk, 16.06.2010 18:37

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

Дмитрий Сергеев, 16.06.2010 20:01

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

Contorra, 17.06.2010 00:50

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