Mutant Proposal

Introduction

These pages describe the design and implementation of mutant.

For some time, there has been the concept of Ant 2.0. a rearchitecting of Ant designed to address the shortcomings in the design of Ant 1.x while drawing the experience gained in that development. This rearchitecting would most likely be accompanied by at least some break in backward compatability. Indeed this fact was recognized by Duncan, the original author of Ant when he proposed his AntEater revolution. Over time Ant 2.0 has come to be known as Ant2 and the current Ant codebase is generally known as Ant1.

Mutant is my proposal, a revolution, for Ant2. Actually, I consider it more an evolution of the design and implementation used for Ant1, but in Jakarta parlance, being a separate codebase, it is termed a revolution.

There is no special significance in the name mutant. I chose it because, as a word, it is an extension of the word ant and it also signifies a change from the previos generation

Other Proposals

Mutant is not the only proposed revolution for Ant2. Peter Donald, another Ant committer, has developed another proposal known as Myrmidon, which you should also investigate if you are interested in a different view of how Ant2 should be realized. Other people hold the view that there is no need for any rearchitecting and the Ant1 codebase can continue to evolve.

As I write this, no decision has been taken as to which codebase will be adopted for Ant2. It may not be mutant or it could be some entirely new proposal. This document does not compare and contrast mutant with these other proposals or points of view, at least not explicitly. It is just intended to describe and highlight how mutant is designed and implemented.


Copyright © 2000-2002, Apache Software Foundation