SunnySs / open-license-manager

Software licensing, copy protection SDK. This C++ framework let you add licenses to you software.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Open License Manager

Build Status experimentalLicense

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

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 😏 . 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 free modification and 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 (Linux cross compile for Windows), MINGW or MSVC (Windows)
  • tools/libs: cmake, boost. If target is linux openssl is necessary.
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" -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

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

How to contribute

The project is not dead but we take our time to answer. The best interaction you can have with us is through the issue system. Have a look to the contribution guidelines 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.

About

Software licensing, copy protection SDK. This C++ framework let you add licenses to you software.

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:C++ 68.1%Language:C 23.2%Language:CMake 6.7%Language:Objective-C 1.8%Language:Batchfile 0.1%