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, which means that there are no subscriptions and no recurring payments. Expired licences may be prolonged at any time by purchasing an update.

If you would like to receive custom services from Tinman 3D, such as consultancy, training or software development, please send a request to sales@tinman3d.com. We will get back to you with a quote that is tailored to your specific requirements.

Overview

The Tinman 3D SDK can be downloaded and evaluated instantly, free of charge, without creating an online account and without time limit.

How to evaluate the SDK
  1. Submit your evaluation request by sending an email to sales@tinman3d.com.

  2. Receive a Licence Certificate document, which contains the login credentials for download.

  3. Download the Tinman 3D SDK:

    • Get the PREVIEW version via web download.

    • Get the RELEASE version via web download.

    • Get the RELEASE version via Git checkout.

  4. Follow the instructions of the Getting Started page.

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.

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.

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

Stand-alone tools

The codex, tinmanpc and tinman3d-workshop tools 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
  1. Submit your licence request by sending an email to sales@tinman3d.com.

  2. Receive a formal non-binding purchase document per email, which includes a tailored quote. This document has a unique Document Number (also referred to as Order Number or Invoice Number).

  3. Make a purchase decision and follow the payment instructions, for example a direct SEPA / SWIFT / Bitcoin transfer or a payment via a 3rd-party payment provider.

    The payment process is linked uniquely to the tailored quote in the purchase document, both via the Document Number and the MD5 checksum of the whole purchase document:

    Tinman 3D SDK Licence / T3D-00000 / MD5-00000000000000000000000000000000

    Depending on the payment process, you will either receive a separate invoice document or the purchase document itself will act as the formal invoice document.

  4. 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: T3D_XYZ12). You can find that number on the purchase document and 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, as it appears on 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 Items

The Licence Certificate specifies the licensee, who can either be a legal entity or an individual person.

Each certificate contains a number of licence items, where each item belongs to one of the types that are listed in this section. Each licence item has one or more Licence Keys, which are used to activate the SDK.

Legal entities need to have own licence items for their employees. Although an employee - as an individual person - may have own licence items, these cannot be used for work on behalf of the employer.
Table 1. Tinman 3D SDK licence item types
Licence Item Type Releases Keys Binding[1]

Evaluation

password-protected 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.
⇒ Email support is available as separate option.

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.
⇒ Email support is available as separate option.

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.
⇒ Email support is available as separate option.

Commercial use is not included in this licence.

Support

time period

-

-

-

Terms

Adds priority email support to existing User, Site or Academic licences.

⇒ Priority email support for designated individuals
⇒ Provided by core developers of the Tinman 3D SDK
⇒ Support level BASIC, STANDARD or PREMIUM

Product

perpetual

current

1 [3]

Product

Terms

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

⇒ All SDK versions released on or before the purchase date
⇒ 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.

⇒ All SDK versions released on or before the purchase date
⇒ 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.

⇒ All SDK versions released on or before the purchase date
⇒ Embed SDK redistributables in any product of the licence owner and derived 3rd-party products.
⇒ 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:

Grants access to the binaries of the following components of the Tinman 3D SDK:

⇒ Source code is licensed separately for each programming language: C#, C++.
⇒ All SDK versions released on or before the purchase date
⇒ 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/10/20).


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

-

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

-

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

Risk Assessment

This section describes potential risk scenarios that could arise (being caused by higher force, for example) after having spent money for Tinman 3D SDK licensing and having invested development time using the SDK.

§1 - Unexpected Suspension of Online-Services

For whatever reason, the online services of Tinman 3D are no longer available:

  1. https://www.tinman3d.com
    This is the landing page. It only provides basic information.

  2. https://manual.tinman3d.com
    The Tinman 3D SDK manual can be browsed online here.

  3. https://download.tinman3d.com
    The Tinman 3D SDK packages may be downloaded from here.

  4. https://data.tinman3d.online
    Geodata Examples are provided for streaming and/or download here.

  5. https://licence.tinman3d.com
    Licence Certificate documents may be downloaded from here.

  6. NuGet Packages
    For convenience, the .NET assemblies of the Tinman 3D SDK are hosted here.

§2 - Unexpected Suspension of Licencing

For whatever reason, Tinman 3D is no longer able to provide new licence keys for the Tinman 3D SDK.

§3 - Unexpected Suspension of Support

For whatever reason, Tinman 3D is no longer able to provide support via email or to communicate at all.

§4 - Unexpected Suspension of Custom Services

For whatever reason, Tinman 3D is no longer able to provide custom services.

§5 - Unexpected Suspension of Development

For whatever reason, Tinman 3D is no longer able to further develop or maintain the Tinman 3D SDK.

To guard against these risks, we recommend to follow these guidelines:

  • Always download and archive all Tinman 3D SDK packages for the version you are using. This will guard against §1.2, §1.3 and §1.6.

  • Always download and archive your Licence Certificate documents, including printed versions on paper. This will guard against §1.5.

  • Do not rely on being able to access the Geodata Examples online. Instead, download datasets as a whole and host them on your own infrastructure. This will guard against §1.4.

  • Consider having a perpetual Distribution licence in place, to make sure that none of your software development processes break when your Development licence expires (see below). This will guard against §2.

  • Consider having a Source Code licence in place, in order to be able to perform code review, modifications and bug-fixes on your own. This will guard against §3 and §5.

  • Always download and archive your Task Document for the custom services you receive from Tinman 3D and actively communicate with the developer who is responsible for you. This helps to guard against §4.

If you are using one or more tools of the Tinman 3D SDK for your software development processes, please take the following into account:

  • The tinman3d_workshop application will run in feature-locked mode when there is no Development licence. Instead of integrating manual steps into your process, consider using scripting to perform automated steps via the tinmanpc tool.

  • The tinmanpc tool will run in feature-locked mode when there is no Development licence. By using the API directly, the features of tinmanpc may be integrated into your own toolset. Consider unlocking that toolset with a Distribution licence.

  • The codex tool will not run without a Development licence. In this case, the whole workflow must be performed manually, which most likely causes degradation in productivity and code quality. The Code-X Framework is available with a Content licence, which makes it possible to integrate the features of codex into your own toolset. Consider unlocking that toolset with a Distribution licence.


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 licensed product and licence owner.