Почему PVS-Studio 4.00 будет платным решением :-(

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



Поддержка OpenMP была прекращена в PVS-Studio после версии 5.20. По всем возникшим вопросам вы можете обратиться в нашу поддержку.

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

Бесплатные наборы правил задумывались, как способ познакомить как можно больше программистов с PVS-Studio и попутно попробовать заинтересовать их выявлением 64-битных дефектов. Бесплатность, как мы надеялись, позволит нам свободней писать о нашем инструменте. Ведь все кругом старательно делают вид, что к бесплатным инструментам различные IT-сообщества относятся более лояльно. Мы подозревали, что это не совсем так, а теперь мы в этом убедились.

Поясню это на практическом примере. В свое время мы опубликовали ряд статей на CodeProject, многие из которых очень понравились программистам. Вот, например, статья "32 OpenMP Traps For C++ Developers" была признана статьей месяца. Но потом, администрация CodeProject решила, что хорошо бы взять с нас денег, за то, что мы написали про PVS-Studio. Но нет, они не сказали об этом напрямую. Они начали морочить нам голову на тему того, что CodeProject это портал открытых проектов, и раз пишите про PVS-Studio, то должна быть возможность что-то скачать бесплатное и запустить. Конечно, на самом деле они хотели денег, но прямо писать, почему то считается плохим тоном. У нас тогда вообще денег не было и мы сделали вид, что не поняли их намеки. В результате с CodeProject был удален ряд статей, в которых упоминались наши продукты, в том числе и статья "32 OpenMP Traps For C++ Developers". Критерий удаления был прост, где написано про Viva64/VivaMP - удаляем. Остались только наши самые плохие статьи (с точки зрения пользы читателям). Вот такая вот борьба за чистоту рядов.

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

.... However, your article 'Let the world tremble! We've released PVS-Studio 4.00 with a free general-purpose analyzer!' has been deleted because it is, unfortunately, an advertorial and not an article. We'd be more than happy to discuss some great rates for posting advertorials in our showcase section. ....

В общем, понятно, это не статья, это реклама (бесплатного инструмента!). Пожалуйте в платную секцию! Не могу их обвинить ни в чем. Им денег хочется. Нам, например, тоже хочется денег. Естественное желание. Но размещать информацию о бесплатном инструменте в платном каталоге, мы как-то морально не готовы, мы же не Google или Intel.

Итак, бесплатность анализатора для работы с CodeProject нам ничем не помогла. Не лучше дела и с Wikipedia. Как нас там удаляли, так и удаляют по-прежнему. Чтобы попасть на страничку типа "List of tools for static code analysis" с местной мафией мы не знакомы. Понятно, что надо найти нужного человека и "простимулировать" его, чтобы он написал о нас и т.д. Но душа протестует, таким образом продвигать бесплатное. Уж лучше тогда сразу платное продвигать. Только просьба не писать в ответ на тему свободы слова в Wikipedia и прочего.

В общем, лопнули все задумки, как можно использовать преимущество, что анализатор бесплатный. И вместо преимущества мы получили сложную систему лицензирования (один платный анализатор, два бесплатных). Люди начали спрашивать, так у вас платно или нет? А что платно?

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

Кто-то скажет что дороговато. Отнюдь нет. Во-первых, у лидеров рынка цены куда более заоблачные. А если сравнивать с продуктами класса Gimpel PC-lint, то мы считаем PVS-Studio лучше по многим параметрам. Например, не надо отдельно докупать графический интерфейс Visual Lint. Да, у того же PC-lint больше диагностических правил. Но это только ПОКА больше. А во вторых половина совершенно бесполезна для разработчиков использующих Visual Studio. Многие дефекты прекрасно обнаруживаются и компилятором Visual C++, а такие как "538. Размер массива больше 64 килобайт" просто бессмысленны. А мы смотрим в будущее. Например, на днях добавили правило "V554. Incorrect use of unique_ptr". Я искал во многих проектах, но нигде не нашел ошибки по использованию unique_ptr. Но не потому, что правило не нужное, а просто этим самым unique_ptr еще никто не пользуется (это из C++0x). А ошибки связанные с его использованием будут обязательно.

Этот текст написан как ответ на вопрос, почему мы вдруг передумали подарить миру бесплатный инструмент. Однако благодарю всех, кто присылал сообщения об ошибках и пожелания. Мы их очень ценим и многое уже реализовали или реализуем в скором времени. Да, сам инструмент по-прежнему легко скачать и попробовать. Доступна демонстрационная версия, единственное ограничение которой состоит в том, что она показывает расположение только 25% процентов ошибок в коде. Так что кто очень хочет халявы, и кому не нужна поддержка, тот может вычистить свой код, используя итерационный метод проверки :). Да, это упущение, и мы еще подумаем, как с этим быть. :)

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



Найдите ошибки в своем C, C++, C# и Java коде

Предлагаем попробовать проверить код вашего проекта с помощью анализатора кода PVS-Studio. Одна найденная в нём ошибка скажет вам о пользе методологии статического анализа кода больше, чем десяток статей.

goto PVS-Studio;

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


Найденные ошибки

Проверено проектов
346
Собрано ошибок
13 188

А ты совершаешь ошибки в коде?

Проверь с помощью
PVS-Studio

Статический анализ
кода для C, C++, C#
и Java

goto PVS-Studio;