Virtual Machinery logo BTree Licensing Model
Home BTree Guide BTree Performance Sample Applications BTree Roadmap Other Products
Virtual Machinery’s Licensing model


Our Licensing model is designed to provide the widest possible range of options to our customers and at the same time reducing the number of products to a manageable number. For further information on how best to use our licensing model for your specific needs you should consult our roadmap. For current pricing consult the Products page on our website.

Base License
The base license includes the relevant BTree bytecode (packaged as jar files), full documentation of the public interfaces, demonstration code showing how to use the jar files and additional product documentation relating to the product, the demonstration applications and BTrees in general.

A base license allows you to develop and run applications based on Virtual Machinery’s BTree on a single machine. You cannot distribute these applications unless you purchase a distribution license (see below).

There is no Base License option for the Smalltalk version of the code (see below).

Distribution Licenses
If you wish to distribute an application (ie install it on another machine) which uses the BTree classes you will need a distribution license. There are three levels of distribution license -

  • Site Distribution license - Allows an application which uses the BTree classes to be installed on any number of machines on a single physically contiguous site. It also allows development of applications using the BTree classes to take place on any of these machines.
  • Corporate Distribution license - Allows an application which uses the BTree classes to be installed on any number of machines belonging to a single corporate entity. It also allows development of applications using the BTree classes to take place on any of these machines.
  • Commercial Distribution license - Allows an application which uses the BTree classes to be sold commercially.

In each case the Java code must be distributed as obfuscated jar files. If you are simply redistributing the Virtual Machinery jar files this is not a problem as these are already obfuscated. If you have bought the source code and modified it to suit your needs then you must obfuscate the released code. At present we only approve Retroguard (a freeware obfuscator available from Retrologic systems) but are happy to consider others provided you consult with Virtual Machinery first. You cannot distribute any of Virtual Machinery’s source code in any circumstance - this also applies to the Smalltalk version of the product.

The Commercial Distribution license is required in addition to your Site, Corporate or Base license i.e. if your Corporation is developing an application at a number of different physical sites and this application is then being sold on a Commercial basis you will need both a Coporate and a Commercial Distribution license. If you are a single developer operating on just one machine and developing an application for commercial distribution then all you need is your base license and a Commercial Distribution license.

In the case of the Java platform the Distribution licenses include licensed copies of the jar files. These copies do not throw up a banner on the console when they are first used.

The distribution license covers all of the base license jars and applications built with the Smalltalk code. This means that the purchase of the appropriate Distribution license(s) is a once off cost. All current and future Virtual Machinery BTree products are covered by this license. This means that the cost of upgrading is reduced to that of the Base Licenses.

Source Code
You can purchase the source code to all of the Virtual Machinery BTree products. The Java source code versions come with full Javadoc and additional documentation relating to the modification and extension of the existing classes. Virtual Machinery’s Smalltalk BTree Release only comes as a source code version and has full interface documentation as well as additional documentation relating to the modification and extension of the existing classes.

BTree Toolkit
The BTree Toolkit is an additional product which offers a number of useful tools for manipulating and examining BTrees created by Virtual Machinery’s BTree classes. You can find more details relating to it here. The version for the Java platform is available as both a jar file and as a source code version. The Smalltalk Source code license comes with a cut-down runtime version and the full source code version is available as a separate product. If you have purchased a Site/Corporate license then these licenses also cover Site/Corporate use of the toolkit. The Commercial Distribution License does NOT cover the toolkit.

The jar version comes with documentation relating to the use of the product , source code versions additionally include full Javadoc (Java platform) or class documentation (Smalltalk) and additional documentation relating to the modification and extension of the existing classes.