gcontini
2019-11-30 2f0af3f9062c77b5c04d068e51f2b66c88987b8a
README.md
@@ -1,37 +1,40 @@
# Open License Manager
![Build Status](https://travis-ci.org/open-license-manager/open-license-manager.png "Build Status")
A license manager written in C/C++ for Windows and Linux environments.
[![Standard](https://img.shields.io/badge/c%2B%2B-11-blue.svg)](https://en.wikipedia.org/wiki/C%2B%2B#Standardization)
[![experimental](http://badges.github.io/stability-badges/dist/experimental.svg)](http://github.com/badges/stability-badges)[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
[![Build Status](https://travis-ci.org/open-license-manager/open-license-manager.svg?branch=develop)](https://travis-ci.org/open-license-manager/open-license-manager)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/62d6e1bb22d648bd85b6f3bc344a545a)](https://www.codacy.com/manual/gcontini/open-license-manager?utm_source=github.com&utm_medium=referral&utm_content=open-license-manager/open-license-manager&utm_campaign=Badge_Grade)
[![Github Issues](![GitHub issues](https://img.shields.io/github/issues/open-license-manager/open-license-manager))](http://github.com/open-license-manager/open-license-manager/issues)
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 ;-)
software closed :smirk: . A comprehensive [list of features](https://github.com/open-license-manager/open-license-manager/wiki/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](https://opensource.org/licenses/BSD-3-Clause) 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).
 * a C++ library with a nice C api, `licensecc` with minimal (or no) external dependencies (the part you have to integrate in your software).
 * a license generator lcc-license-generator `lcc` for customizing the library and generate the licenses.
 
these modules are planned....
 * a license [backoffice](../../issues/7) 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](../../issues/8) 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)
Licensing
=====================
The project comes out with a very large freedom of use for everyone (and it will always be).
It uses a BSD 3 clauses licensing schema.
How to build
============
# How to build
Below an overview of the basic build procedure, you can find [detailed instructions](https://github.com/open-license-manager/open-license-manager/wiki/Build-the-library) for your environment in the wiki.
## prerequisites
GCC (Linux), MINGW or MSVC (Windows)
cmake, boost, openssl (Linux/MINGW), you can find detailed instruction for each [supported environment](https://github.com/open-license-manager/open-license-manager/wiki/Build-and-install---Linux) in the wiki. Below an overview of the basic build procedure:
 * compilers: GCC (Linux) MINGW (Linux cross compile for Windows), MINGW or MSVC (Windows)
 * tools    : cmake, 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 `licensecc` library.
```
git clone https://github.com/open-license-manager/open-license-manager.git
@@ -49,7 +52,7 @@
## on Windows (with MSVC 2015)
```
cmake .. -G "Visual Studio 14 2015 Win64" -DCMAKE_INSTALL_PREFIX=../install
cmake .. -G "Visual Studio 14 2015 Win64" -DBOOST_ROOT="{Folder where boost is}" -DCMAKE_INSTALL_PREFIX=../install
cmake --build . --target install --config Release
```
@@ -91,3 +94,7 @@
$ ./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](blob/develop/CONTRIBUTING.md)
We use [GitFlow](https://datasift.github.io/gitflow/IntroducingGitFlow.html) (or at least a subset of it). Remember to install the gitflow git plugin and use `develop` as default branch for your pull requests.