Licencing and Pricing

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.

Tinman 3D licences are one-time purchases and do not include any future obligations, such as subscriptions or recurring payments. Expired licences may be prolonged at any time by purchasing an update.
Online shop

Selected licences and custom service packages may be purchased at the online shops:

Prices depend on current exchange rates and may thus vary over time.
Please use Request Quote if you need a fixed price prior to making a final purchase decision.

Overview

The Tinman 3D SDK can be downloaded and evaluated instantly, free of charge, without registration and without time limit.

Customers receive a licence certificate document that contains all purchased licence keys in one place. This self-contained document may be archived in electronic or printed form, preferably both.

The following licensing scenarios exist for non-evaluation use:

Development (User, Site, Academic)

A licence key is provided at runtime, temporarily activating all Tinman 3D SDK versions, only for the current user, only on the current machine, for any application/product, only during the licence period.

Distribution (Product, Company, Full)

A licence key is distributed along with a customer product, perpetually activating only those Tinman 3D SDK versions within the update period, for any user, on any machine, only for that product, only in non-debug mode.

Content (Source)

An unlock key is used with tinmanpc unlock to decrypt the Tinman3D.SDK.Source-*.zip.lic packages, only for those Tinman 3D SDK versions within the update period.

For non-evaluation use, the following SDK components require a valid licence:

Stand-alone tools

The tinmanpc and tinman3d-workshop run in feature-locked evaluation mode by default and may be unlocked with a Development licence key.

Software libraries

The Core, Terrain and Engine libraries must be activated with a Development or Distribution licence key during application startup.

Source code

The source code of the Core, Terrain, Engine and Processor libraries must be decrypted with a Content unlock key, separately for each programming language (e.g. C#, C++).

Licence key checking is 100% offline, there is no online activation step involved.

Order Process

This section explains how to order a licence for the Tinman 3D SDK.

How to order

Through the online shop:

Through a formal quote:

  • Send an email to sales@tinman3d.com.

  • Receive a formal non-binding invoice per email, which includes a tailored quote.

  • Make a purchase decision and follow the payment instructions (SEPA / SWIFT / Bitcoin).

  • Receive your (updated) Licence Certificate per email and/or per secure download.

Apply your licence key(s):

You can use the Licence Bakery tool to assemble metadata.
Licence keys are delivered as soon as payment has been received.
Licence certificate updates are usually processed within one workday.

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 and you as the licence owner.

Get extra licence keys
  1. Generate licence request files for the metadata you need.
    For example: tinman_3d.licence-request.user.id-C9F9A1B9.json.txt.
    Please refer to Licence Requests for details.

  2. Lookup your Order Number (for example: 537515913) resp. your Invoice Number (for example: T3D_XYZ12). You can find those numbers in the purchase notification email and on the invoice document.

  3. Send an email to sales@tinman3d.com, including the above information. We handle extra licence key requests manually, so please allow us a couple of workdays to process your request. In most cases, extra licence keys can be issued almost instantly.

  4. The extra licence keys will be added to your Licence Certificate.

Please contact sales@tinman3d.com if you have any more questions regarding licensing.

Licence Certificate

A self-contained licence certificate document is provided for your licence purchases, licence updates and extra licence keys. Please archive this document in electronic form or as a hard copy.

Example licence certificate document

This is an example for a licence certificate document.

Download Link

https://licence.tinman3d.com/C92861F1-22DF-4BDE-B54B-B65654DD51D4

Username

EXAMPLE-1

Password

JrQSW~[6)O!7z!euIFoe7paJPCVhZ|n=inP{tZG}YXVB!79Z*T

To discover the download link of your licence certificate document, please follow this link:

Download Link Lookup
https://licence.tinman3d.com/order/$ORDER$ (1)
1 Replace $ORDER$ with the Order Number resp. Invoice Number, as it appears in the purchase notification email and the invoice document.
Example download link lookup

This is an example for looking up a download link.

Order Number

EXAMPLE-1

Lookup Link

https://licence.tinman3d.com/order/EXAMPLE-1

Please write to sales@tinman3d.com if you encounter problems or difficulties while accessing your licence certificate document.

Licence Types

The following table shows the licence types that are available for the Tinman 3D SDK.

Table 1. Tinman 3D SDK licences
Licence Type Releases Keys Binding[1]

Evaluation

free download

all

0 [2]

none

Terms

Allows anyone to evaluate the Tinman 3D SDK.

⇒ Run the Demo Application executable.
⇒ Browse the Demo Application source code.
⇒ Run the Workshop Application tool with limited functionality.
⇒ No licence key required
⇒ No registration needed
⇒ No time limit

User

time period

all

1 [3]

User

Terms

Allows a single user to use the Tinman 3D SDK during the licence period.

⇒ All SDK releases
⇒ Allows use of SDK by licensed user on any machine.
⇒ Licence keys are bound to user metadata.
⇒ Technical support via email
⇒ Training and coaching regarding use of SDK features

Site

time period

all

1 [3]

Domain

Terms

Allows all users that belong to the licensed company site to use the Tinman 3D SDK during the licence period.

⇒ All SDK releases
⇒ Allows use of SDK by all users on licensed company site on any machine.
⇒ Licence keys are bound to domain metadata.
⇒ Technical support via email

Academic

time period

all

1 [3]

Domain

Terms

Allows all users that belong to the licensed academic entity to use the Tinman 3D SDK during the licence period.

⇒ All SDK releases
⇒ Allows use of SDK by all users of licensed academic entity on any machine.
⇒ Licence keys are bound to domain metadata.

Commercial use is not included in this licence.

Product

perpetual

current

1 [3]

Product

Terms

Allows perpetual use of the Tinman 3D SDK in a specific software product.

⇒ Current SDK release, plus one year of free updates
⇒ Embed SDK redistributables in licensed product.
⇒ Licence keys are bound to product metadata.

Company

perpetual

current

1 [3]

Company

Terms

Allows perpetual use of the Tinman 3D SDK in all products of the licence owner.

⇒ Current SDK release, plus one year of free updates
⇒ Embed SDK redistributables in any product of the licence owner.
⇒ Licence keys are bound to company metadata.

Full

perpetual

current

1

none

Terms

Allows perpetual use of the Tinman 3D SDK by the licence owner.

⇒ Current SDK release, plus one year of free updates
⇒ Embed SDK redistributables in any product of the licence owner or any derived product.
⇒ Licence keys have no metadata binding.

Source

content

current

1

none

Terms

Grants access[4] to the source code of the following components of the Tinman 3D SDK:

⇒ Source code is licensed separately for each programming language (C#, C++).
⇒ Current SDK release, plus one year of free updates
⇒ Fully documented, not obfuscated
⇒ Custom code modifications (e.g. platform abstraction)
⇒ Access is granted to the licence owner.

The values for MI and LOC refer to the code metrics values Maintainability Index and Lines of Source code (analyzed on 2023/09/29).


4. You will receive an unlock key after completing your order. Please make sure you also download the corresponding SDK packages, if necessary.

Update

perpetual

+ X days

+ 1

none

Prolongs the SDK update period of an existing perpetual licence.

⇒ Product
⇒ Company
⇒ Full

New licence keys will be issued for the prolonged update period.

content

+ X days

+ 1

none

Prolongs the SDK update period of an existing content licence.

⇒ Source

New unlock keys will be issued for the prolonged update period.

Licence Keys

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.

Nature of a licence key

A licence key is a base-85 number with 100 digits, and looks like this:

An example licence key
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}@
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.

To provide a licence key from code, call the LicenceKey method on the Tinman domain. This is usually done for perpetual licences.

To avoid that a licence key ends up as a string literal in an application binary, the Licence Bakery tool can be used to generate a source code fragment which generates the licence key value using obfuscated arithmetics.

As an alternative, a single licence key can be provided by setting an environment variable, which is usually done for Development licences.

Licence key environment variable
TINMAN_3D_LICENCEKEY = ...

Metadata Binding

A licence key is usually bound to specific metadata, using asymmetric encryption.

A 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 which information is bound to licence keys, depending on the licence key type.

Table 2. Metadata bindings for licence keys
Licence Type Computer Login Product Details System Time

icon bullet 1

icon bullet 2

icon bullet 3

icon bullet 4

icon bullet 5

icon bullet 6

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 tool to obtain metadata information quickly.

To determine the current metadata from code, you can generate a licence request file, as described in Licence Requests.

When checking licence metadata, legit variations are considered automatically. For example, a licence key bound to the copyright "Copyright © 2010 Some Company" will still work for incremented year numbers, for example: "Copyright © 2022 Some Company".

Computer Login

The computer login contains the name and domain of the user that is currently logged on.

metadata whoami
Figure 1. 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.

Example for a vague computer login
C:\Users\Anyone\whoami
SomeBigCompany\Anyone

Product Details

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).

