What Does Architecture Neutral Distribution Format (ANDF) Mean?
Architecture neutral distribution format (ANDF) is a technology used for software porting of "shrink-wrapped" binary software applications that are independent of processor architecture. The ANDF specification was defined by the Open Software Foundation.
Techopedia Explains Architecture Neutral Distribution Format (ANDF)
The main purpose of ANDF is to distribute software in the form of intermediate code that can be executed on stack-based virtual machines. This intermediate code gets compiled at its installation stage rather than just in time (JIT). The only drawback is that the install-time code generation is less efficient than JIT.
In April 1989, the Open Software Foundation requested that a technology be developed for architecture-neutral software distribution. Fifteen different proposals were received for the technology development, which included different technical approaches such as obscured source code, compiler intermediate languages and annotated executable code. The ANDF technology was selected after a tough evaluation of other competing approaches and various implementations.
The Open Software Foundation released the ANDF development snapshots. When it stopped working on the ANDF project, the development work was continued at other organizations. However, ANDF faded during the 1990s, largely because the variables and functions in ANDF used to get saved in intermediate code, which eases the reverse engineering for its source code. The problem is that this type of format is paramount to disclosing the intellectual properties of a commercial software company to the public.
In the year 2000, the concept of free and open software began to spread. Developers at that time were more concerned about wide software distribution than protection of intellectual properties, and the ANDF re-emerged as a good choice as far as software distribution was concerned.
As of 2011, TenDRA, an ANDF project providing C/C++ compilers for ANDF, is still going strong.