nancy.liao
2025-05-29 8d405b265285c368df2e9cf1c14acee7532e0ee7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
##############
Licensecc
##############
*Copy protection, licensing library and license generator for Windows and Linux.*
 
|c11|_ |License|_ |unstable|_ |TravisBuild|_ |GithubCI|_ |CodacyBadge|_ |codecov|_ |forum|_ 
 
.. |c11| image:: https://img.shields.io/badge/c%2B%2B-11-blue.svg
.. _c11: https://en.wikipedia.org/wiki/C%2B%2B#Standardization
.. |unstable| image:: http://badges.github.io/stability-badges/dist/unstable.svg
.. _unstable: http://github.com/badges/stability-badges
.. |License| image:: https://img.shields.io/badge/License-BSD%203--Clause-blue.svg
.. _License: ttps://opensource.org/licenses/BSD-3-Clause
.. |TravisBuild| image:: https://travis-ci.org/open-license-manager/licensecc.svg?branch=develop
.. _TravisBuild: https://travis-ci.org/open-license-manager/licensecc
.. |GithubCI| image:: https://github.com/open-license-manager/licensecc/workflows/Github_CI/badge.svg
.. _GithubCI: https://github.com/open-license-manager/licensecc/actions
.. |CodacyBadge| image:: https://app.codacy.com/project/badge/Grade/81a1f6bc15014618934fc5fab4d3c206
.. _CodacyBadge: https://www.codacy.com/gh/open-license-manager/licensecc/dashboard?utm_source=github.com&utm_medium=referral&utm_content=open-license-manager/licensecc&utm_campaign=Badge_Grade
.. |codecov| image:: https://codecov.io/gh/open-license-manager/licensecc/branch/develop/graph/badge.svg?token=vdrBBzX6Rl
.. _codecov: https://codecov.io/gh/open-license-manager/licensecc
.. |issues| image:: https://img.shields.io/github/issues/open-license-manager/licensecc
.. _issues: http://github.com/open-license-manager/licensecc/issues
.. |forum| image:: https://img.shields.io/badge/forum-licensecc-blue.svg?style=flat
.. _forum: https://github.com/open-license-manager/licensecc/discussions
 
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. `Licensecc` is an open source license management system 
that helps to keep your software closed |:smirk:| . 
 
Among the other features the most notable one is: if it runs on a "real hardware" (not a container/vm)
it can generate a signature of that hardware and report if the signature doesn't match, because for instance 
the software has been copied to another place.
 
A comprehensive :ref:`list of features <analysis/features:Features>`, and their status is available in the project wiki. 
 
If you're experiencing problems, or you just need informations you can't find here in the documentation,
please contact us on the `user forum <https://groups.google.com/forum/#!forum/licensecc>`_ (hosted on Google), we'll be happy to help. 
 
License (BSD)
**************
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 modification and inclusion in GPL and commercial software.
 
.. _BSD 3 clauses: https://opensource.org/licenses/BSD-3-Clause  
 
Project Structure
*******************
The software is made by 4 main sub-components:
 
* ``licensecc``    : the C++ library with a C api (the part you have to integrate in your software) with minimal external dependencies. (github project `licensecc <https://github.com/open-license-manager/licensecc>`_ )
* ``lccinspector`` : a license debugger to be sent to the final customer to diagnose licensing problems or for calculating the hardware id before issuing the license.
* ``lccgen``       : a license generator (github project `lcc-license-generator`_ ) to initialize the library and generate the licenses.
* ``examples``     : usage samples (github project `examples <https://github.com/open-license-manager/examples>`_ ).
 
.. _lcc-license-generator: https://github.com/open-license-manager/lcc-license-generator
 
How to build
****************
Below an overview of the basic build procedure, provided as an example but if you really want to try we suggest you to refer to the detailed section
for your operating system: :ref:`Linux <development/Build-the-library:Build - Linux>` or :ref:`Windows <development/Build-the-library-windows:Build - Windows>`. 
 
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)
* libraries        : 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 :ref:`dependencies <development/Dependencies:Dependencies>` section.
Clone the project. 
 
.. NOTE::
  It has submodules, don't forget the `--recursive` option.
 
.. code-block:: console
 
  git clone --recursive https://github.com/open-license-manager/licensecc.git
  cd licensecc/
  cd build
 
Build on Linux
===================
 
.. code-block:: console
 
  cmake .. -DCMAKE_INSTALL_PREFIX=../install
  make
  make install
 
Build on Windows (with MSVC 2017)
==================================
 
.. code-block:: console
 
  cmake .. -G "Visual Studio 16 2017 Win64" -DBOOST_ROOT="{Folder where boost is}" -DCMAKE_INSTALL_PREFIX=../install
  cmake --build . --target install --config Release
 
Cross compile with MINGW on Linux
=====================================
 
.. code-block:: console
 
  x86_64-w64-mingw32.static-cmake .. -DCMAKE_INSTALL_PREFIX=../install
  make
  make install
 
How to test
****************
 
On Linux:
 
.. code-block:: console
 
  make test
 
On Windows (MSVC):
 
.. code-block:: console
 
  ctest -C Release
 
How to use
**************
The `examples`_ repository shows various ways to integrate `licensecc` into your project.
 
.. _examples: https://github.com/open-license-manager/examples 
 
Branches and status
*********************
 
* On branch ``master`` there is the 'stable' 2.0.0 version.   
* On branch ``develop`` there is the upcoming 2.1.0 version that corresponds to this documentation. This version is under development and has not been extensively used/tested. However we encourage users to download and use this one.   
 
How to contribute
********************
 
.. TIP::
  The easiest way you can solve your problems or ask help is through the `forums`_ (hosted on Google)
 
Otherwise 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. 
 
.. _forums: https://github.com/open-license-manager/licensecc/discussions
.. _issue system: https://github.com/open-license-manager/licensecc/issues
.. _contribution guidelines: https://github.com/open-license-manager/licensecc/blob/develop/CONTRIBUTING.md
.. _GitFlow: https://datasift.github.io/gitflow/IntroducingGitFlow.html
 
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
 
   
.. toctree::
   :glob:
   :maxdepth: 2
   :hidden:
   :caption: Build the library:
  
   development/*
 
.. toctree::
   :glob:
   :maxdepth: 2
   :hidden:
   :caption: Integrate and use:
  
   usage/*
   
 
.. toctree::
   :maxdepth: 2
   :hidden:
   :caption: API:
  
   api/public_api
   api/extend
      
.. toctree::
   :glob:
   :maxdepth: 2
   :hidden:
   :caption: Analysis:
  
   analysis/*
 
.. toctree::
   :glob:
   :maxdepth: 2
   :hidden:
   :caption: Miscellaneous:
  
   other/*
 
.. meta::
   :description: open source license manager, copy protection library in C++. 
   :keywords: c++, open source, licensing software, copy protection, license manager, hardware identifcation
   
.. title::
   C++ copy protection library