September 30, 2004

Open source lives on Mars with rover mission extension

Author: Jay Lyman

Armed with some of NASA's most sophisticated gear and the space agency's
biggest use of open source software and development ever, the Spirit and
Opportunity Mars rovers
just received clearance for an extended tour of the Red
Planet.

Jeff Norris, a senior computer scientist at NASA's Jet Propulsion
Laboratory who headed development of the rovers' open source-heavy Science
Activity Planner (SAP), said the mission extension was a steal for
taxpayers, whose space and research support has shrunk along with NASA
budgets.

"If you've got two functioning rovers sitting on Mars, the money involved
in that extension is the greatest bargain in the world," Norris told
NewsForge. "They can go and explore things and see things that have never
been seen before every single day."

Norris -- who has highlighted the rovers' open source components, their advantages and OSS
potential at NASA -- said while the rovers were built to travel a maximum of
600 meters, the slow, deliberate space buggies have each logged about 3.5
kilometers to date.

"The thing we're most excited about is the performance of the rovers that
has far exceeded expectations," Norris said. "There are so many pictures
[the rovers have already delivered], but there is so much more to see."

Open and able

After surviving an unEarthly-cold, Martian winter solstice over the last
couple of weeks -- during which neither Spirit nor Opportunity were given
commands for activities or movement -- both rovers are now being revved up
again by NASA engineers on Earth who are relying on open source systems for
much of the rovers' functionality.

The Mars rover, the Red Planet, and a view of the Blue Hills.

The rovers' Science Activity Planner (SAP), a software system designed
to control and communicate with the rovers as they drive around the surface
of Mars, uses eight open source components for critical mission tasks, such
as activity plans, calculating energy, and other resource usage. The open
source components are: Castor, a data-binding framework that provides the
core input and output functions for SAP and lets it easily move data between
XML files, Java objects and SQL databases; Java Expression Parser (JEP) for
parsing and evaluating mathematical expressions used by SAP; Xerces-J, a
validating XML parser used with Castor to read and write all mission
formats; MySQL database and MySQL Connector middleware that converts Java
Database Connectivity calls in SAP to the SQL network protocol; HSQL
Database Engine to give applications a local database when a shared MySQL
database isn't available; Virtual Reality Modeling Language (VRML97), a
geometry loader SAP uses for 3D spacecraft models; and Skaringa, a
data-binding framework similar to Castor that is used for its
time-formatting functions.

Norris said open source proved to be the most economical solution as he
and his team looked to give taxpayers more bang for the buck in the rovers.

"We're not being funded to go write databases and solve problems that
other consortiums and other open source groups are already doing well," he
said. "We may be good at driving rovers, but we're not good at database
programming, using an XML parser, or building a framework. The biggest
benefit of open source is you don't develop what already exists at a much
better quality than we can produce."

While both Spirit and Opportunity have proven agile vehicles as they
maneuver around the bumpy, rocky terrain of Mars, Norris said the use of
open source software gave his team agility as it developed the rovers'
systems.

Norris said open source software is not necessarily onboard the Martian
rovers, but is instead here on Earth controlling them and communicating with
them. He explained that during development, NASA engineers were able to
focus on their mission rather than those components that were going to rely
on open source.

"It let us say, OK, we don't have to start development on this or that so
we reserved the investment for the things we had to do," Norris said. "We
were betting on open source tools to cover things, and it was easy for us to
let that capability go to open source."

Mission critical required source

Norris also praised the agility of the open source communities and
developers that rover engineers worked with in building Spirit and
Opportunity functionality.

The JPL engineer said that because the rovers' systems were all mission
critical -- a term that takes on more urgency when the hardware is being
sent to space with no return ticket -- the rover systems' designers demanded
access to all of the source code involved, including for some commercial
components.

"We didn't use anything in our systems that we couldn't get access to
source for," Norris said.

The commercial components that were used for rover systems involved
obtaining and paying for source code, but Norris said the team found the
open source software used in the project to be comparatively superior.

"Among the components we used, we found the open source components to be
of far greater quality," he said.

The responsiveness of open source developers was also impressive,
according to Norris, who compared turnaround times of hours for open source
to months for commercial providers.

"All they could really guarantee us was some developers were looking at
it and it might be in the next release in six months," Norris recalled. "We
had to fix it ourselves and it was a potential integration nightmare if they
did release a new version."

Response on fixes or workarounds from open source developers, conversely,
was immediate, Norris said.

"I'm not saying we'll never use a commercial component again, but it
certainly was a bad experience for us," he added.

Small step for software, giant leap for open source

The rovers running on Mars today and the Earthbound systems that control
them may be NASA's biggest use of open source software to date, but Norris
indicated there is more on the way.

Despite the typical resistance to and apprehension over open source --
and the added challenges of working on space stuff that is often categorized
as weaponry -- NASA is getting there, Norris said.

"People are obviously wanting and using open source and becoming more
aware of open source," he said. "We are making great strides in that
direction."

Norris referred to NASA's "Roverware" project, which is aimed at open
sourcing some of the products that were used in Spirit and Opportunity.
Although it may be limited to a source-available release that will require a
Caltech license to incorporate into a commercial product, Norris said the
space agency hopes to release as many as three of the components as open
source by the end of the year.

The first and most likely is the source code for SAP, which is known as
Maestro, and is
available for download in limited form today. Norris said NASA also hopes
this year to open source CLARAty -- a software infrastructure for rover
research -- and Roams, which is a simulator to help teach rover driving here
on Earth.

As for the extended mission for Spirit and Opportunity, Norris said as
long as the rovers are running, they are likely to get funding from NASA to
continue their travels on Mars.

"As long as they can move and take pictures, I can't imagine them turning
them off," he said. "You never know what you're going to see over the next
hill."