﻿# Как посчитать количество разработчиков, на которое необходимо приобрести лицензию PVS\-Studio?

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

## Какие типы лицензий есть в PVS\-Studio?

PVS\-Studio предоставляет 2 типа лицензий: Team и Enterprise\. Подробнее про различия между типами лицензий PVS\-Studio можно почитать [здесь](https://pvs-studio.ru/ru/order/license/)\.

### Team\-лицензия

Team лицензия предназначена для небольших команд, и имеет ряд функциональных ограничений, относящихся к инструментам управления качеством процесса разработки: автоматические уведомления, централизованная работа с результатами анализа, интеграция с облачными сервисами, и ряд других\.

Team лицензия предоставляется для команд до 9 разработчиков \(включительно\)\.

### Enterprise\-лицензия

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

Enterprise лицензии подразделяются, в зависимости от количества разработчиков, на Enterprise30 \(до 30 разработчиков\), Enterprise50 \(до 50 разработчиков\) и Enterprise70 \(до 70 разработчиков\)\. Также возможно приобретение специальной Enterprise лицензии для большего количества разработчиков\.

## Что означает цифра после названия лицензии?

Указанное в названии лицензии число определяет количество разработчиков, **вовлечённых** в работу с PVS\-Studio** **в своих командах\. Под вовлечённостью мы подразумеваем **прямое или косвенное регулярное использование или получение пользы от использования** анализатора в команде\. Регулярным следует считать использование анализатора хотя бы **один раз в месяц**\.

### Прямое использование

Прямое использование анализатора — это непосредственный запуск анализатора локально или на сервере, а также работа с отчётом анализатора\. При этом отчёт может быть как сгенерирован локально, так и получен в виде рассылки или с помощью web\-интерфейса\.

### Косвенное использование

Косвенной вовлечённостью в использование анализатора является исправление или написание нового исходного кода в соответствии с рекомендациями PVS\-Studio, без непосредственной работы с отчётом анализатора – например, с помощью практик или стандартов написания кода, разработанных для использования со статическим анализатором; кросс\-ревью коллег по команде, которые работали с анализатором и т\. п\.

## Как посчитать количество пользователей для моей команды?

Расчёт общего количества разработчиков, вовлечённых в использование анализатора, зависит от того, сколько команд разработки будут использовать PVS\-Studio\. 

### Одна команда

Если работа с анализатором идёт в рамках одной команды, нужно считать всех членов команды вовлечёнными в процесс использования результатов анализа\. В рамках одной команды сложно выделить отдельных пользователей анализатора, т\. к\. напрямую или косвенно, вся команда при написании кода будет учитывать рекомендации анализатора\.

### Несколько команд

Когда анализатор используется в рамках нескольких команд, нужно посчитать всех вовлечённых в использование анализатора разработчиков из команд, в которых внедрена практика использования PVS\-Studio\. 

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

### Примеры возможных конфигураций команд

Если анализатор планируется использовать в одной команде **размером до 9 человек **включительно, вам подойдёт лицензия **Team** \(при отсутствии дополнительных требований к функциональности, [доступной только в Enterprise лицензии](https://pvs-studio.ru/ru/order/license/)\)\.

Если в команде, где будет использоваться анализатор, **более 9 человек**, вам потребуется Enterprise лицензия с количеством лицензионных мест не менее, чем членов в вашей команде \(обычно для такого сценария лучше всего подходит лицензия **Enterprise30 **для команд до 30 разработчиков\)\.

Если вы планируете использовать анализатор **сразу в нескольких командах**, вам нужно посчитать во всех командах людей, которые будут вовлечены в работу с анализатором \(либо работая с результатами анализатора напрямую, либо просто участвуя в улучшении кода на основе работы анализатора\)\. Для такого сценария вам подойдёт **Enterprise** лицензия с количеством мест не менее, чем все вовлечённые в использование результатов анализа разработчики из всех команд, пользующихся анализатором\.

## Как контролировать количество пользователей лицензии в командах

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

### Стоит ли учитывать количество установок анализатора?

Количество установок анализатора **не влияет на расчёт количества требуемых лицензионных мест**\. Один разработчик может использовать анализатор сразу на нескольких машинах — это считается использованием одного лицензионного места\. Если несколько разработчиков работают с результатами анализа, полученными от одной установки анализатора \(например, на CI сервере\), следует считать количество используемых лицензионных мест по количеству таких разработчиков\. Отдельной лицензии для самого CI сервера выделять не требуется\.

### Есть ли floating\-лицензии?

Лицензия PVS\-Studio **не поддерживает floating модель**\. Одновременность использования лицензии разработчиками не учитывается при расчёте общего количества пользователей, вовлечённых в использование анализатора – необходимо посчитать всех регулярных пользователей \(не менее раза в месяц\) анализатора, даже если они никогда не будут использовать анализатор одновременно\.

### Примеры для команд разных составов

В случае использования лицензии **в одной команде** достаточно просто контролировать размер этой команды \- он не должен превышать количество лицензионных мест, предоставляемых используемой лицензией\.

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

## Почему мы считаем пользователей лицензии именно таким образом?

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

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

Именно поэтому важно учитывать общее количество вовлечённых в использование анализатора пользователей – даже если анализатор не используется всеми этими пользователями одновременно, каждый из них может обратиться в нашу поддержку, и его запрос будет обработан\.