Як використовувати PVS-Studio безкоштовно

PVS-Studio FreeМи хочемо допомогти світу програмного забезпечення краще познайомитися з інструментами статичного аналізу коду та підвищити якість програмного забезпечення. Ми надаємо можливість безкоштовного використання аналізатора PVS-Studio студентам у навчальних цілях, індивідуальним розробникам і колективам ентузіастів.

Введення
Клієнтами аналізатора PVS-Studio є відділи розробників різних компаній. Ми б хотіли, щоб нашими клієнтами були й індивідуальні розробники. На жаль, у нас нічого не вийшло з експериментальним продуктом CppCat. Ми не знаємо, як побудувати успішний бізнес у сфері статичного аналізу коду, продаючи персональні ліцензії. Тому зараз продукт PVS-Studio позиціонується виключно як B2B рішення.

Думаю, що наш провал з CppCat був визначений. Світ диктує свої закони, і, наприклад, той же Coverity орієнтований на корпоративні ліцензії. Однак, це не означає, що потрібно виключати інші варіанти взаємодії зі світом.

Ми довго думали, як допомогти маленьким командам розробників або як поширювати академічні ліцензії. На перший погляд здається, що найпростіший шлях — дарувати ліцензії тим, хто розвиває безкоштовне програмне забезпечення. На жаль, це рішення не здається нам правильним.

Варто пояснити нашу позицію. Втім, якщо вам не терпиться, ви можете відразу перейти до розділу «Безкоштовна ліцензія PVS-Studio». Якщо ж читачеві цікаво дізнатися подробиці, то пропоную продовжити читання.

Роздуми
Уявімо індивідуального розробника, що розробляє і продає, наприклад, якусь гру. Код закритий і використовується в комерційних цілях. Тим не менш, ми раді допомогти йому познайомитися з методологією статичного аналізу коду і готові подарувати йому ліцензію. Це рекламний крок, який з часом може окупитися. Зараз він один, але хто знає, що відбудеться через 5 років.

З іншого боку, візьмемо команду з 50 осіб, які працюють у великій компанії і займаються створенням відкритого безкоштовного проекту. Сидять 50 чоловік в офісі, їдять печиво, отримують зарплату і при цьому позиціонують себе як ідеалісти в плані розвитку вільного програмного забезпечення. Так, продукт безкоштовний, але компанія отримує з його існування значний прибуток непрямими методами. Просто з ряду причин компанії зручно, щоб проект був відкритим і безкоштовним. Нам здається цілком чесним, що така організація повинна придбати платну ліцензію для використання аналізатора.

Як бачите, критерій безкоштовності програми або відкритості коду нам не підходить для прийняття рішення. Хочеться розділити проекти, що розробляються в компанії, і проекти маленьких колективів ентузіастів. Можна зробити це виключно ліцензійною угодою, але у такому разі складно провести межу між різними типами проектів. До того ж, це мало допоможе нам з точки зору реклами. Давайте будемо чесні: компанії надають безкоштовні ліцензії заради реклами. У цьому ми не гірше і не краще за інших.

Рішення було знайдено інтуїтивно. Що відрізняє корпоративні проекти від проектів ентузіастів? У корпоративних проектах менше свободи і більше бюрократії. Навряд чи керівництво компанії Microsoft буде рада, якщо розробник у коді Microsoft Office напише, що це його персональний проект. Цим треба скористатися і пропонувати вносити код правки, в яких згадується PVS-Studio. Заодно код відкритих проектів буде рекламувати PVS-Studio.

Безкоштовна ліцензія PVS-Studio
Вам потрібно виконати два кроки, щоб почати безкоштовно використовувати статичний аналізатор PVS-Studio.

Крок 1.
Якщо ви використовуєте PVS-Studio як плагін до Visual Studio, введіть наступний ключ:

Name: PVS-Studio Free

Key: FREE-FREE-FREE-FREE

Якщо Ви використовуєте PVS-Studio for Linux, то відразу переходите до другого кроку, файл з ліцензією вам не знадобиться.

Крок 2.
Внесіть правки в усі компилируемые файли вашого проекту. Маються на увазі файли з розширеннями c, cc, cpp, cs і так далі. Відмінності h-файли міняти не потрібно.

Ви повинні вписати в початок кожного файлу дві рядка з коментарем. Ми пропонуємо на вибір декілька варіантів. Це свого роду плата за можливість безкоштовного використання аналізатора PVS-Studio.

Коментарі для студентів (академічна ліцензія):

// This is a personal academic project. Dear PVS-Studio please check it.
// PVS-Studio Static Code Analyzer for C, C++ and C#: www.viva64.com

Коментарі для відкритих безкоштовних проектів:

// This is an open source non-commercial project. Dear PVS-Studio please check it.
// PVS-Studio Static Code Analyzer for C, C++ and C#: www.viva64.com

Коментарі для індивідуальних розробників:

// This is an independent project of an individual developer. Dear PVS-Studio please check it.
// PVS-Studio Static Code Analyzer for C, C++ and C#: www.viva64.com

Звичайно, запропоновані варіанти підходять далеко не всім. В цьому і полягає їх зміст. Якщо жоден із запропонованих варіантів вам не підходить, то пропонуємо обговорити з нами питання покупки ліцензії.

Примітка Крім описаного способу безкоштовного використання аналізатора, ви можете, як і раніше скачувати з сайту демонстраційну версію аналізатора для ознайомлення. Якщо ви хочете на час зняти обмеження демонстраційної версії, то просимо написати нам.

Автоматизація
Якщо у вашому проекті багато файлів, то ви можете скористатися допоміжною утилітою. Ви повинні будете вказати їй якийсь коментар вставляти і каталог з кодом. Потім утиліта рекурсивно обійде всі файли в папці і підпапок, додаючи в файли з вихідним кодом відповідні коментарі. Завантажити утиліту (разом з вихідним кодом) можна тут: how-to-use-pvs-studio-free.

Висновок
Деякі розробники можуть сказати, що не хочуть бачити на початку файлу дві строчки з коментарем, що не відносяться до суті проекту. Це їх право, і вони можуть просто не використовувати аналізатор. Або вони можуть придбати комерційну ліцензію і використовувати її без обмежень. Ми розглядаємо наявність цих коментарів, як подяку за надану ліцензію і, заодно, як додаткову рекламу нашого продукту. Я думаю, це хороший, чесний обмін.

Заодно вирішується питання відділення корпоративних проектів від приватних ініціатив. Якщо проект роблять ентузіасти, вони в праві робити з кодом все, що їм хочеться, в тому числі і додавати такі коментарі. Якщо ні, значить за проектом стоїть якась організація, від якої ми хочемо отримати винагороду у вигляді придбання ліцензії.

Сподіваємося наша пропозиція і позиція зрозумілі. Якщо у вас є питання, то просимо написати нам.

Щоб переконати ваших колег почати використовувати аналізатор коду PVS-Studio, пропонуємо познайомити їх з наступними розділами нашого сайту:Дякую за увагу. Давайте разом зробимо програми надійніше і безпечніше.


Якщо хочете поділитися цією статтею з англомовної аудиторією, то прошу використовувати посилання на переклад: Andrey Karpov. How to use PVS-Studio for free.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.