What is an IDL Application?

We use the term "IDL Application" very broadly; any program written in the IDL language is, in our view, an IDL application. IDL Applications range from the very simple (a MAIN program entered at the IDL command prompt, for example) to the very complex (large programs with full-blown graphical user interfaces, such as ENVI). Whether you are writing a small program to analyze a single data set or a large-scale application for commercial distribution, it is useful to understand the programming concepts used by the IDL language.

Can I Distribute My Application?

You can freely distribute IDL source code for your IDL applications to colleagues and others who use IDL. (If you intend to distribute your applications, it is a good idea to avoid any code that depends on the qualities of a specific platform. See "!VERSION" (IDL Reference Guide) and Tips on Creating Widget Applications (User Interface Programming) for some hints on writing platform-independent code.) Of course, IDL applications can only be run from within the IDL environment, so anyone who wishes to run your IDL application must have access to an IDL license.

If you would like to distribute your IDL application to people who do not have access to an IDL license, you have several options. Many IDL applications will run in the freely-available IDL Virtual Machine. If your application uses features not available in the virtual machine, you may wish to consider a runtime IDL licensing agreement. Runtime IDL licenses allow you to distribute a special version of IDL along with your application. See Distributing Runtime Mode Applications for a complete discussion of the different ways you can distribute an application written in IDL.