How to correctly determine the number of developers when choosing a PVS-Studio license?
- What types of licenses does PVS-Studio have?
- What does the number at the end of the license name mean?
- How do I count the number of users for my team?
- How do I control the number of license seats in teams?
- Why do you count license users this way?
This section describes the meaning behind the 'number of developers' clause in the PVS-Studio license and how to count team members who utilize the analyzer.
What types of licenses does PVS-Studio have?
PVS-Studio offers two types of licenses: Team and Enterprise. You can read more about differences between the license types here.
Team license
The Team license is intended for small teams. It also has some feature limitations associated with the development process quality management tools: automatic notifications, centralized work with the analysis results, integration with cloud services, and others.
Team license is provided for a team of nine people or fewer.
Enterprise license
The Enterprise licenses are intended for medium and large teams and do not have any limitations on the analyzer features. A single Enterprise license can be used by more than one team in a company at once. This includes several small teams.
Depending on the number of developers, Enterprise licenses are divided into Enterprise30 (30 developers or fewer), Enterprise50 (50 developers or fewer), and Enterprise70 (70 developers or fewer). You can also purchase a custom Enterprise license for more than 70 developers.
What does the number at the end of the license name mean?
The number at the end of the license name determines the number of developers involved in working with PVS-Studio within their teams. By involvement, we mean those developers who directly or indirectly use the analyzer regularly, or benefit from the analyzer being used in the team. We define the use of the analyzer as regular when it is utilized at least once a month.
Direct use
Developers use the analyzer directly when they run it locally or on a server, and work with the analyzer report. The report can be generated both locally and obtained through a mailing list or web interface.
Indirect use
Developers use the analyzer indirectly when they fix coding defects or write the source code by following PVS-Studio analyzer's recommendations — without working with the analyzer report directly. For example, the developers can employ practices or coding standards which are developed to be used with the PVS-Studio static analyzer; take part in cross-reviews with teammates who worked with the analyzer, etc.
How do I count the number of users for my team?
The total number of developers involved in using the analyzer depends on how many development teams will be using PVS-Studio.
One team
If the analyzer is used by a single team, you need to consider all of team members to be involved in the process of using the analysis results. Within one team, it is difficult to single out individual users of the analyzer. Either way, directly or indirectly, the entire team will take into account the analyzer's recommendations when writing their code.
Several teams
When the analyzer is used by several teams, you need to count all the developers involved in using the analyzer within these teams.
Use of the analyzer may also affect the source code developed in parallel by other teams who do not deploy PVS-Studio as part of their respective development processes. In such a case, the developers from the teams which are not involved in using the analyzer can be skipped when counting a required total number of license seats.
Examples of possible team configurations
If you plan to use the analyzer within one team of up to and including 9 people, the Team license will suit you (as long as there are no additional requirements for the functionality available only in the Enterprise license).
If there are more than 9 people in a team where the analyzer will be used, you will need an Enterprise license with at least the same number of license seats as your team members (usually the Enterprise30 license for teams of up to 30 developers is best suited for such a scenario).
If you plan to use the analyzer in several teams at once, you need to count all team members who will be involved in working with the analyzer (either by reviewing the analysis results directly or by simply participating in the process of improving code quality based on analyzer results). For this scenario, you need one Enterprise license. The number of license seats must be greater than or equal to the total number of developers within those teams that are involved in using the analyzer.
How do I control the number of license seats in teams?
We provide a single, common license key for each PVS-Studio license. You do not need the license server installation or connection. Registration of individual license users is not required as well. Therefore, to control the number of license seats, you need to count potential users in advance.
Does the number of license seats depend on the number of analyzer installations?
The number of analyzer installations does not affect the required number of license seats. A single developer can use the analyzer on several machines at once — this counts as a single license seat. If several developers work with the analysis results obtained from a single analyzer installation (for example, from a CI server), you need to count the number of license seats by the number of such developers. A separate license for the CI server is not required.
Do you have floating licenses?
PVS-Studio does not support floating licensing. The simultaneous use of a license by developers is not taken into account when counting the total number of users involved in using the analyzer — all regular users (those who use the analyzer at least once a month) should be counted, even if they will never use the analyzer simultaneously.
Examples for teams with different composition
If a license is used by one team, it is enough to simply control the size of this particular team — the number of team members should not exceed the number of license seats provided by the license.
If a license is used by several teams, it is necessary to count the number of developers who will be involved in working with the analyzer in each team. Due to the fact that the composition of development teams may change during the use of the analyzer, small fluctuations in the number of users are acceptable, even if this leads to a slight (no more than 10%) excess of the total nominal number of license seats. If the excess is larger than 10%, or more teams start using the analyzer, you need to upgrade the license.
Why do you count license users this way?
The main measure of the PVS-Studio analyzer usage is the support we provide to our clients. Support provides assistance with integration and initial setup, works with false positives that are inevitable for any static analyzer, implements new diagnostics and enhances the analyzer capabilities.
The more teams and their members are involved in using the analyzer, the more PVS-Studio support teams need to interact with the users. Even those developers who use the analyzer indirectly, when working with the source code and following PVS-Studio's recommendations, still generate feedback on diagnostic capabilities of the analyzer.
That is why it is important to take into account the total number of users involved in using the analyzer – even if the analyzer is not used by all these users simultaneously. Each developer can contact our support and their request will be answered.