Многие удивлялись, мол — как так? Ты же продаёшь эти дополнения, а возможность собрать пакет из исходников тебя лишает заработка. С одной стороны — да, лишает. С другой, поддержка обеспечивается только покупателям, так что от меня не убудет.
Как я в своё время изучал исходники авторов MODX, так и многие другие начинающие программисты изучали мои исходники. Присылали исправления, задавали вопросы, всё хорошо. Однако, я не учёл одного момента, что если куча дополнений пишутся по одному лекалу, то рано или поздно они начнут друг другу мешать.
Первый звоночек прозвучал, когда вышел платный компонент msFavorites, который взял полностью всю основу (логику работы, скрипты, стили) из тоже платного Comparison. Тем самым, автор msFavorites просто лишил меня возможности добавить функционал работы с избранным в своё дополнение.
То есть, у нас теперь один компонент для работы с избранным, за 490 рублей, а другой для сравнения товаров — еще за 490 рублей. Выглядят одинаково, работают с микроскопическими отличиями.
Затем тот же автор выпускает компонент UserProfile, часть которого была просто скопирована из платного Office, да так удачно, что при установке сразу обоих дополнений, один перехватывал действия другого. То есть, бесплатная копия мешала работе родного оригинала. И это уже напрямую касалось моей платной поддержки Office — потому что именно ко мне шли с вопросами.
Затем мне пришлось переписывать логику работы AjaxForm, потому что сторонние авторы использовали его в своих дополнениях и при установке нескольких таких, они ломали друг друга. Причём, переписывал я это на чужом сайте, где изначально и родился AjaxForm. А потом заказчик купил новое дополнение в магазине, установил, и оно сломало мой уникальный функционал. Мне пришлось за свой счёт исправлять работу и улучшать AjaxForm, чтобы такого больше не повторилось.
С заказчиком мы, в итоге, разругались.
Также был еще один пакет, который также повторял функционал Office — вывод заказов miniShop2. Но там, хотя бы, есть серьёзное отличие — он работает без ExtJS, что многим нравится. При этом, очевидно, я мог бы и сам добавить такой контроллер в Office, но теперь это будет выглядеть как-то не очень красиво.
Ну а вчера произошло и вовсе прекрасное — вышла бесплатная кастрированная копия Office. Автор взял идею, логику работы, основные методы, оформление, выкинул «лишние» контроллеры и представил это как свою разработку. Конечно, отсылки к оригинальному проекту и благодарности в наличии, но меня это не утешает.
Почему бы теперь не написать EasySearchFilter? Ну, взять идею mSearch2, оформление, основные методы и получится прекрасная копия моего лучшего платного дополнения.
Что тут можно сделать? Я смог придумать только одно, очевидное решение — закрыть репозитории с платными дополнениями. Всё, что успели форкнуть, остаётся на своих местах, бесплатные дополнения тоже, а вот новые версии платных пакетов будут только в магазине.
Да, я лишаюсь обратной связи через issues на GitHub, а многие разработчики не смогут честно и бесплатно установить мои компоненты для личного пользования, но другого выхода я не вижу.
Я не хочу больше видеть уши своих лучших разработок в чужих платных или бесплатных дополнениях. Я из кожи лез вон, чтобы научить всех тому, что знаю. Но научить, а не дать скопировать. Тем более так, что это потом мешает мне самому.
Надеюсь на понимание.
← Следующая заметка
Ваш провайдер режет скорость? Пора настроить VPN
Ваш провайдер режет скорость? Пора настроить VPN
Предыдущая заметка →
День рождения 33
День рождения 33
Что-ж, будем надеяться, что когда-то в будущем мир станет более дружелюбным и честным, и люди станут совестливее, что в свою очередь не даст им так нагло без зазрения совести копировать чужие разработки. И тогда, опять же надеюсь, ты откроешь нам доступ к своим дополнениям вновь. :)
Понятно, что дополнения — твой хлеб и ребята поступают нечестно, продавая людям твой-же код. Если ты против форков, дополнения нужно публиковать под закрытой лицензией, типа «код можно использовать в целях обучения, но нельзя создавать продукты на основе него». Тогда твой наезд будет обоснован.
Для новых версий выберу что-то другое.
Может, действительно стоит посмотреть в сторону модерации дополнений?
Никто не проверяет чистоту исходного кода, и не тестирует на совместимость со всеми остальными дополнениями магазина.
Неужели ты думаешь, что магазин генерирует настолько большую прибыль, что можно посадить отдельного человека на тестирование дополнений? Причем, не школьника?
Я тебя огорчу, но даже лучший автор магазина на выручку от продажи дополнений не может не то что съездить в Германию, но и просто бросить другие подработки.
В конце концов — это площадка для работы сторонних авторов и вся головная боль по поддержке перекладывается на них. Обрати внимание, что в магазине Битрикс, AppStore, Google PlayStore и других — понятия поддержки нет вообще.
P.S. Если вдруг в дополнениях вскрываются какие-то серьёзные косяки после продаж — мы требуем их исправления под угрозой удаления пакета из продажи. Пока еще ни одно не удалили.
Еще раз повторяю, никто не открывает исходники и не смотрит построчно, что и откуда взято. Если начать так делать, выяснится что 90% всех платёжных методов miniShop2 взяты с mspZPayment (именно для этого он и был открыт в своё время и не закрыт до сих пор), еще 50% из modExtra и т.д.
Просто вот такого наглого копирования функционала еще не было. И не будет, по крайней мере в нашем репозитории.
Если ты захочешь прислать клон любого дополнения, которое уже есть в магазине — будет отказ.
Я бы еще вынес PayPal из miniShop2, для сохранения целостности, но это тема для другого разговора и даже уже обсуждалась.
кстати да, мне сразу показалось странным, почему UserProfile бесплатен.
1) msFavorites — это плагин, который добавляет в массив внутри сессии id товара + чанки для msProducts что бы это все выводить. Работы на час — два.
2) mslistorders — сниппет, который генерирует для pdoFetch параметры из GETа + чанки для вывода результатов — Работы на час — два.
3) ajaxForm — всего один плагин на handleRequest для formIt + JS скрипт для фронта для отправки AJAX запроса- работы на час — два максимум
4) userProfile — не понял вообще что это, а теперь желание ознакомиться вообще напрочь пропало. Если потребуется подобное, то теперь однозначно даже смотреть на что-то кроме office не буду.
Конечно, я сейчас на вскидку написал, а если в живую начать писать то, что-то в итоге может оказаться несколько сложнее, но тем не менее смысла воровать нет. Тем более, если самостоятельно это писать, то шансов конфликтов дополнений с первоисточниками минимум.
А потом полгода отвечать на вопросы, решать все проблемы и выпускать обновления. Попробуй — удивишься, гарантирую.
Ну, просто, чтобы не выглядеть голословно?
Но тем не менее, если взять, к примеру, дополнение msFavorites, которое слизано «из тоже платного Comparison». В чем проблема скопировать код классов msCartHandler и msOrderHandler, заменить Cart и Order на Wish и WishList, а потом прилично урезать их функционал в местах связанных с количеством позиций и всеми возможностями связанными с оформлением заказа и итоговой ценой. В итоге останется только продублировать eventы, плагин для AJAX и тд. Хочешь сказать, что в итоге за час-два не получится аналог по функционалу? Вопрос только в том, что продавать это лично бы я не стал.
Верю, что такого больше не будет, от всей души.
Существует замечательный процессор в minishop /mgr/orders/getlist. Времени, чтобы из него сделать сниппет надо вообще чуть-чуть. Соответственно продавать такой функционал тоже не правильно.
До той поры всё, что ты говоришь о разработке дополнений — голословно. Ибо ты их не разрабатывал.
Л — логика.
Речь об исходниках исключительно платных дополнений, с которых я сейчас в какой-то мере живу. Они были открыты по причине моей невероятной доброты и щедрости, которые закончились.
Об этом и статья, которую я предлагаю тебе перечитать еще раз, если до сих пор непонятно.
Если тебе проще всё объяснить моей алчностью — на здоровье. Только покажи сначала других авторов, которые выкладывали исходники своих платных разработок.
Кривые копии мешают работе моих купленных дополнений и мне приходится с этим разбираться в поддержке. Я же по-русски написал в статье и привёл примеры.
Установка UserProfile ломает работу Office, потому что у него часть кода скопирована оттуда и он ловит не свои события. Создание msFavorites помешало разитию Comparison. ECC и вовсе копирует функционал Office, но бесплатно — это уж точно нехорошо для моего кармана, как считаешь? Что мешает так скопировать вообще все разработки?
Дальше этот ком будет только нарастать. Ну как можно прочитать мой текст и ничего не понять?
Остальным хотелось бы сказать — давайте уважать друг друга. В современном мире, особенно в западном, это становится признаком слабости. Но у нас, русских (не по национальности, а по ментальности, а чем пишет Герман Садулаев) это имеет особый важный смысл.
Особенно не понимаю халявщиков. Ведь заказчик же оплачивает, в чем смысл экономии. А оплачивая труд автора, вы выражаете свою благодарность ему и уважение к его работе и стимулируете его. А если уж очень денег жаль, то с большой вероятностью можно найти бесплатное решение.
Вот лежали открытые исходники и ни спасибо тебе, ни денег. А вот закрыл — сразу плохой стал. Вывод: не делай хорошего, не получишь плохого.
Я в свое время скачал некоторые твои дополнения для повышения квалификации и знаний, но тем не менее даже для себя купил дорогой (по сравнению с другими дополнениями) Office. Я не один такой в нашем сообществе, есть порядочные люди, но я свои платные дополнения не выкладывал в общий доступ и не буду. И не потому, что жадный. Просто я уважаю свой труд и ценю свое время и кроме меня это сделают единицы. А деньги с дополнений я все-равно отдаю сюда.
Так что я поддерживаю!
Теперь на команду
Бовер конечно выводит:
Поскольку такого репозитория нет. Как теперь удобно собрать фронт-энд через мэнэджер зависимостей?