2 License Management

2.1 Product Activation

RStudio Desktop Pro supports several licensing techniques, each with different connectivity, installation and configuration features.

  • license file
  • license key
  • floating license

2.1.1 Activation Basics

As the evaluation period or a previously installed license nears expiration, a warning bar will appear at the bottom of RStudio.

When a license expires, the warning bar will indicate that the license has expired. If the license expires entirely while RStudio is being used, an error is displayed, after which RStudio will close.

Do not let users continue using the product right up to the end of this grace period, as it could result in lost work.

Purchase a license to continue using the product. The license will be delivered as a license file (.lic) or a license key.

It is not necessary to wait until the evaluation period has expired to install a license.

2.1.2 License File Activation

If you received a license file (.lic), click Select license file… in the Manage RStudio License dialog, and browse to the file.

Once the file is imported and validated, RStudio Desktop Pro will be ready for use. The Manage RStudio License dialog will now show details on the installed license, and buttons for updating or removing the license.

Select new license file… will replace the existing license with that from a new license file.

Remove license… will delete the current license, and a new license will need to be installed to continue using the product (if the evaluation period has also expired).

2.1.3 License Key Activation

If you received a license key, click Activate with license key… in the Manage RStudio License dialog. Paste the key into the field and press Activate.

If the computer cannot be connected to the internet, then you will need to use Offline Activation, instead. Click the button and follow the instructions.

Once RStudio is activated via license key it is ready for use.

When displayed via Help/Manage License, the Manage RStudio License dialog now provides three options.

  1. Use Deactivate License… before activating the the same license key on a different computer.

  2. Refresh License… is used when the expiration date on your existing license has been changed (e.g. you have renewed the license). It will update the expiration date used by RStudio Desktop Pro. This only works if computer is connected to the internet, otherwise use Offline Deactivation… followed by Offline Activation….

  3. Offline Deactivation… is used to remove a license if the computer cannot be connected to the internet.

2.2 Connectivity Requirements

Internet connectivity is required to activate or deactivate RStudio Desktop Professional with a license key, or to start the evaluation period inside a virtual machine. Internet connectivity is not required to use RStudio after the license has been activated, nor is it required for activation and deactivation with license files.

Your computer should have a synchronized system clock via a clock syncing service. If the computer’s clock is sufficiently incorrect, licensing verification will fail.

2.2.1 Proxy Servers

If your computer is behind an internet proxy, you may need to provide the address and credentials required to communicate through the proxy. This may not be necessary if either the http_proxy or all_proxy environment variable is defined (these are read and used by the license manager when available).

If you do need to specify a proxy server explicitly you can do so by entering them on the Proxy tab. They will be saved and used for all subsequent attempts to contact the activation server.

Proxy settings can include a host-name, port, and username/password if necessary. The following are all valid proxy configurations:

http://127.0.0.1/
http://127.0.0.1:8080/
http://user:pass@127.0.0.1:8080/

If the port is not specified, the license manager will default to using port 1080.

Instead of environment variables, the Administrator Configuration Options may also be used to preset the proxy server information on a system.

2.2.2 Offline Licensing Operations

If necessary, these operations may be performed offline as described in the respective sections of this manual.

  • activate or deactivate with a license file
  • activate a license key
  • deactive a license key
  • begin an evaluation on an offline virtual machine
  • extend an evaluation

2.3 Evaluations

2.3.1 Beginning Evaluations

In most configurations an evaluation starts automatically when RStudio is run for the first time by a given user account on a given computer.

Computer Type Internet? Evaluation
Physical Yes Automatic
Physical No Automatic
Virtual Yes Automatic
Virtual No Manual (Offline Evaluation Activation, or license file-based trial)

For the final case, a virtual machine without internet access, “Offline Evaluation Activation” UI will be shown to the user, and they will need to step through a multi-step process and work with RStudio support to obtain an offline evalaluation key.

