documentation

Licensing

Please read this section with attention! It will describe the first steps and some basics you will need to know in order to use the SDK and will lead you to how tos and tutorial pages describing an easy start on the platform you are aiming.

General

The license models of the VisionLib have emerged over the last few years and are crucial to enable users to successfully develop and distribute applications using the VisionLib technology.

Please remember that developing software is costly and that we have invested more than 10 years in creating this piece of software. We are encouraged to deliver a good product to you and are constantly up to add features while allowing for long term stability. Since the VisionLib technology is and can be used in a wide field of applications, we have designed a few license models, allowing to cope with current market needs.

Prices?

Please read through this chapter before asking us regarding prices. Please write to sales.nosp@m.@vis.nosp@m.ionli.nosp@m.b.co.nosp@m.m and add your desired license model and platform. We will be happy to create a quote for you.

The License File

To start the SDK, no matter if you use it within Unity or as simple native SDK, you will need a valid license file in order to make it work. The license file describes the capability of the library and is generally personalized.

It includes:

  • An expiring date - Which makes the license work until this date reached
  • An issuing date - Which describes, when the license has been issued
  • Your personal information
    • Email
    • Address
    • Name/Company
  • Platforms that are allowed to be deployed and run
  • Optional Host IDs/Bundle IDs that the license might be bound to
  • Optional Models that the license might be bound to (in form of hash codes)
  • Additional software features or bundle feature descriptions that the VisionLib may use for restricting or opening up at runtime
  • A reference to license agreements that you have accepted for using this particular license.

It is a plain text signed XML file which must not be changed.

License Types

A general way to distinguish software distribution is to sell or rent a license. We think that renting a VisionLib license can be a benefit for anyone, at least when development takes place. It allows us to calculate support and identify potential features to be developed. For you it will give you the right to update and gain support.

Buying a license is the a common way to deliver something that you also do not want take care afterwards. We do handle this in the same way.

We have therefore created the following licenses:

Trial License

The trial license allows the user to test the basic functionality of the SDK. Currently model based tracking of one object and tracking of one poster. It does not allow creation of applications for sale or any other commercial usage. Anyway publishing results to public available video channels is only allowed with our permission.

We do not allow the commercial usage, while using this license type. It carries a permanent watermark and does allow starting the SDKs tracking functionality for 5 times per deployment. After 5 starts of the applications, the VisionLib SDK will provide a black screen and the acquisition of the camera pose will fail. A text message in the screen will advise the user to redeploy the application to the device. When the license expires, the SDK will provide a black screen and will not allow the acquisition of the camera pose anymore. It will also state this behaviour in the watermark in the camera image. We might not accept multiple trial license requests from the same company or reduce the time of trial for those.

Trial licenses do not include any support or warranties. Since we're constantly working on VisionLib to improve it, you're welcome to write us a mail at reque.nosp@m.st@v.nosp@m.ision.nosp@m.lib..nosp@m.com regarding technical questions, ideas or sorrows.

Developer License

The developer license allows the user to create applications targeting mobile platforms (except UWP). Anyway it will show a watermark from time to time (after 30s) and is not supposed for applications being deployed to mobile app stores or internal productive usage. This license is not transferable to other persons or developer machines.

A developer license is restricted to one host and allows deployment of applications to mobile devices with any valid bundleID. The developer license offers support through the time of its validity and the possibility to update the SDK.

The developer license is a subscription license, which can be rented for 1 year and one seat. A small watermark will be shown at random positions after 30s from starting the pipeline. It will fade away after 8s and restart again after 20s.

The license will not work, when expired and will state this through an internal error code and through the watermark. The SDK will provide a black screen instead of the camera and will not allow the acquisition of the camera pose anymore.

Distribution License

If you have created your application using a developer license, you may distribute it through the app store or deliver it to a customer. The distribution license removes the watermark but usually binds up to 3 bundle identifiers and the used models to the license (it is valid for one app anyway). 3 models are free to register, additional ones will be charged. Model registration works with hash codes, generated from the model files itself, which can be sent to us (see using the License Tool).

You may rent a distribution license for a certain time period or buy a perpetual license. The first case is for instance useful when deploying for a show for a certain time. The perpetual license is more useful when deploying to the appstore.

The distribution license is fixed for one year to the version of the VisionLib SDK.

Distribution licenses without any model binding are possible but require an individual agreement.

Engineering License

The engineering license is supposed to be used for desktop development of industrial applications. It can be seen as the big brother of the developer license. It allows the usage in productive environments and must be licensed for each host per year. It can be either used for HoloLens per device development or for integration of native applications using the SDK. It does not show any watermark. When deploying to mobile platforms (including UWP) it will show a watermark.

It is possible to open up the injection of images in this license option on request, which will allow providing external image sources to the tracking algorithms.

Furthermore the engineering license allows the usage of additional tracking pipelines (e.g. use of multiple camera calibration and tracking) with extra charge. When the license expires, the SDK will provide a black screen instead of the camera and will not allow the acquisition of the camera pose anymore.

By renting an engineering license the customer also gains the ability to define the runtime of the license on his own and distribute various host IDs over its total runtime.

Engineering Runtime License

The runtime version of the engineering license will not allow developing, but distributing the generated application. It can either be issued as a perpetual or subscription license. It inherits the options and features of the engineering license.

Summary and Explanation.

Here a list of available license types and its constraints:

