Open for Development

Monday, January 3, 2011

The Object Oriented Data Technology (OODT) architecture, originally developed at NASA’s Jet Propulsion Laboratory, Pasadena, Calif., was recently voted to become a fully-fledged Top Level Project (TLP) at the Apache Software Foundation, Forest Hill, Md. This important recognition means that OODT will be one of the few projects to receive project management and resource support from the open-source software foundation.
 

 

The OODT Software Package

The Object Oriented Data Technology architecture makes use of metadata to seek out disparate and geographically dispersed computing and data resources for use by any end user. For example, users of a data network could use OODT tools to make data that is physically hosted on one side of the country searchable and available for processing on the other side of the country.

Architecture
OODT architecture services.

Conceived at JPL by Daniel Crichton in 1998, OODT went through several development phases that led to many uses of this architecture. It was first intended to build a national framework for data sharing, but soon other applications in physical science, medical research, and ground data systems became apparent. Two of the first implementations of OODT were to the National Cancer Institute’s Early Detection Research Network (a national data network for organ-centric cancer research to support early detection) and NASA’s Planetary Data System (NASA’s archive for all planetary science mission data collected over the past 30 years).

Building on the success of these implementations, OODT has been used in several NASA Earth science mission efforts, such as the SeaWINDS QuikSCAT project, the OCO/Atmospheric Carbon Observations from Space (ACOS) project, the joint NASA/DOD/NOAA NPOESS Preparatory Project (NPP) and the Soil Moisture Active Passive (SMAP) mission testbed. OODT is also used in a number of research and technology tasks at JPL spanning astrophysics, radio astronomy and climate change research.

At its core, OODT is middleware that is now primarily written in Java. Today, its architecture is able to handle computer processing workflow, hardware and file management, information integration, and database links. It also has several Java and Python-based APIs that allow users to easily interact with the system.
 

 

Open to All

By 2008, OODT was in operational use by several projects. However, the developers felt that its features could be expanded to perform tasks beyond its original intent. One way this could be done was to allow outside developers to use and develop the code.

“We regularly used open source software in our daily JPL tasks and were impressed with the quality of code and vibrant nature of free and open source software [FOSS] communities,” said Chris Mattmann, a lead OODT developer at JPL and Vice President of OODT at the Apache Software Foundation. It was then decided that OODT should be released as an open source software package.

Having OODT as an open source package offered several advantages. First, it would make the code available to a community of developers – a number that is potentially in the tens of thousands – who could act as extra development resources. Secondly, new features could be added by several developers at the same time, thus speeding up development. Thirdly, having the input of a number of developers makes the code more robust, because it acts as a peer-review process and pushes a certain development standard for the package.

“OODT had been internally operating in open source mode at JPL for years. The time had come to realize some of the benefits of open source in the broader, external community,” said Mattmann.

As such, new sets of developer eyes and unique developer talents were seen as a way to quickly and robustly enhance the quality of the OODT code. Having the OODT code open to the development community was seen as a necessity to “grow” new features and capabilities.
 

 

Apache Software Foundation Incubation

Maturity Model
The Apache maturity model.

After research into several open source software distributors and organizations, the Object Oriented Data Technology team at JPL decided to make it available through the Apache Software Foundation, a decentralized community of developers and a non-profit corporation that supports Apache software projects, such as the Apache HTTP Server. Apache has a user community of over 3,500 active contributors and a vast software repository that contains over 1.2 million code revisions.

In January 2010, OODT was submitted to Apache as an incubation project under the Apache License for open source software distribution. This incubation phase acts as a proving ground for software packages – they have to demonstrate that they have the support of a diverse community of developers (e.g., no more than 50% can be from one company) who are committed to enhancing the quality and usability of the code. In this phase, OODT had to:

  1. Increase the diversity of its “committer” community (people interested in the code who would commit updates and bug fixes to the repository)
  2. Port all its licenses over to the Apache License framework
  3. Make a release of the software

Less than 11 months after it was accepted as an incubation project, v0.1 of the software was released and the Apache Software Foundation promoted OODT to a Top Level Project soon after. Typically, promotion to a TLP can take up to two years. This is an important step forward for OODT because becoming a Top Level Project meant that the Object Oriented Data Technology architecture had the backing of the foundation.

As Apache is a meritocracy, this lends OODT creditability because it has been able to gain developer support within the Apache organization through the robustness of its code and the support of its community.

TLP status also allows the OODT development team access to Apache’s resources and guidance. To date, fewer than 100 software packages are designated as Apache Top Level Projects. OODT is the first JPL and NASA developed software package to become a Top Level Project, and moreover, the first NASA project to be hosted at the Apache Software Foundation. The work is far from over though as plans are being made for future releases of the code.

As for the future of OODT, “Currently we’re working on some fixes to minor bugs in the initial Apache release,” says JPL’s Mattmann, “and we’re working on the addition of components to more reliably and accurately extract metadata from science datasets.”

(ApacheTM OODT is copyrighted by the Apache Software Foundation)
 


Contacts

Chris Mattmann

Phone: 818.354.8810

E-Mail: Chris.A.Mattmann@jpl.nasa.gov

 

Dan Crichton

Phone: 818.354.9155

E-Mail: Daniel.J.Crichton@jpl.nasa.gov
 


Links