Alternatively, for both online and offline scenarios, a license file may be supplied by RStudio to enable a trial period, in which case it is installed in the same fashion as a regular license file as described in License File Activation.

2.3.2 Extending Evaluations

If you are unable to evaluate RStudio Desktop Pro during the initial evaluation period, you can request an extension from RStudio support. As with beginning the evaluation, there are variations in the process depending on the configuration. The Manage RStudio License dialog will automatically show the available option(s) for a given configuration.

Computer Type Internet? Request from support
Physical Yes Evaluation extension key
Physical No Offline evaluation extension key
Virtual Yes Evaluation extension key
Virtual No UI walks user through steps to generate a request for an offline evaluation extension file.

In the most common scenarios, the user must request an extension key (regular or offline) from RStudio customer support () and paste it into the extension UI in the Manage RStudio License dialog.

Alternatively, for both online and offline scenarios, a license file may be supplied by RStudio to extend a trial period, in which case it is installed in the same fashion as a regular license file as described in License File Activation.

2.4 Floating Licensing

Floating licensing allows running RStudio on a set of desktops without the need to activate a license on each computer.

To use floating licensing, you run a small, lightweight server, which holds a license that grants you the right to run a certain number of concurrent RStudio Desktop instances.

This server is intended to operate within a company firewall, and each instance of RStudio Desktop requires access to it when starting and renewing its lease, so it is only suitable for on-premise computers.

2.4.1 Floating License Keys

A license key which distributes floating license leases is not the same as a traditional license key, and the two cannot be used interchangeably. If you have purchased traditional license keys and wish to exchange them for a floating license key, or vice versa, please get in touch with RStudio customer support ().

2.4.2 The RStudio License Server

The RStudio Desktop Professional License server supplies licenses to RStudio Desktop Professional instances. It is available for Linux, Mac, and Windows. A license server can supply licenses to any platform; for instance, you can run your license server on Windows and distribute licenses to RStudio Desktop Pro instances running on macOS.

2.4.2.1 Linux

The RStudio License Server site contains Linux license server downloads for all RStudio products. Download and install the license server for RStudio Desktop Pro. On Linux, you then activate your license key with the command:

$ sudo dpkg -i rstudio-license-server-1.0.9-x86_64.deb
$ sudo rstudio-license-server activate <product-key>
$ sudo rstudio-license-server start

The file /etc/rstudio-license-server.conf contains configuration settings for the RStudio Desktop Pro License server, including the network port to listen on and any proxy settings required for connecting to the internet.

2.4.2.2 Mac and Windows

The RStudio License Server site contains downloads for the Mac and Windows license servers. These require a few additional configuration steps. They can be set up as follows (order is important):

  1. Download the license server (TurboFloatServer) appropriate to your platform, and place it in the directory where you wish it to run.
  2. Copy the file license-manager.conf from your RStudio Desktop Pro installation to the same directory as TurboFloatServer, and change its name to TurboActivate.dat. See table below for where to find this file on each platform.
  3. If activating online, run the command TurboFloatServer.exe -a="ABCD-EFGH-IJKL-MNOP-QRST-UVWX".
  4. If activating offline, follow the offline activation steps. Note that it is necessary to supply the fully qualified path to file arguments to TurboFloatServer, even if they are in the same directory as the executable.
  5. After successful activation, TurboFloatServer.exe -i with administrator permissions. This will install the license server as a service that will start automatically and run in the background.
OS Default Location of license-manager.conf
Windows C:\Program Files\RStudio\bin\license-manager.conf
macOS /Applications/RStudio.app/Contents/MacOS/license-manager.conf
Linux /usr/lib/rstudio/bin/license-manager.conf

For additional help with Mac and Windows license server installation and configuration, refer to the official TurboFloat Server documentation.

2.4.3 License Server Hardware Requirements

While the license server is designed to distribute licenses to ephemeral virtual machines or containers, which may move freely between hosts, the license server itself must stay on the same physical host on which it was activated.

