>
>
PVS-Studio. Отсчёт цен в обратную сторо…

Андрей Карпов
Статей: 671

PVS-Studio. Отсчёт цен в обратную сторону

Если вы зайдёте на страницу покупки PVS-Studio, то увидите, что мы убрали цену и предлагаем связаться с нами, чтобы обсудить её в индивидуальном порядке. Пока это эксперимент, результат которого мы не можем прогнозировать. Исчезновение цены не обозначает её рост. Наоборот, мы хотим предлагать PVS-Studio в том числе и по более низкой цене для небольших команд. Если вам интересно, как изменялись цены и почему мы хотим опробовать такую модель продаж, то желаю приятного чтения. Думаю, те, кто занимается не только разработкой, но и продажами своих продуктов, найдёт в статье что-то интересное для себя.

Данная статья неактуальна и не отражает текущих цен на PVS-Studio. Пожалуйста, обратитесь к странице покупки для получения актуальной информации.

Как всё начиналось

Изначально мы (Андрей Карпов и Евгений Рыжков) хотели создать один или несколько небольших продуктов в духе shareware. Душа, насыщенная мотивационными книгами, требовала действия. Мысли были разные, но долго ничего не придумывалось. Не хотелось делать очередной клон чего-то. Если бы в то время уже были распространены iPad и прочие планшеты, думаю, наш выбор бы очевиден. Неизвестно, как сложилась бы альтернативная история, где мы попытались бы делать игры или что-то ещё. И теперь уже не узнаем. Но на тот момент придумать что-то было непросто. Индустрии iXxx ещё не было. Сайтами заниматься не хотелось.

И мы придумали, как тогда казалось, отличную идею. Мы решили делать несложный анализатор кода, который помогал бы программистам портировать свои приложения для 64-битных версий Windows. Актуальность была вполне оправдана. До этого на прежней работе мы столкнулись с ситуацией крайне сложной ловли блох в программах, которые начали использовать более 4 гигабайт памяти. Инструментов просто не было. Вообще.

Нам казалось, что такой продукт обречён на успех. В то время бродили слухи, что через одно, максимум два поколения Windows станет исключительно 64-битным. Это повлечёт резкую волну спроса, и мы сможем получить хорошую прибыль в этот период массовой миграции. А затем, мы бы думали заняться другими проектами.

Но человек предполагает, а бог Microsoft располагает. Переход от Win32 к Win64 растянулся на огромный период времени и пока окончания поддержки Win32 не видно. Как результат, никакого всплеска потребности на такие программы не возникло. Интерес был и есть, но очень слабенький. Так что можно сказать первый продукт Viva64 для поиска 64-битных ошибок заметной прибыли не принес. Скорее, получилось в 0. А по началу, вообще приходилась подрабатывать аутсорсом.

Следующие два направления оказались ещё более неудачными. Это был анализ параллельных программ, построенных на основе технологии OpenMP и библиотека разбора кода VivaCore. В 2008-2009 очень много разговоров ходило о многоядерной архитектуре. Мы по натуре люди доверчивые. Мы поверили, что ещё немного, и без параллельности будет не прожить. А царицей параллельности будет OpenMP. Этого тоже не произошло.

На основе библиотеки VivaCore мы планировали делать специализированные инструменты на заказ, но не получили ни одного интересного предложения. И мы потихоньку свернули это направление. Нет, какие-то общения были. Но они были в духе: "Сделайте нам вот такой специализированный анализатор кода и отдайте нам его вместе с исходным кодом. А мы Вам заплатим 50 000 рублей. А быть может, даже целых 100 000 рублей". Было даже не смешно.

Первые успехи нас ждали только с появлением инструмента PVS-Studio. В начале в него входил анализ 64-битных программ (Viva64) и OpenMP программ (VivaMP). Для популяризации и от безысходности мы начали потихоньку делать анализ общего назначения. В начале эта часть анализатора задумывалась бесплатной. Она должна была существовать для привлечения программистов к платному функционалу (Viva64/VivaMP). Мы не верили, что в ближайшие годы сможем хоть как-то конкурировать в анализе общего назначения с Gimpel PC-Lint, Coverity и прочими акулами разного размера.

А потом, нам написал человек. Он спросил, надо ли покупать PVS-Studio, чтобы использовать анализ общего назначения. Мы ответили: "Нет. Он бесплатен. Но мы будем рады продать ему Viva64/VivaMP и оказывать поддержку". Человек: "О нет, спасибо. Раз он бесплатен, то более мне ничего не надо. Спасибо за хороший бесплатный продукт. Если бы надо было купить анализатор общего назначения, я бы купил. Мне он нравится. А потребности в Viva64/VivaMP у меня нет".

И тут в голове у нас щелкнуло. Вот оно. Это интересно людям. И первый релиз PVS-Studio 4.00 вышел уже с платным анализатором общего назначения. С тех пор именно диагностики общего назначения приводят к нам больше всего покупателей. При этом и продвигать их оказалось намного проще. Демонстрируемые примеры найденных ошибок просты и поняты.

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

История цен

