Start here

Home
About Klocwork
What's new
Fixed issues
Release notes
Installation

Reference

C/C++ checkers
Java checkers
C# checkers
MISRA C 2004 checkers
MISRA C++ 2008 checkers
MISRA C 2012 checkers
MISRA C 2012 checkers with Amendment 1
Commands
Metrics
Troubleshooting
Reference

Product components

C/C++ Integration build analysis
Java Integration build analysis
Desktop analysis
Refactoring
Klocwork Static Code Analysis
Klocwork Code Review
Structure101
Tuning
Custom checkers

Coding environments

Visual Studio
Eclipse for C/C++
Eclipse for Java
IntelliJ IDEA
Other

Administration

Project configuration
Build configuration
Administration
Analysis performance
Server performance
Security/permissions
Licensing
Klocwork Static Code Analysis Web API
Klocwork Code Review Web API

Community

View help online
Visit RogueWave.com
Klocwork Support
Rogue Wave Videos

Legal

Legal information

How licensing works

How licensing works

This section discusses how licensing works. Basic License Server installation and setup is straightforward, and is covered in Installing Klocwork.

Klocwork issues build licenses, user licenses and, continuous integration licenses.

Build license

What tools consume a build license?

How the build license works

  • A build license is checked out when any of the above tools is started and returned when the tool exits. The license is available for other hosts after the linger time expires.
  • One build license is checked out for each unique host.
  • All tools that consume a build license are reserved for that host.
  • If you have installed components from both the Server and desktop analysis plug-in packages on a single host, and you run tools from both packages simultaneously (for example, using Klocwork Desktop Java Plug-in for Eclipse as well as running kwbuildproject), you will use two licenses (in this case, a user license and a build license).

User license

What tools consume a user license?

How the user license works

Klocwork Desktop tools check out one user license for each unique user ID, where the user ID is the name used to log in to the operating system (OS) (e.g. jsmith or 'John Smith'). When using Klocwork Desktop or the Klocwork plug-in for Visual Studio or Eclipse, be sure to use the same user ID you used to log in to your operating system. If you use a different user name to log in to either of these tools than was used to log in to your OS, an extra license will be consumed.

If you have different user IDs when you log in to different operating systems, one license will be consumed for each (For example, Windows login: 'John Smith', Linux login: jsmith – a total of two licenses will be consumed). Once a license is checked out by a user, the rest of the user tools listed above are reserved for them. For example, you can use any number of these tools as one occurrence of a user license, as long as you log in with the same user ID.

Example 1: LDAP or Single sign-on

If you have LDAP or Single sign-on configured and you attempt to log in to both a Windows and a Linux machine where the user credentials are different, two licenses are consumed.

For example, a user, John Smith, logs into Windows with full name ('John Smith'), and logs into his Linux machine which uses a short name like 'jsmith'. In this case, if John Smith uses Klocwork from Windows and Linux, two licenses are consumed.

Example 2: Alternate access methods

If you use an alternate access method such as NIS or Basic, a license is checked out for each user that logs into Klocwork or Code Review. When logging in, be sure to use the same login credentials that is used when running the command line tools. If you do not, an extra license may be consumed.

Continuous Integration license

What tools consume a Continuous Integration license?

  • kwconan
  • kwbuildproject (only when the --conan option is specified)
  • Klocwork TeamCity plugin
  • Klocwork Jenkins plugin

How the continuous integration license works

A continuous integration license is checked out when:
  • kwconan is invoked, or;
  • when kwbuildproject is invoked with the --conan option, or;
  • during the kwconan stage of the TeamCity and Jenkins plugin
The license is returned after kwconan exits.

One continuous integration license is checked out for each unique host that the above tools are run on. For TeamCity, a license is required for each agent and for Jenkins, a license is required for each slave. The license is then reserved for the host it was checked out on.

Definitions: Time-out, linger, fixed and individual

Klocwork offers build, continuous integration and user licenses. Build licenses are used to run the Klocwork integration build analysis on a build server, and so build licenses are always node-locked to a host name, or "fixed". A fixed build license has a long linger period, generally two weeks (1,209,600 seconds).

Continuous Integration (CI) licenses are used when kwconan is invoked, when kwbuildproject is invoked with the --conan option, or during the kwconan stage of the TeamCity and Jenkins plugin. They allow you to analyze and access the results of Continuous Integration builds. A CI license also has a linger period of two weeks (1,209,600 seconds).

User licenses are used by everyone who uses Klocwork tools. A user license (sometimes called an "individual" license) has a linger time of 7 days (604,800 seconds). "Linger" is the amount of time after the last use of a license before it is free for another user to check out. Note that linger times start at the end of the inactivity time-outs that some Klocwork components have.

Detailed look at how the user license works

Tool Licensing behavior
Klocwork Static Code Analysis Klocwork Code Review Checks out a license when you log in and returns it when you log out or after 30 minutes of inactivity. You can have Klocwork Static Code Analysis open in two different browsers, for example Internet Explorer and Mozilla Firefox, as long as you are logged into both with the same user ID. You will still be consuming just one user license. Logging in to Static Code Analysis with the same user ID on an additional machine will cause any existing sessions for that user ID to be logged out. Returning to a machine logged out in such a way and performing any action will cause the Login dialog to appear.
Plug-in for Visual Studio C/C++ Checks out a license when you open a solution or workspace. Returns the license when you close Visual Studio, or when the 20-minute time-out period expires.
Note: When the license is returned after the time-out expires, the license is not available to other users until the linger period expires.
Plug-ins for Visual Studio C#, Eclipse Java, Eclipse C/C++ and IntelliJ IDEA, plus Klocwork Desktop Checks out a license when you run an Klocwork task, such as running an analysis (including C/C++ continuous analysis). Returns the license when you close Visual Studio or after 20 minutes of inactivity. In Eclipse, the license is returned after 20 minutes of inactivity, if Eclipse is closed or restarted, or if the user switches workspaces.
Note: When the license is returned after the time-out expires, the license is not available to other users until the linger period expires.
kwcheck and kwciagent Checks out a license when you run the command and returns it when the command completes.