It is acceptable to run the license server inside a container or a virtual machine, as long as the container or the VM always runs on the same hardware. Stopping the license server, moving it to a different physical host, and starting it again will cause it to become deactivated. Because it’s often impractical to try to ensure that the server only runs on a particular host, we recommend running the license server outside containers and virtualization software.

Note that the system requirements for the license server are very low, so it can be run on almost any server. If your environment will not allow for ensuring that the server stays on a single physical host, please contact to discuss alternate licensing options.

2.4.4 License Server Offline Activation

The rstudio-license-server activate command requires an internet connection. If your license server has no connection to the internet it’s also possible to perform an offline activation. Generate an offline activation request as follows:

$ sudo rstudio-license-server activate-offline-request <product-key>

Executing this command will print an offline activation request to the terminal which you should copy and paste and then send to RStudio customer support (). You will receive a reply with a file attachment that can be used to activate offline as follows:

$ sudo rstudio-license-server activate-offline <activation-file>
$ sudo rstudio-license-server restart

2.4.5 Using Floating Licensing

Once your license server is up and running, users can configure RStudio Desktop to use floating licensing instead of traditional licensing. This is performed from the Manage RStudio License dialog via the Floating license server… button.

There is also a way to pre-configure the license server so users don’t have to do it, as described in Administrator Configuration Options.

Once configured, RStudio will begin attempting to obtain a license lease. If this is taking a long time, it could indicate connectivity problems reaching the license server as shown below.

When RStudio is unable to obtain a lease at startup because all available leases are in use, then this dialog is shown. This could also happen (rarely) while RStudio is in use and cannot renew its current lease (perhaps because a new license was installed on the license server with fewer available concurrent users). In either case, the user must either wait for a lease to become avalable, change their license settings, or quit.

The options in Manage RStudio License when using floating licensing are shown here:

2.4.6 Configuring License Leases

When using floating licenses, you can optionally determine how long the license leases last by setting the lease length value on the licensing server. This value is in seconds, so for instance to make license leases last 30 minutes you would use the following syntax:

/etc/rstudio-license-server.conf

<lease length="1800"/>

The lease length controls how frequently the RStudio Desktop instances need to contact the licensing server to renew their license leases in order for the lease to remain valid.

A shorter lease length will increase tolerance to failures on RStudio Desktop instances by making leases available for reuse more quickly. RStudio Desktop will release its lease immediately if shut down normally, but if abnormally terminated, the lease will not be released until it expires.

A longer lease length will increase tolerance to transient failures on the network and the RStudio Desktop Pro License Server. Any such issues that can be resolved before the lease is due for renewal won’t interrupt use of RStudio Desktop.

We generally recommend using a longer lease length.

A longer lease can permit using RStudio Desktop for a period of time without access to the RStudio License Server after the lease is acquired, but if RStudio Desktop is quit and restarted, it will need to access the server to obtain a new lease. Hence, floating licensing is primarily intended for on-premise use (behind the firewall).

2.4.7 License Server Downtime Tolerance

RStudio Desktop does not wait until its lease has fully expired before it renews it. It renews its lease when it is halfway to expiry. For instance, if you use 30 minute leases, RStudio Desktop will actually renew its lease every 15 minutes.

This means that it is possible to take down the license server for a short period of time without affecting any running RStudio Desktop instances. Because of the aforementioned behavior, no existing lease will be more than halfway to expiry if the server goes down. You have a grace period of N/2 (where N is the length of the lease) during which the server can be offline without consequences. For instance, if you use 30 minute leases, your license server can be offline for 15 minutes.

2.4.8 Lease Expiration and Renewal

Under normal conditions RStudio Desktop will automatically renew its license lease in a configurable interval as described above. However, there are situations in which it will be unable to do so, such as a network problem, or an issue on the host running the license server.

When RStudio Desktop cannot obtain a license lease, either because there are no leases currently available or because it can’t reach the licensing server, it will begin automatically attempting to acquire a lease every 5 seconds.

