Agile OODT is a new version of `Object Oriented Data Technology`_.  It
improves upon the previous version by being easier to develop, maintain, and
extend; simpler to integrate by; and faster to use.

.. This is licensed software; see the files NOTICE.txt and docs/LICENSE.txt.

.. For installation instructions, see docs/INSTALL.txt.

.. References:
.. _`Object Oriented Data Technology`: http://incubator.apache.org/projects/oodt.html

.. meta::
    :keywords: OODT, data, object, OO, discovery, metadata,
        transfer, transformation, query, search, retrieval
    :description lang=en: Agile OODT, the nimble version of
        Object Oriented Data Technology