License Type WatermarkRuntime Limited # Starts/Deployment # of Models Commercial Use Bound to Seat/BundleEmail Support PriorityUpdates Deployable toOpt. Dongle
Trial License YES One month after issuing 5 unlimited NO NO Low YES Desktop,Mobile,HLNO
Mobile Developer License Eased 1 Year unlimited unlimited YES YES High YES* MobileYES
Engineering License NO individual unlimited unlimited YES YES High YES* One DesktopYES
Engineering License HoloLensNO individual unlimited unlimited YES YES High YES* One DeviceNO
Distribution License NO individual unlimited limited YES YES High Version Fixed MobileNO
Engineering Runtime License NO (individual) individual unlimited individual YES individual High Individual Desktop or MobileYES

Feel free to drop an email to sales.nosp@m.@vis.nosp@m.ionli.nosp@m.b.co.nosp@m.m in order to ask for prices. We are open to discuss individual opportunities and options.

Explanation of Limitations

Watermark: By default, the SDK disallows the injection of the camera image and thus on tablet devices you will rely on the image you will get from the SDK. Before passing the image to your application, a personalized watermark will be added.

With a trial license, the watermark is enabled at all time, floating around in your camera image.

When using a developer license, the purpose of the watermark is only to prevent using the license in a commercial app. For this, it will only appear every 20 seconds after a time of 30 seconds. It is also a bit smaller and appears like this:

On HoloLens, the watermark appears like seen below:

Runtime: The expiration date will make the application stop working, when the current date exceeds the one fixed in the license file. This is when the contract ends in case of a rental license.

Limited # Starts/Deployment: This limitation allows developing AR apps and testing your application when developing. Usually this process consists out of constantly changing your project and re-deploying it to the device. Anyway, when your application is ready done, you can only start the tracking pipeline for 5 times until re-deployment. It is NOT limited in time. There is also NO limit when using the SDK from within the Unity3D editor. We have this feature in order to motivate you to buy a developer/engineering license for development.

Number of Models: Generally you can have a certain number of models that can be tracked with a license. For tracking an unlimited number of models, you would need to discuss this individually with us. In case of development and engineering licenses you are free to go of course.

Bound Seat: When working with a desktop (macOS or Windows) or Windows tablet you will need to register a so called host ID with the license in order to work with it. You might still be able to deploy with a registered appID/Bundle identifier to a mobile phone or tablet running Android, UWP or iOS.

Support: We usually allow all users to ask technical or any other questions for support. Anyway mails of professional users will be prioritized.

Updates: For specific projects and installations it might be useful allowing an application to let it as is. For subscription based licenses, support and updates can be delivered. For lifetime licenses the version number is fixed and only updates for the time of usual guarantee will be supported.

Deployment Targets: We distinguish between Mobile, Desktop and Glass (HoloLens) targets. Mobile deployment targets include: iOS, Android, UWP64 and MacOS-Applications which can be identified by a bundle identifier. We depict Desktop systems as Windows 32/64 bit applications or certain MacOS Desktop applications. A UWP 32 bit target is for instance a HoloLens device and is usually bound to the device itself.

Hardware Dongle: In case you want to transfer your Developer-, Engineering-, or Runtime Engineering-License to a different PC/Mac you may buy a hardware dongle in such a case for the seat, instead of providing a software host ID. This can be useful in case you want to make your product hot swappable, or develop on even when you want to develop on a laptop and desktop PC.

Licensing Information regarding Multi Model Tracking (Beta)

Since Version 20.1.1 we have added ›Multi Model Tracking‹. This feature enables you to track multiple objects simultaneously at the same time. The current Licensing options grant to use Multi Model Tracking, but limit tracking to three models at once. While tracking more objects is technically possible, this needs a special License option. If you want to track more models at once using Multi Model Tracking, please contact us at sales@visionlib.com.

License Command Line Tool

To request a license for a specific device or model requires the host ID of the device and a hash code for the model. This values can be generated with the provided VisionLib License Tool. It is a command line tool and provides the following arguments:

Usage on Windows

Print the current host id

LicenseTool -i

Print information about the given license

LicenseTool -l <PATH_TO_LICENSE_FILE>

Generate hash code for the given model(s)

LicenseTool -m <PATH_TO_MODEL1> -m <PATH_TO_MODEL2>

Please make sure to copy the complete block enclosed by

-----BEGIN MODEL HASH BLOCK-----
[...]
-----END MODEL HASH BLOCK-----

Usage on macOS

Print the current host id

./LicenseTool -i

Print information about the given license

./LicenseTool -l <PATH_TO_LICENSE_FILE>

Generate hash code for the given model(s)

./LicenseTool -m <PATH_TO_MODEL1> -m <PATH_TO_MODEL2>

Please make sure to copy the complete block enclosed by

-----BEGIN MODEL HASH BLOCK-----
[...]
-----END MODEL HASH BLOCK-----

Host ID and package family on the HoloLens

Engineering License

If you will be asked for the host ID of your HoloLens application, you can find it in the log of the Visual Studio debug console, when deploying for HoloLens. Please remember that the host ID will change with your device and application name. So it is bound to a certain device-app configuration.

Developer License

If you will be asked for the package family name of your HoloLens application, you can find it like stated in the following screenshot:

Please keep in mind, that the Package Family Name will change with your certificate and application name. So you should make sure that the correct certificate is selected and it should not be changed. The developer license in the current state is bound to a single application.

Important: We sometimes experienced the problem that the Certificate selected in Unity wasn't correctly selected in Visual Studio. This resulted in a displayed package family name which differed from the one used in the application. To overcome this problem please select Choose Certificate... and select the Certificate you selected in Unity.