Saturday 5 April 2014

Wanna Build a Rocket? NASA’s About to Give Away a Mountain of Its Code

Inside the Launch Control Center, personnel watch as the Saturn V rocket carrying the Apollo 11 astronauts lifts off the launch pad on July 16, 1969. Image: NASA
Inside the Launch Control Center, personnel watch as the Saturn V rocket carrying the Apollo 11 astronauts lifts off the launch pad on July 16, 1969. Image: NASA
Forty years after Apollo 11 landed on the moon, NASA open sourced the software code that ran the guidance systems on the lunar module.
By that time, the code was little more than a novelty. But in recent years, the space agency has built all sorts of other software that is still on the cutting edge. And as it turns out, like the Apollo 11 code, much of this NASA software is available for public use, meaning anyone can download it and run it and adapt it for free. You can even use it in commercial products.
But don’t take our word for it. Next Thursday, NASA will release a master list of software projects it has cooked up over the years. This is more than just stuff than runs on a personal computer. Think robots and cryogenic systems and climate simulators. There’s even code for running rocket guidance systems.
This NASA software catalog will list more than 1,000 projects, and it will show you how to actually obtain the code you want. The idea to help hackers and entrepreneurs push these ideas in new directions — and help them dream up new ideas. Some code is only available to certain people — the rocket guidance system, for instance — but if you can get it, you can use it without paying royalties or copyright fees. Within a few weeks of publishing the list, NASA says, it will also offer a searchable database of projects, and then, by next year, it will host the actual software code in its own online repository, a kind of GitHub for astronauts.
NASA's "space rose". Image: Courtesy NASA
NASA’s “space rose.” Image: Courtesy NASA
It’s all part of a White House-directed push to open up the federal government, which is the country’s largest creator of public domain code, but also a complete laggard when it comes to sharing software. Three years ago, President Obama ordered federal agencies to speed up tech transfer programs like this. And while the feds have been slow, the presidential directive is starting to bear fruit. In February, DARPA published a similar catalog, making it easier for entrepreneurs to get ahold of the Defense Advanced Research Projects Agency’s code too.
NASA has run a technology transfer program for over 50 years. It has given us everything from the Dustbuster to Giro bicycle helmets to “space rose,” a unique perfume scent forged in zero-Gs. But it’s high time the agency actively pushed out its software code as well. Increasingly, NASA’s research and development dollars are paying for software, says Daniel Lockney, Technology Transfer Program Executive with NASA’s Office of the Chief Technologist. “About a third of everything we invent ends up being software these days,” he says.

From Star Mapper to Bear Tracker

Already, NASA software has been used to do some pretty amazing stuff outside the agency. In 2005, marine biologists adapted the Hubble Space Telescope’s star-mapping algorithm to track and identify endangered whale sharks. That software has now been adapted to track polar bears in the arctic and sunfish in the Galapagos Islands. “Our design software has been used to make everything from guitars to roller coasters to Cadillacs,” Lockney says. “Scheduling software that keeps the Hubble Space Telescope operations straight has been used for scheduling MRIs at busy hospitals and as control algorithms for online dating services.”
All of the software that NASA writes is copyright free, and although the aforementioned rocket guidance system code and other software may be too sensitive to share, many other projects can be shared with anyone — in theory, at least. If the NASA software isn’t open-source, you need to get cleared by the space agency for a release. Sometimes, this is as simple as proving that you’re a U.S. citizen and signing a usage agreement. The problem is that with more than a thousand projects — coded by software developers at 10 different field centers — it has been tricky for outsiders to get an idea of what NASA has. That’s why Lockney and his staff built this master catalog.
It was no easy task. “The agency is so spread out that putting everything together…and making it all match has been one of the biggest challenges,” he says. By Lockney’s count, the agency has about 227 public projects, hosted on sites such as GitHub and Source Forge and even NASA’s own website. It had been sharing a lot more code via word of mouth, but putting the 1,000 projects he found in a single catalog will make it a lot easier to figure out what software NASA has.
Lockney expects the catalog to “grow significantly” after it gets released. “More code will come out of the woodwork. And we’ll process it, categorize it, write up a plain language explanation of what it is, and add it to the catalog.” It’s a daunting task, but there’s no better agency to pull off an open-source moon shot.