…And Justice for All

в 16:10, , рубрики: IT-стандарты, open source, биллинговые системы, лицензионное соглашение, лицензирование, монетизация, платежные системы, Программирование

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

image

Под катом мои субъективные соображения на этот счет.

Централизованное распределение дохода

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

Независимые некоммерческие организации в условиях капитализма не выживают, а "кто платит — тот и заказывает музыку". Более чем уверен, что разработчик свеженького модуля для подобного проекта, только что выложившийся на github, даже не помышляет об участии в финансировании подобной "некоммерческой организации". И как следствие, его интересы в этом "концерне" остаются непредставленными.

У меня есть некоторый опыт разработки модулей в подобной структуре, правда это коммерческая структура (но это-то как раз и естественно, коль мы обсуждаем монетизацию разработки). Я имею в виду мою "любимую" Magento (нет, и вправду любимую — я все-таки на нее потратил лет 6 своей жизни). Так вот, платформа Magento CE вполне себе даже бесплатна (в отличие от Enterprise Edition), а вот стоимость некоторых модулей для нее может достигать 5-х значных чисел в американской валюте.

Некоторая аналогия с предложением коллеги IvanKlut прослеживается также и в размещении приложений (модулей) на таких сервисах как Google Play (проект — Android) и App Store (проект — Apple).

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

Delegation pattern

А что будет, если применить к сложившейся ситуации шаблон делегирования? Допустим, разработчик не заморачивается сам сбором денег с потребителя его продукта, а делегирует ответственность за эту хлопотную работу некоему "связанному объекту"? Назовем этот объект Агентом — по аналогии с Риком Пеком, агентом актера Тагга Спидмена (фильм "Tropic Thunder")

image

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

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

Для чего вводить Агента посредником? Мне кажется, что каждый должен заниматься своим делом: разработчик — разрабатывать программы, актер — играть на сцене и в кино, предприниматель — зарабатывать деньги, а агент — представлять чьи-то интересы. Ну а что делать, если Тагг Спидмен лучше играет в кино, а с Лессом Гроссманом лучше говорит о деньгах Рик Пек?! Это очевидно — Таггу лучше продолжать играть, а Рику — продолжать говорить о деньгах. Не стоит им меняться местами, не выйдет из этого ничего путевого.

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

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

Будет ли разделен полученный доход Агентом по справедливости? Уверен, что — да! Как минимум с точки зрения того, кто этот доход делит. А что делать, если сам Разработчик считает иначе? Ответ прост — уволить Агента и делегировать его обязанности другому Агенту. А лучше — другим Агентам.

У каждого Агента свой стиль работы, своя "потребительская ниша". Это актеру тяжело сниматься в 100500 фильмах одновременно, а Разработчику написать программу, которая будет работать в 100500 коммерческих проектах вполне по силам. Вот пусть Агенты и представляют его интересы в этих самых 100500 проектах. Если нужно — пусть хоть по одному Агенту на проект. На каких условиях Агент продает его продукт? Да на каких продается — продукт стоит столько, за сколько его можно продать. Больше Агентов, хороших и разных. Самое главное, чтобы у Разработчика была возможность "уволить" любого Агента, если он не доволен по каким-то причинам его работой.

И у меня есть подозрения, что хорошие Агенты смогут представлять интересы не одного Разработчика, а интересы сразу множества Разработчиков. Причем самых разных проектов — начиная с jQuery, и заканчивая ядром Линукса (хотя там с монетизацией все более-менее, разве нет?).

Таким образом, имеем как раз "сложную систему со множеством независимых субъектов" (ну, или слабо-зависимых). Агенты зависят от множества Разработчиков, а Разработчик — от множества Агентов. В целом, отдельная связка "Агент РП — Разработчик ТС" в данной композиции ничего не решает и с легкостью может быть разорвана любой стороной. Но вот если все Агенты разорвут свои отношения с конкретным Разработчиком или все Разработчики — с конкретным Агентом, то для этой конкретной стороны игра может закончиться.

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

"Что делать?" (с)

И как нам дойти до жизни такой? Пусть специалисты по лицензированию меня поправят, но мне кажется, что достаточно вставить следующие 3 пунта в некторые лицензии типа MIT и BSD, чтобы предпосылки для подобной жизни начали создаваться и накапливаться. Вот эти три пункта:

  • Любая институция, имеющая законные права на проведение финансовых операций и признающая условия данной лицензии, может выступать Агентом, представляя коммерческие интересы Владельца данного ПО, если только Владелец в явном виде не ограничил список приемлемых для него Агентов.
  • В случае прямого коммерческого использования данного ПО конечный выгодополучатель обязуется приобрести право коммерческого использования у любого Агента, приемлемого для Владельца данного ПО.
  • В случае коммерческого использования данного ПО в составе другого ПО, конечный выгодополучатель обязуется приобрести право коммерческого использования на весь комплект программного обеспечения у любого Агента, приемлемого для Владельца данного ПО.

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

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

Ну а если даже такие парни, как Лесс Гросманн и Рик Пек не смогут извлечь из твоей программы доход, то куда уж тебе, простому разработчику, впрягаться? Программируй и далее своего питомца в свободное от основной работы время.

И самое главное

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

Автор: Alex Gusev

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js