Software licensing, copy protection in C++. It has few dependencies and it's cross-platform.
Licensecc
Copy protection, licensing library and license generator for Windows and Linux.
Protect the software you develop from unauthorized copies, limit the usage in time, to a specific set of machines, or prevent the usage in virtualized environments. It is an open source license library that helps to keep your software closed :smirk: . Among other features: it can generate a signature of that hardware it is running on and later report if the signature doesn't match (because the executable has been moved elsewhere).
A comprehensive list of features, and their status is available in the project site.
If you're experiencing problems, or you need information you can't find in the documentation please contact us on github discussions.
License
Distributed under the BSD 3-Clause License. It comes with freedom of use for everyone, and it always will be.
Should I use it?
The project is fully open source with no hidden costs or premium tiers.
Good fit if:
- You have a small to medium size application to protect
- Your user base is limited (10-20 customers), and you can distribute licenses manually
- Your project already uses CMake
Consider alternatives if:
- You need commercial support or guaranteed response times — see maintenance status
- You need a full license management system for distributing and renewing licenses at scale
Project Structure
The software is made by 4 main sub-components:
- a C++ library with a nice C api,
licenseccwith minimal (or no) external dependencies (the part you have to integrate in your software) that is the project you're currently in. - a license debugger
lcc-inspectorto be sent to the final customer when there are licensing problems or for calculating the pc hash before issuing the license. - a license generator (github project lcc-license-generator)
lccgenfor customizing the library and generate the licenses. - Usage examples to simplify the integration in your project.
How to start
- Read the quickstart and concepts sections in the documentation. This is the fastest way to get acquainted with the project.
- The examples repository that shows various ways to integrate
licenseccinto your project.
How to build
You can find detailed instructions for Linux or Windows in the project web site.
Prerequisites
- Operating system: Ubuntu 22.04 to 26.04 (tested), other may be supported. Windows server 2022
- compilers : GCC (Linux), Visual Studio 2022 or 2026 (Windows)
- tools : cmake(>=3.16), git, make/ninja
- libs : If target is Linux Openssl is required. Windows depends only on system libraries. Boost is necessary to build license generator and to run the tests but it's NOT a dependency of the final
licensecclibrary.
For a complete list of dependencies and supported environments see the project website
Configure & compile
Clone the project. It has submodules, don't forget the --recursive option.
git clone --recursive https://github.com/open-license-manager/licensecc.git
cd licensecc/build
build on Linux
cmake .. -DCMAKE_INSTALL_PREFIX=../install
make
make install
build on Windows (with Visual Studio 2026 or Visual Studio Code)
- check out the project with git.
- go to Project -> cmake settings for licensecc -> Add -DBoost_ROOT="C:\path\to\boost" to the cmake command line arguments.
- Check that boost is found and build using the UI.
How to use
The examples repository that shows various ways to integrate licensecc into your project.
How to contribute
Use discussions for questions and help. Open an issue for bug reports and feature requests. See the contribution guidelines before reporting.
There are infinite ways you can contribute. A special thanks to Quaoar Workshop for creating a video about this library. Please note that they independently produced this content (we are not affiliated with them). The video provides a nice introduction if you want to get started (it is for version 2.0.0 but most of the ideas are still valid).