Skip to content

BotellaA/open-license-manager

 
 

Repository files navigation

Open License Manager

A copy protection, licensing software written in C++ for Windows and Linux (with a simple C api for use in C projects).

Standard unstable License Build Status Codacy Badge codecov Github Issues forum : licensecc

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 License Manager that helps to keep your software closed 😏 . Among other features if it runs on a "real hardware" it can generate a signature of that hardware and report if the signature doesn't match.

A comprehensive list of features, and their status is available in the project wiki.

If you plan to use this library or part of it remember to show us your appreciation giving it a star here on GitHub.

License

The project is donated to the community. It comes with a very large freedom of use for everyone, and it will always be. It uses a BSD 3 clauses licensing schema, that allows free modification and inclusion in commercial software.

Project Structure

The software is made by 3 main sub-components:

  • a C++ library with a nice C api, licensecc with 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-inspector to 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) lcc for customizing the library and generate the licenses.

How to build

Below an overview of the basic build procedure, you can find detailed instructions for linux or windows in the project web site.

Prerequisites

  • Operating system: Linux(Ubuntu, CentOS), Windows
  • compilers : GCC (Linux) MINGW (Linux cross compile for Windows), MINGW or MSVC (Windows)
  • tools : cmake(>3.6), git, make/ninja(linux)
  • 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 licensecc library.

For a complete list of dependencies and supported environments see the wiki

Clone the project. It has submodules, don't forget the --recursive option.

git clone --recursive https://github.com/open-license-manager/open-license-manager.git
cd open-license-manager/
cd build

build on Linux

cmake .. -DCMAKE_INSTALL_PREFIX=../install
make
make install

build on Windows (with MSVC 2015)

cmake .. -G "Visual Studio 14 2015 Win64" -DBOOST_ROOT="{Folder where boost is}" -DCMAKE_INSTALL_PREFIX=../install
cmake --build . --target install --config Release

cross compile with MINGW on Linux

x86_64-w64-mingw32.static-cmake .. -DCMAKE_INSTALL_PREFIX=../install
make
make install

How to test

on Linux

make test

on Windows (MSVC)

ctest -C Release

How to use

The examples repository that shows various ways to integrate open-licence-manager into your project.

How to contribute

The easiest way you can solve your problems or ask help is through the forum (hosted on Google), otherwise if you think there is a problem you can open an issue in the issue system. Have a look to the contribution guidelines before reporting. We use GitFlow (or at least a subset of it). Remember to install the gitflow git plugin and use develop as default branch for your pull requests.

Packages

No packages published

Languages

  • C++ 86.3%
  • CMake 8.7%
  • C 3.3%
  • Objective-C 1.6%
  • Batchfile 0.1%