Sublime Forum

Licensing and concurrent use

#1

The SublimeText FAQ (https://www.sublimetext.com/sales_faq) states that “Licenses are per-user, so you’re welcome to use the one license on all computers and operating systems where you are the primary user. For businesses, the number of users must equal the number of licenses.”

We have a problem using the licenses in an educational environment.

We purchased (2) licenses for use by two users. We need to be able to install those license to a base image and then roll that image to VMware pool of machines – effectively duplicating the base image multiple times. To ensure that only the (2) licensed users can access the application on the pool machine that they log into, we use Sassafras K2 Asset Management software.

Our problem is that SublimeText launches and seems to be licensed when installed to the base image, it prompts for a license code whenever we roll the base image to the pool and the user tries to run SublimeText from one of the virtual machines.

We suspect that this is due to the fact that the license info is stored in HKEY_CURRENT_USER on the base image.

Is there any way to make SublimeText available in the manner described above. Happy to take this discussion private with a tech support rep if further details about the use case, our environment or our license codes is required.

0 Likes

#2

When you enter the license key, it’s stored in the Local/License.sublime_license file encoded based on machine specific information to prevent accidental leaks of the key working on other machines. At startup if the license isn’t valid for the current machine it’s ignored and Sublime remains unlicensed.

It sounds like your issue is that the images are being detected as different machines, so the key is not valid.

If so you can solve the problem by storing the license key as plain text instead. If you use Preferences > Browse Packages and go up a folder, you can go into the Local folder to see the license file. Remove it and replace it with an identically named file whose contents are the text that you paste into the license dialog.

0 Likes

#3

You are correct. Each virtual machine is detected as a different machine. We tested the solution that you provided. It got us half-way to a solution. The plain text license gets around the machine identity issue.

But we still have a problem with the license being stored in a user profile on the base image. When we duplicate the base image to the virtual pool, our eligible user logs into a VM but they cannot access the license because it is not in “their” roaming user profile.

It seems like we either need to be able to store the license outside of the user profile on the base image or we need to find a way to copy the license file to eligible user profiles.

We were hoping that the first option would be possible. Granted that may make it possible for anyone logging into a VM to run Sublime. But we were planning to restrict access using a keyserver to restrict access only to eligible users.

0 Likes

#4

Sublime will follow symlinks readily when looking for data files and resources, which also includes the license file (although admittedly I have only tested that personally on Linux). That could perhaps get you around the idea of the license being stored directly in the roaming profile if you could somehow arrange to symlink the version of the file from the profile to the version in the image.

Additionally, if there is a folder named Data alongside the Sublime Text binary in the installation folder, then it will look for all of the user specific files there instead of in the user’s profile; this is how the portable versions on Windows work, for example. The same thing works on all platforms even though the website only provides Windows versions that work that way (the case of Data in the folder name is important if the file system is case sensitive, such as on Linux).

If your base image was set up as a portable install, then anyone executing it would automatically have the licensed copy.

The issue there is that the Data folder should be user-specific since settings, installed packages, cache, session and so on are stored there. So presumably this would also be problematic because if the settings are tied to the image, every time a user logs in they will have their settings reset back to the base version. It also presents issues if two users can be logged into the same VM at the same time and executing Sublime in it.

0 Likes