Как я уже говорил, изначально мы думали о простом инструменте с массовым потреблением. Изначальная цена на Viva64 была около $400. А вот дальше начался длительный пересмотр цены:

  • $800;
  • €1600;
  • €3500;
  • €5250.

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

Происходило это приблизительно так. К нам приходят крупные компании и покупают лицензию на одного (ОДНОГО!) разработчика. Мотивировали они такую покупку разными причинами. Например, это могло выглядеть так:

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

Непонятно, как оспорить такую позицию. После очередного такого случая, мы просто убрали одиночные лицензии. Да, мы потеряли мелкие команды, но всё равно это было выгоднее, чем убеждать большие серьезные команды не жадничать. Со стороны это сложно, наверное, почувствовать. Попробую привести хоть какую-то аналогию.

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

Последние цены, которые были у нас на сайте, это:

  • €5250 за командную версию (до 5 человек);
  • от €9000 – Site License на большие группы разработчиков.

Естественно, основная цель таких лицензий и цен — это продавать Site License в крупные компании. И мы продаём такие лицензии. Немного, но продаём. Однако получившаяся ситуация нам самим не нравится. Получается, что мы потеряли все мелкие и средние команды. Для них такая покупка неоправданная. Конечно, сделать сейчас версию опять за $500 не вариант. Я не буду приводить здесь все рассуждения и подсчёты. Поверьте на слово — мы будем зарабатывать меньше, а поддерживать большее количество людей. Однако и оставить всё, как есть, плохо. Вот отсюда и идут наши поиски.

Идеальный подход к определению цены

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

Вот только беда — придумать такой счётчик. Непонятно, что и как считать. Конечно, в первом приближении кажется, что легко посчитать некие единицы размера проекта и на этой основе выставлять цену. В течение года мы много думали и обсуждали это направление. Однако чем больше думали, тем сложней всё оказывалось. Есть невероятное количество нюансов, которые превращают простую и понятную идею в нечто невразумительное и сложное в реализации. Всё это будет непросто объяснить потенциальному пользователю. Не буду погружаться глубоко в эту тему. Приведу только несколько моментов, обдумывая каждый из которых, можно ощутить всю сложность задачи.

  • Что делать с аутсорсерами, которые ведут не один постоянный проект, а много маленьких и средних? Одни проекты заканчиваются, другие начинаются.
  • Что, собственно, считать? Количество LOC очень шаткий параметр. А что делать со сторонними библиотеками? Как понять, что стороннее, а что нет? А если есть два основных проекта? А если это несколько веток одного проекта? А что, если компания разрабатывает только часть одного большого проекта?
  • Как защититься от обмана? Как понять, что убрали нолик из посчитанного результата? Городить сложный механизм для надёжной передачи данных? А как понять, что начали проверять другие проекты?
  • И так далее.

Уверен, что многие захотят поделиться своими идеями на темы подсчёта размера проекта. Прошу, не надо этого делать. Мы долго думали над всем этим и не смогли выработать адекватное и удобное решение. Если я не буду отвечать на выдвинутые идеи, это может показаться грубым. Вступать в длительные дискуссии я не хочу. Мы и так тут наобсуждались. Так что просто поверьте. Да, такой подсчёт сделать можно. Но сделать это просто, элегантно и красиво — нет.

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

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

Что сейчас с ценами PVS-Studio

Читатель, прочитав всё вышесказанное, может задать резонный вопрос: "Так какие же сейчас цены на анализатор кода PVS-Studio?". Отвечаю.

  • Цена для полновесных компаний с большим проектом и командой до 9 человек будет составлять около €5250. Около — потому, что кто-то может захотеть реализацию определённых пожеланий. Обратите внимание, что мы говорим о размере команды, а не о количестве пользователей программы.
  • Более крупные команды разработчиков или те, кому нужна расширенная поддержка, должны приобрести Site License, которая начинается от 9000 евро.
  • Небольшие команды могут рассчитывать на скидку. Скидка зависит от многих параметров. Пишите нам — пообщаемся.
  • Мы поддерживаем бесплатные Open-Source проекты и выдаём на время бесплатные ключи. Выдавать ключи на больший срок нам в тягость, так как всё равно со временем требуется поддержка. Ведь таких пользователей будет становиться всё больше и больше. Поэтому для них мы можем предложить совсем недорогие варианты. В общем, пишите — найдём компромисс.

Хочу подчеркнуть: наша цель — отталкиваться от размера проекта/команды, а не от количества инсталляций. Поэтому под размером команды имеется в виду именно размер команды, а не того количества людей, которые будут непосредственно запускать PVS-Studio.

Ждём всех, кто заинтересовался, в почте. Мы готовы к обсуждению различных вариантов покупки.

Триальная модель остаётся прежней. Версия имеет полную функциональность, но ограничена количеством "кликов". Кстати, скоро выйдет PVS-Studio 5.10, где мы представим первый вариант Standalone версии. Она будет способна проверять сгенерированные каким-либо образом *.i файлы. Это должно существенно расширить область возможного применения. Также Standalone версия содержит интерфейс для работы со списком сообщений и текстом программы. Всё это пока только для Windows. Однако это уже большой шаг вперёд.

С уважением, ваш милый Единорожка.