Платная разработка дополнительных диагностик в анализаторе кода PVS-Studio
Для наших клиентов мы вводим услугу ПЛАТНОЙ разработки диагностик на заказ. Мы вынуждены признать, что имеющийся на данный момент список пожеланий по разработке новых диагностик наша команда не выполнит и за пять лет. Однако, несмотря на это к нам продолжают и продолжают поступать новые интересные диагностики. Их присылают пользователи trial-версий и клиенты. Дополнительно этот список пополняется примерами из книг и статей. Поэтому пришло время отделить простые пожелания и рекомендации по улучшению анализатора от задач, которые по-настоящему важны для наших пользователей. Хорошим критерием приоритетности может стать плата за новые диагностики.
Сразу хочется отметить, что мы готовы браться далеко не за все диагностики. Часто идеи для новых диагностик оказываются "плохими". Вот что такое "плохая диагностика" с нашей точки зрения:
- Слишком малое количество полезных срабатываний в реальном мире.
- Слишком большое количество ложных срабатываний.
- Слишком большое количество срабатываний при низком критическом уровне данной ошибки, то есть диагностика сработала правильно, но исправлять проблему не обязательно.
- Слишком сложная реализация в рамках нашего анализатора.
Мы стараемся объяснять людям, почему та или иная диагностика на наш взгляд является плохой, и почему ее делать не стоит. Но сейчас мы подошли к тому, что даже хороших диагностик у нас очень много в списке дел. Причем коммерческие пользователи естественно ожидают от нас большей скорости реакции на их пожелания.
Мы пришли к необходимости как-то выбирать, какие диагностики делать в первую очередь, хотя бы для наших существующих коммерческих клиентов. Идея вот в чем.
Если вы являетесь коммерческим клиентом PVS-Studio и хотите предложить незамедлительно реализовать какую-то диагностику, то мы готовы это сделать по предварительной оплате с вашей стороны. Порядок действий будет такой:
- У вас есть идея для создания диагностики, которая как вам кажется была бы полезной (для всех или только для вашего проекта – не важно).
- Вы пишете нам описание этой диагностики, мы говорим насколько она хороша или плоха. Если она хороша, то предлагаем оплатить ее.
- Вы оплачиваете.
- Мы реализуем диагностику в течение одного месяца (обычно быстрее), выдавая периодически бета-версии вам для тестирования.
Если вы не готовы оплатить разработку диагностики, то она всё равно попадёт в список пожеланий и со временем будет реализована, но время ожидания неопределённо и может продлиться несколько лет.
Мы думаем это справедливый подход. Оплачивая диагностику, вы демонстрируете что поиск определенных дефектов действительно важен. Просим нас понять. У нас очень много пожеланий от клиентов. Но определить, что действительно важно, а что нет, мы не можем.
Надеемся, что такой способ определения приоритета окажется удобным и клиентам, и нам как разработчикам.