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

Итак, все началось со статьи: Как пользоваться PVS-Studio бесплатно.

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

Теперь мы решили проследить, как бесплатная версия PVS-Studio будет распространяться среди сообщества GitHub. Для этого мы связались с теми разработчиками GitHub, которые уже используют бесплатную версию нашего анализатора. Возможно, прочитав несколько обзоров, некоторые разработчики захотят начать использовать анализатор в разработке своих проектов.

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

Что о нас говорят

Ниже вы найдете несколько отзывов от разработчиков GitHub, которые используют бесплатную версию PVS-Studio.

Евгений Лепихин (проект TrafficProcessor):

Я мало пишу на C ++ и еще реже использую статические анализаторы кода (их мало кто работает под Linux). По сравнению с lint, ваш анализатор был легко установлен и легко интегрирован в IDE. О качестве самого анализатора много сказать не могу - у меня в этом нет большого опыта. Но работает, не дает сбоев и этого уже достаточно.

Алексей Шадин (проект NppKate):

В целом работой анализатора я доволен, спасибо команде PVS-Studio за проделанную работу. К сожалению, мой проект очень маленький; перед покупкой использовался анализ, который проводится MS Visual Studio 2015, поэтому список потенциально проблемных мест был очень маленьким (менее 10 пунктов). Понравился также интерфейс, по описанию предупреждения понятно, как исправить ошибку. Спасибо за улучшение продуктов с открытым исходным кодом! Я также буду использовать этот инструмент и другие проекты с открытым исходным кодом, если политика компании не изменится.

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

Сергей Жейгуров (проект ToolsGenGkode):

Я очень доволен вашей программой, особенно тем, что могу использовать ее без необходимости покупать, потому что программирование на C # - всего лишь мое хобби, и покупка лицензии для меня нецелесообразна. Однако поиск ошибок очень полезен из-за отсутствия у меня опыта работы с C #. Я очень рад, что ваша компания предоставила возможность пользоваться программой бесплатно :-)

Алибек Омаров (проект cs16-client):

Я давно слежу за новостями PVS-Studio и принимал участие в бета-тестировании анализатора для Linux. Я «раздавлен». Инструмент выполняет свою работу по поиску опечаток в контексте, и делает это очень хорошо. Бесплатная лицензия мне очень помогла, потому что я индивидуальный разработчик и, тем более, разработчик-любитель.

Алексей Лесовский (проект pgcenter):

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

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

Григорьев Виталий - специалист по безопасности сетевых приложений:

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

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

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

Другой - у вас нет возможности проверить, является ли проект открытым или нет.

Еще один момент - как вы собираетесь продвигать свой инструмент среди программистов, если хотите привлечь иностранных программистов, но «реклама» скрыта внутри кода? Вы должны продвигать свой анализатор среди крупных проектов на GitHub; но даже те большие программы, которые абсолютно бесплатны, не согласятся добавлять комментарии к своим файлам.

Предлагаю взглянуть на то, как Soverity Scan делает свою рекламу - у них есть сайт для бесплатного использования инструмента и полной интеграции с различными репозиториями… Интеграция с Travis-CI и так далее. В дополнение к этому есть реклама в виде тега README, который видят все. Такой подход исключает все перечисленные выше недостатки. Вот почему Coverity используется во всех остальных проектах Git. Также, я думаю, вы уже рассматривали такой вариант, но почему-то не решились на это. Вероятно, это связано с тем, что ваше действие носит временный характер или вызвано расходами на разработку нового веб-сайта.

Еще один минус - вы пишете очень длинные, но не очень полные руководства по настройке (например, интеграция с системой сборки Cmake в Linux и т. д.). В них очень мало пользовательских кейсов и практических компонентов. Количество различных проектов действительно велико, и они строятся по-разному, но примеры приведены для одного или двух простейших случаев…

Если бы вы сделали свое расширение для CLion, но не использовали другие подходы - это было бы очень полезно. Практически все компании, разрабатывающие программы для Linux, перешли на CLion, и количество людей, которые до сих пор используют «Vim и аналоги», уменьшается. В общем, рекомендую взглянуть на продукцию JetBrains, а точнее TeamCity и YouTrack. Это инструменты, которые используются практически ВСЕМИ крупными и средними компаниями, и интеграция PVS-Studio будет очень правильной бизнес-моделью.

Спасибо, Виталий, за столь подробный обзор, но все же есть моменты, которые стоит прокомментировать.

  • Бесплатная версия PVS-Studio - это не временное действие, это делается постоянно. Мы рады, что можем помочь увлеченным разработчикам бесплатно использовать коммерческий продукт.
  • Да, Coverity является для нас примером, и мы стараемся ему следовать: эта компания для нас действительно авторитет. Однако в отношении бесплатной лицензии мы решили пойти другим путем: мы хотим сделать бесплатную лицензию не только для проектов с открытым кодом. И в этом есть некоторые преимущества для разработчиков. Да, мы не сможем проверить честность разработчика, но те компании, которые уважают себя, не будут использовать методы обмана, а те, кто будут, в любом случае не являются нашими клиентами.
  • Кстати о CLion. PVS-Studio для Linux появился совсем недавно, интеграцию анализатора мы осуществили через файл проекта CMake (так он выглядит и настроен http://www.viva64.com/ru/m/0036/ ). Сейчас мы рассматриваем возможность выпустить расширение для IDE.

Вывод

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

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

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