metadata windows
Figure 2. Executable properties - Windows

When developing with Visual Studio C#, you can specify the metadata for your project in the project properties:

metadata cs project
Figure 3. Project properties - Visual Studio C#

Alternatively, you can set the metadata values of your product directly in the AssembyInfo.cs file:

metadata cs file
Figure 4. AssemblyInfo.cs

For Visual Studio C++, the metadata values can be configured as a VERSIONINFO object that is stored in the executables resources.

metadata rc gui
Figure 5. Resource View - VERSIONINFO - Visual Studio C++

Alternatively you can configure these values directly in your resource file (*.rc):

metadata rc file
Figure 6. SomeResources.rc - Visual Studio C++

Licence Requests

Licence keys are generated from the information found in licence requests. A licence request is a JSON text file in UTF-8 encoding that contains all required information.

When submitting extra licence key requests you may need to provide one or more licence request files.

You do not have to deal with licence request files when ordering a new licence for the Tinman 3D SDK.

Licence requests can be generated using the Licence Bakery tool or from code by calling the LicenceDomain.Request method on the Tinman domain.

Example 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"
}
Example 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

Unlock keys are used to access locked content of the Tinman 3D SDK, for example:

  • Source code (C++ / C#)

  • Digitally licenced content, such as high-quality commercial raster datasets and texture pyramids.

Use the Geodata Processor / unlock command to apply an unlock key to a locked content archive.


1. Licence keys are bound to the specified metadata using asymmetric encryption.
2. No separate licence key is necessary, you can start your evaluation right after downloading the Tinman 3D SDK.
3. Extra licence keys are issued for free, provided that the bound metadata correlates with the licenced product and licence owner.