This page provides information about licensing from a practical point of view.
If you are interested in the legal aspects, please refer to the Terms and Conditions.
The easiest way to obtain a licence for the Tinman 3D SDK is provided by MyCommerce.
To do so, click one of the Order buttons below or visit the Tinman 3D SDK product page.
Alternatively, you can use the Licence baKErY tool to initiate a purchase.
After purchasing a licence key that is bound to metadata, you can request extra licence keys for different metadata free of charge, given that the requested metadata correlates with the licensed product resp. you as the licence owner:
tinman_3d.licence-request.user.id-C9F9A1B9.json.txt
).#537515913
).Please contact sales@tinman3d.com if you have any more questions regarding licensing.
The following table shows the licence types that are available for the Tinman 3D SDK:
Licence | Type | Releases | Keys | Bindinga) | Priceb) | Order | |
---|---|---|---|---|---|---|---|
|
Evaluation | trial |
- all - |
0 c) | - none - | - free - | |
Evaluate the Tinman 3D SDK by running the Demo Application executable and browsing its source code.
|
|||||||
|
User | annual / short-term |
- all - |
1 d) | User | 30 EUR / monthe) |
|
Terms |
Allows a single user to use the Tinman 3D SDK during the licence period.
|
||||||
|
Site | annual |
- all - |
1 d) | Domain | 400 EUR / monthe) |
|
Terms |
Allows all users that belong to the licensed company site to use the Tinman 3D SDK during the subscription period.
|
||||||
|
Academic | annual |
- all - |
1 d) | Domain | 150 EUR / month e) |
|
Terms |
Allows all users that belong to the licensed academic entity to use the Tinman 3D SDK during the subscription period.
Commercial use is not included in this licence. |
||||||
|
Product | perpetual | current + 1 year | 1 d) | Product |
7.500 EUR
|
|
Terms |
Allows perpetual use of the Tinman 3D SDK in a specific software product.
|
||||||
|
Company | perpetual | current + 1 year | 1 d) | Company | 25.000 EUR |
|
Terms |
Allows perpetual use of the Tinman 3D SDK in all products of the licence owner.
|
||||||
|
Full | perpetual | current + 1 year | 1 | - none - |
- on request -
|
|
Terms |
Allows perpetual use of the Tinman 3D SDK by the licence owner.
|
||||||
|
Source Code | content | current + 1 year | 1 | - none - |
|
|
Terms |
Grants access f) to the source code of the following components of the Tinman 3D SDK:
CodeX.System | Tinman.Core | Tinman.Terrain | tinmanpc
|
||||||
|
Renewal |
renewal-perpetual g) | + 1 year | + 1 | - none - |
65 % of original price |
|
|
Prolongs the SDK update period of an existing perpetual licence by one year:
New licence keys will be issued for the prolonged update period. |
||||||
renewal-content g) | + 1 year | + 1 | - none - | 45 % of original price |
|
||
Prolongs the SDK update period of an existing content licence by one year:
New unlock keys will be issued for the prolonged update period. |
a) Licence keys are bound to the specified metadata using asymmetric encryption.
b) All prices are given in EUR, excluding VAT. You can make payments in any currency supported by MyCommerce, though.
c) No separate licence key is necessary, you can start your evaluation right after downloading the Tinman 3D SDK.
d) Extra licence keys are issued for free, provided that the bound metadata correlates with the licenced product resp. licence owner.
e) Billing period is 1 year = 12 months.
f) You will receive an unlock key after completing your order. Please make sure you also download the corresponding SDK packages, if necessary.
g) Renewals are triggered automatically by your MyCommerce subscription, which you can cancel at any time.
Before the Tinman 3D SDK can be used by an application, it must be activated. Activation is done by providing one or more licence keys during application startup.
This can be done by code (usually for perpetual licences):
global::Tinman.Core.TinmanLicenceDomain.Instance.LicenceKey("..."); // C# ::Tinman::Core::TinmanLicenceDomain::Instance->LicenceKey("..."); // C++
As an alternative, a single licence key can be provided by setting an environment variable (usually for subscription licences):
TINMAN_3D_LICENCEKEY = ...
A licence key is a base-85 number with 100 digits, and looks like this:
CIk!6Dh6Ui;lSE+Z{{jx7$Y~8,#TSt~o%CK#(e,F#O9.d;fGc+bU35%HVl;[.+s#@h.bo1~{riL.4|UreHfeuac}5ZV~DBocxU}@
These are the base-85 digits:
!#$%()*+,-.0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[^_abcdefghijklmnopqrstuvwxyz{|}~ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ 0 10 20 30 40 50 60 70 80 85
The characters of a licence key are "programming-language-safe", so the plain key value can be put into XML files or string literals without escaping.
A licence key can be bound to some metadata, using asymmetric encryption.
A bound licence key will only work if the metadata values found in the current execution context correlate with those that have been used to create the key.
The following table shows the relevant information for each licence key metadata binding.
Computer Login | Product Details | System Time | ||||
---|---|---|---|---|---|---|
User Name |
Domain Name |
Product Name |
Company Name |
Copyright Notice |
Expiration Date |
|
User | yes | yes | no | no | no | yes |
Domain | no | yes | no | no | no | yes |
Product | no | no | yes | yes | yes | no |
Company | no | no | no | yes | yes | no |
Full | no | no | no | no | no | no |
You can use the Licence baKErY to determine the metadata of your application quickly.
Also you can generate a licence request from within your application using the API of the Tinman 3D SDK:
Tinman.Core.TinmanLicenceDomain.Instance.Request
The computer login contains the name and domain of the user that is currently logged.
|
Computer login - Windows |
Please note that extra licence requests for a computer login like above might be rejected, because it is not apparent which individual the login belongs to. Another 'bad' example would be:
C:\Users\Anyone\whoami SomeBigCompany\Anyone
This is the metadata of the product executable that is linking against the Tinman 3D libraries.
On Windows, this information is accessible as part of the executable properties (right click -> Properties).
When developing with Visual Studio C#, you can specify the metadata for your project in the project properties:
|
|
Executable properties - Windows | Project properties - Visual Studio C# |
Alternatively, you can set the metadata values of your product directly in the AssembyInfo.cs
file:
|
AssemblyInfo.cs |
For Visual Studio C++, the metadata values can be configured as a VERSIONINFO object that is stored in the executables resources.
|
Resource View - VERSIONINFO - Visual Studio C++ |
Alternatively you can configure these values directly in your resource file (*.rc
):
|
SomeResources.rc - Visual Studio C++ |
Licence keys are generated from the information found in licence requests. A licence request is a JSON text file (UTF-8 encoding) that contains all required information.
Licence requests can be generated using the Licence baKErY tool or from within your application using the API of the Tinman 3D SDK:
global::Tinman.Core.TinmanLicenceDomain.Instance.Request(...) // C# ::Tinman::Core::TinmanLicenceDomain::Instance->Request(...) // C++
You do not have to deal with licence request files when ordering a licence for the Tinman 3D SDK.
Only when submitting extra licence key requests you need to upload one or more licence request files.
This is an example for a User licence request:
{ // ------------------------------------------------------- // Tinman 3D - http://www.tinman3d.com - info@tinman3d.com // ------------------------------------------------------- "FileInfo": { "Format": "Licence Request v1.0", "Name": "tinman_3d.licence-request.user.id-0505223D.json.txt", "Created": "2016-02-17 08:15:41 UTC", "Encoding": "utf-8/bom" }, "LicenceDomain": "tinman_3d", "LicenceInfo": { "Timestamp": 54, "User": "Pikantos", "Domain": "Pikantos-PC", "Product": "*", "Company": "*", "Copyright": "*" }, "SystemInfo": { "PlatformName": "Windows", "LanguageName": "C#" }, "Checksum": "44EBCA2D-3CFE-C63C-40CE-E32B28D37FC9" }
This is an example for a Product licence request:
{ // ------------------------------------------------------- // Tinman 3D - http://www.tinman3d.com - info@tinman3d.com // ------------------------------------------------------- "FileInfo": { "Format": "Licence Request v1.0", "Name": "tinman_3d.licence-request.product.id-1F151262.json.txt", "Created": "2016-02-17 08:15:41 UTC", "Encoding": "utf-8/bom" }, "LicenceDomain": "tinman_3d", "LicenceInfo": { "Timestamp": 54, "User": "*", "Domain": "*", "Product": "Tinman 3D - http://www.tinman3d.com", "Company": "Tinman 3D - http://www.tinman3d.com", "Copyright": "Copyright (C) 2015 Matthias Englert. All rights reserved." }, "SystemInfo": { "PlatformName": "Windows", "LanguageName": "C#" }, "Checksum": "A991F2DC-0174-7729-D91E-A75EA5409690" }
Unlock keys are used to access locked content of the Tinman 3D SDK, for example:
Use the Geodata Processor to apply an unlock key to a locked content archive.