License configuration¶
ubCode
and the CLI application ubc
are provided in 2 different licensing modes: commercial and open source.
For open source projects, that is projects that are publicly available, we grant you a free open source license. We do that because we value open source software and want to support the community.
For usage in non-public projects, a commercial license is required.
Commercial¶
If not already done, please request a license key from useblocks. The process for this is not yet automated, so please contact our support directly via e-mail.
To configure the license for ubCode, place a file named ubcode.toml
in the following location:
For Linux:
~/.config/ubcode/ubcode.toml
For Windows:
C:\Users\<username>\AppData\Local\useblocks\ubcode\ubcode.toml
For MacOS:
~/Library/Application Support/ubcode/ubcode.toml
The file should have the following content:
[license]
key = "AAAAA-BBBBB-CCCCC-DDDDD"
user = "mail@example.com"
If you add or change the key, to let it take effect in the VS Code extension,
you need to restart the server, with the command Ctrl+Shift+P
and then
ubCode: Restart language server
.
Proxies¶
License activation requires an active Internet connection. System proxies are automatically detected and used by ubCode.
If that fails or cannot be done on system level,
the proxy server can also be configured in a dedicated section of ubcode.toml
:
[proxy]
https = "<proxy-domain-or-ip>"
Note
ubCode only supports HTTP CONNECT proxies.
Environmental variables¶
In the CLI, environmental variables can also set, to override the configuration in the ubcode.toml
file:
UBCODE_LICENSE_KEY
: The license key.UBCODE_LICENSE_USER
: The user e-mail.UBCODE_HTTPS_PROXY
: The proxy server.
License handling¶
License keys supplied by useblocks are commonly user based, which means a valid user e-mail must be provided with the license key.
For data protection, the e-mail is irreversibly obfuscated on the local user’s machine, before being sent to the license server for activation.
Caching¶
Online license requests are cached locally for 3 days to avoid unnecessary network traffic, faster startup times and to be able to work offline for a limited time.
The cache is stored in platform specific cache directories, e.g.
for Linux under ~/.cache/ublicense/
.
The directory can be safely deleted to clear the cache. Online license requests will then be repeated the next time ubCode is started. Also open source checks will be repeated.
Offline licenses¶
If agreed upon, useblocks can also provide offline licenses. The provided license file is configured as follows:
[license]
file = "ActivationFile.skm"
user = "mail@example.com"
If the license file is placed in the same directory as the ubcode.toml
file and named “ActivationFile.skm”,
it will be picked up automatically.
A user is still required for offline licenses, but the property key
is not needed.
Open Source¶
ubCode
detects whether your VS Code workspace folders are located within publicly reachable Git projects.
All major Git hosting providers like GitHub, GitLab, Bitbucket, Codeberg, SourceForge etc. are supported.
Submodules and nested repositories must fulfill the same conditions.
The ubc
CLI application does the same, but based on paths of the analyzed projects.
Note
The test requests to the Git remotes are cached for a couple of days, so that they are not repeated unnecessarily.
Note
The requests to test this are unauthenticated and do not use proxies.
Please get in touch with us if you have any issues with this.
License terms¶
ubCode is proprietary software developed and owned by useblocks GmbH.
While the source code of ubCode itself is not publicly available (closed source), ubCode is offered free of charge for use in Open Source Software (OSS) projects that fulfill the following conditions:
the OSS project must be licensed under an OSI-approved open source license, and
the complete source code of the OSS project must be publicly available in a generally accessible Git repository (e.g. GitHub, GitLab).
Any use of ubCode in commercial environments - including but not limited to closed-source projects, commercial products, services, platforms, or internal tools - requires a separate commercial license agreement with useblocks GmbH.
Please contact us for licensing inquiries regarding commercial use.