编辑 | blame | 历史 | 原始文档

Open License Manager

Build Status
experimental

A copy protection, licensing software written in C/C++ for Windows and Linux.

It allows to 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 :smirk: . A comprehensive list of features, and their status is available in the project wiki.

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 the inclusion in commercial software.

Project Structure

The software is made by 2 main sub-components:
* a C library with no (or minimal) external dependencies (the part you have to integrate in your software).
* a license generator written in C++ (allows you to generate a license).

these modules are planned....
* a license backoffice in php (in order to handle multiple licenses).
* a license debugger to be sent to the final customer when there are licensing problems.
* a log descriptor in order to decrypt logs generated by the license system.

You can notice 2 more sub-projects:
* bootstrap: allows to generate private keys and modify the library on the fly after the downloading.
* testing : runs the tests (and publish the results on cdash)

How to build

Below an overview of the basic build procedure, you can find detailed instructions for each supported environment in the wiki.

prerequisites

  • compilsers: GCC (Linux), MINGW or MSVC (Windows)
  • tools/libs: cmake, boost, openssl (Linux/MINGW).
git clone https://github.com/open-license-manager/open-license-manager.git
cd open-license-manager/
mkdir build
cd build

on Linux

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

on Windows (with MSVC 2015)

cmake .. -G "Visual Studio 14 2015 Win64" -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

This simple example shows how to integrate open-licence-manager into your project

$ cd example
$ cmake .
$ make
$ ./example
license ERROR :
    license file not found
the pc signature is :
    Jaaa-aaaa-MG9F-ZhBB
$ ../install/bin/license_generator example -s Jaaa-aaaa-MG9F-ZhBB -o example.lic 
$ ./example
licence OK