2.4.9 Troubleshooting Floating Licensing

To validate that the license server has been successfully activated, run the activation-status command. This will report the version of the server as well as the license key and the number of available slots.

$ sudo rstudio-license-server activation-status

If your server is activated but you’re still having trouble with floating licensing, you can tell the RStudio Desktop Pro License Server to emit more detailed logs. Change the log level to notification:

/etc/rstudio-license-server.conf

<log file="/var/log/rstudio-licensing.log" level="notification"/>

Then, restart the license server, tail the licensing log, and start your RStudio Desktop instances.

$ sudo rstudio-license-server restart
$ tail -f /var/log/rstudio-licensing.log

At the notification level, the licensing log will tell you the total number of licenses associated with your key, and how many are currently in use. It will also notify you when RStudio Desktop instances acquire leases, and when those leases are released, renewed, or expired. No rotation is done for this log, so it’s recommended to use the warning level in production.

2.5 Administrator Configuration Options

2.5.1 Administrative Configuration File

In addition to end-users configuring licensing via the Manage RStudio License dialog, you may pre-configure certain settings via a config file named rdesktop.conf stored in a system location. Settings configured in this read-only file (for non-elevated users) will override settings made in the user-interface.

On Windows, the file is %programdata%\RStudio\rdesktop.conf. On macOS and Linux it is /etc/rstudio/rdesktop.conf.

This file is not created by RStudio, to use it you must create it, perhaps as part of a machine image. Here is a starting template for the file.

# RStudio Desktop Licensing Configuration

# If a proxy is needed to connect to the license activation server,
# enter it here. Can include host-name, port, and username/password,
# as needed. Examples:
#
# license-proxy=http://127.0.0.1/
# license-proxy=http://127.0.0.1:9019/
# license-proxy=http://user:pass@127.0.0.1:9019/

# Hostname of licensing server; may also include a port, otherwise 
# port 9019 is assumed.
# license-server=hostname_or_ip_address

2.5.2 Windows Registry Keys

On Windows, registry keys may be used instead of using rdesktop.conf.

HKEY_LOCAL_MACHINE/SOFTWARE/RStudio/licensing
"license-proxy"="http://127.0.0.1/ (see above for more examples)"
"license-server"="hostname_or_ip_address"

2.5.3 License File Environment Variable

When using a license file, it may also be placed in a custom location pointed to by the environment variable RSTUDIO_LICENSE_FILE. The full path, including the name of the license file, must be set.

2.6 Per-Machine Licensing

2.6.1 Per-Machine License File

To enable per-machine licensing using a license file, copy the .lic file to the same folder as the license-manager tool. See the table in Command Line Operations for details on where this is found on each platform.

Once copied, all users on this system will automatically being using this license with RStudio Desktop.

2.6.2 Per-Machine License Keys

By default, all RStudio Desktop Pro licensing via license keys is “per-user account”. So if a computer is being shared by multiple users, each user will need to activate RStudio with a license key.

It is possible to use a per-machine licensing mode, instead. This requires you to use command-line licensing commands on the system before any users have started RStudio.

To license all users on a single computer for RStudio using a license key, execute the following commands from an elevated command prompt (Windows) or terminal using sudo (Linux/macOS):

license-manager initialize
license-manager activate <LICENSE-KEY>

Now any user running RStudio on this system will be operating with that license key. If they invoke the Manage RStudio License command, they will see this instead of the usual dialog.

2.7 Command Line Operations

All licensing operations available in the RStudio user interface may also be performed from the command-line using the license-manager executable. This is rarely necessary, except in some cases outlined earlier in this document, or if instructed by a customer support representative.

OS Default Location
Windows C:\Program Files\RStudio\bin\license-manager.exe
macOS /Applications/RStudio.app/Contents/MacOS/license-manager
Linux /usr/lib/rstudio/bin/license-manager