Q&A: NASA's Sean Herron and William Eshagh on code.nasa.gov
On Jan. 4, NASA added to its growing collection of open.nasa.gov websites with the launch of code.nasa.gov. The site aims to be a "community hub" by providing access to current NASA open source projects, information on
its open source release process and a forthcoming forum for project collaboration.
FierceGovernmentIT caught up with William Eshagh and Sean Herron of NASA's open government team to talk about newest initiative and learn more about where it fits into NASA's broader open government efforts.
FierceGovernmentIT: In the year in review blog post it said there were already more than 65,000 views on open.nasa.gov since it went live in July 2011. Any idea how traffic numbers look so far on the code site? Can you tell me about response and interest level so far?
William Eshagh: You said 65,000 since July? Yeah, we've doubled. And a lot of the traffic is for code.nasa.gov announcement. That post itself has nearly 40,000 views alone. There's been an unexpected and overwhelming response to the site--thousands of tweets, thousands of hits. We've been talking to people both internal and external, it's generated a lot of excitement.
Sean Herron: I just checked and it's at 38,500 now.
Eshagh: Yeah, so nearly 40,000.
FGIT: Where do the code.nasa portion and the data.nasa portion--that I guess launched last August I believe--where do those fit with the broader open.nasa initiative?
Herron: The open.nasa initiative is our response to President Obama's Open Government Directive, which is a directive he issued on his first day in office, challenging agencies to be more transparent, participatory and collaborative. And so out of that there have been a lot of endeavors including data.gov, recovery.gov, a lot of other websites and initiatives focused on increasing the ability for citizens to understand what their government is doing.
As part of that, NASA has released a plan on nasa.gov/open. Part of that initiative was really trying to enhance the ability of people throughout NASA to both share what they're doing with the public, that story of NASA, as well as make it more and more accessible for people to work with us on everything--through our data, through our code and through our projects.
Open.nasa, which is our collaborative blog site, launched in July as kind of hub for all the activities that are related to open government at the agency. We kind of highlight a lot of different projects that are going on throughout NASA that we feel kind of align with the president's directive.
Data.nasa.gov, which launched I think in late August, is an initiative to make the data we have more accessible. We kind of realized going into this, that NASA has a lot of data, we collect terabytes upon terabytes of data every day from all of our missions.
A lot of it is publicly available online. It's out there, we add to it everyday, we put up a ton of stuff but there was no kind of central hub to find where all that data was. So, a lot of it relied on anonymous FTP servers that were out there and kind of obscure websites that were kind of difficult to locate unless you were looking. So, data.nasa.gov was designed to be kind of a hub to share all the data that we publish--it's a Yellow Pages if you will.
So, the last extension of this is code.nasa.gov. We realize NASA's already doing a lot of open source code development, we have a lot of projects that have already been open sourced. They're under the Apache license, GPL or NASA Open Source Agreement, NOSA. However there was no kind of central place to share those projects and also document exactly what kind of things we're working on to make it easier.
So, code.nasa.gov is focused on making kind of that sense of code projects available, but also by providing information for people who are interested in contributing back to projects or to figure out what exactly the status of a project is, what step you have to take to make things open source, how to contribute, what types of things do we need, and so forth. It's kind of another extension that we feel allows people to understand what NASA's doing and also able to actually give back and contribute more.
Eshagh: Yeah, and if I were to add to that, Sean said several terabytes, the latest I've heard is 10 terabytes a day from probes and various missions that area circling and even escaping our solar system right now. And to say it again, sharing our data and unifying how we share our data, and the same for code, are part and parcel of the open government initiative.
The goal is to be more transparent, participatory and collaborative with the public. Both data and code are manifestations of how we're actually trying to do that. We're reaching out, showing what we're trying to do in open source. We're inviting people to help us move forward and build our applications that hopefully build tomorrow's space system.
The same with data; we have some of the most unique data sets in the universe--not an exaggeration to say that--so we want to highlight what's available, show people what it's for and encourage them to use it. In fact, Sean, do you want to talk briefly about the Space Apps Challenge and how that ties into this?
Herron: Yeah, another kind of arm of what we're doing is we really want to take the code and the data that we're making available and put some challenges and incentives behind actually having people work with it. So, we recently, two months ago, launched something called the Space Apps Challenge. It's part of the president's Open Government Partnership, which is a partnership between a whole bunch of countries internationally that are all working of kind of fulfill this idea of open government.
The Space Apps Challenge is a worldwide event that we'll be hosting later this spring that we're going to bring together thousands of people across the world to create solutions to common problems that space agencies are encountering. So we're actually going around and collecting problem definitions basically of things that people would really like to have input on from the community. And we're going to invite people from around the world to get together for a weekend codeathon to create open source applications that we can use in the space program.
If you go to the site, you can see some of the problem statements that have been submitted by people all over the world, including NASA scientists, international scientists, as well as regular developers of application ideas. And we've actually been going through and reviewing those, adding a couple others that we've been able to gather from insight at NASA, which we'll be releasing shortly.
It's actually similar to another initiative that we do called Random Hacks of Kindness. It's a 2-day hackathon that we host twice a year in partnership with Google (NASDAQ: GOOG), Hewlett-Packard (NYSE: HPQ), Yahoo, Microsoft (NASDAQ: MSFT) and the World Bank, to create software solutions to disaster recovery and development work issues. We actually work really closely with a lot of NGOs to have them submit problems that they would like to see solved through open source applications. And we get developers around the world to develop solutions for that.
We're taking that model and applying it to space. So, it's something we're really excited about and something we feel both data.nasa.gov and code.nasa.gov are central to. We really feel that our data and our code work side by side. You can't really have any engaging, really cool applications without the data or if the data's out there but there's no application to interpret and use it with. So we feel those two initiatives work really closely together and we're hoping the Space Apps Challenge will kind of spread a platform that will show the amazing things they can do with it.
FGIT: To get an idea of the distribution of projects--given that code.nasa gives people a glimpse into projects that are currently underway--are those just projects being done by NASA coders or are there some the public are working on independently of NASA, using its data? If so, what's the distribution of in-house versus citizen-coder projects?
Eshagh: So, the projects that we have on there right now, and we're adding more--we've got a backlog in fact of projects we need to add to it--we're working on both an in-house form for individuals across agencies to submit their activities and an API so they can just report out automatically. But the projects you're seeing on there are projects that are NASA sourced and funded. So these are NASA open source projects.
We've gotten a lot of interest from academia saying that they are working on projects that are space-oriented and could have use for space applications, even industry a little bit. And so that was, I would say, an unexpected outcome--there have been a lot of unexpected things--but we wanted to highlight what NASA's doing and encourage public participation.
I say these are NASA-sourced projects but they are open to contribution from anyone. We're still working through, I think, some of the finer details of how to accept contributions from the public, because a lot of our projects up until very recently have been part of something called the NASA Open Source Agreement, which is an agreement that we created that governs all our projects. And the latest I heard they were finalizing the contributor license agreement for that agreement so that projects that are released under, the acronym is NOSA, will have a contributor license agreement so that the projects can--I don't want to use the word legally--but they have an agreement in which the public can contribute back to it and everything is very clearly defined.
Does that answer your question?
FGIT: Yeah, definitely. Because right now--just to make sure I have this straight--there are different licensing concerns if something is created by a government employee, for a government project, right, than there is for someone who is not a government employee?
Eshagh: If a government employee, working on a government project writes a piece software that's treated in a unique way. More often than not, open source projects at NASA are collaborative efforts between NASA government employees and NASA contractors and when that happens we have to be a little more creative with how we approach the usage rights problem. Because if a government employee creates something, copyright doesn't apply to it, it's considered a public works. If a contractor and a civil servant work together, it's not so clear and that's why we have the NASA Open Source Agreement and what is, I believe, soon to be delivered or already available the contributor license agreement for the parent agreement.
But I would like to also add that we've been trying to branch away from the NASA Open Source Agreement a little bit. It's sort of a niche license and not a lot of people are familiar with it. We recently released Nebula the cloud computing platform controller on Apache 2, and that's what led to OpenStack--Rackspace also released some code under Apache2 together and created OpenStack.
We have a number of projects going the Apache 2 route and if they're not on there, they're working on it because that's seen as a way to interact with the public without as many burdens, without having to understand a new license, understand its terms, have your lawyers review it. Apache is well understood, broadly distributed. We're kind of using that one. But that's not to say that's exclusively the right license for the right job kind of deal. We're exploring more license options.
FGIT: That's exciting about having the contributor agreement side of things finalized soon. It sounds like that could have implications governmentwide--
Herron: On that note the military, the Defense Department, has been doing a lot of really kind of exciting work with open source. I don't know if you're familiar with Forge.mil--
Herron: But that's their open source hub and they've actually been very, very bleeding edge on open source in government and I think we're taking a lot of examples and best practices from them.
Eshagh: Yeah we had a lot of people at our Open Source Summit from Forge.mil, a lot of military open source representation there.
FGIT: I actually thought immediately of Forge.mil when I saw that the forum capability would be coming out soon on code.nasa. Is it going to be like a Forge.mil-platform for collaboration?
Eshagh: We're still working through what makes sense to do. In talking with our projects, the infrastructure for conducting an open source project is treated ad hoc, it's piecemeal right now. There isn't a tool kit available or any guidance from NASA on how to go about doing this, best practices and things like that.
Forge.mil, as I understand it, is an open source repository. I'm not sure that we're looking immediately to start hosting new projects ourselves but helping people connect with GitHub. We may offer something like Forge.mil for our internal projects. So, with the lifecycle it could potentially start as open source. Nebula for example was open source through its entire development lifecycle.
But a lot of our projects internally are open sourced later in their development. Those projects still need the basic tool kit--somewhere to put their code, somewhere to track their issues. So, we're assessing the options of how we might offer services to our users to give them a baseline, something that's turnkey, easy to get on board and provide these basic services.
And do them in a way that helps what they're doing, because right now as I mentioned they're all ad hoc and piecemeal. They're in their own little corners, no one is sharing anything. Not to say they're actively refusing to share, they're just kind of split up and haven't coordinated their efforts yet and that's what we're doing with code.nasa.gov.
FGIT: Do you have any idea when the forum may go live?
Eshagh: We're working right now. So, when we initially posted code we thought there may be some interest but nowhere to the level that we've observed. And so we've reprioritized some resources and are working on it more. I can tell you we are feverishly trying to get it up in response to the overwhelming interest we've seen.
But we're trying to understand what the nature of the communication will be. It's not an exaggeration to say we're studying the problem--forums are an interesting creature in their own right and the various things I've read is that you throw up a forum and at the beginning there might be some creative energy but it may burnout a bit.
So, we're trying to create a structured conversation for the long run and we're trying to make this relevant to the projects. So, not just a general abstract conversation about why it's good to do open source, but here's a project thread, for example, on the forum so you can have a conversation about that activity, connect with people that are also working on it. So, we're determining what the communication is, both private and public, and how to structure it.
To answer your question, we're working as quickly as we can. In the span of weeks we're looking to roll that out, it's a very high priority for us.
FGIT: Are there any other initiatives you're launching in collaboration with code.nasa.gov?
Eshagh: Sean, do you want to talk about TopCoder?
Herron: Yeah, I was going to mention, there are a few already existing initiatives that NASA does. One of those is NASA Tournament Lab, which is powered by the TopCoder platform. NASA employees or organizations can actually post code challenges on the site saying we need to develop X type of thing. So it allows them to submit project challenges for code they'd like to have created. People can actually submit their entries and the best one is chosen with a financial incentive associated with that.
We're in collaboration also with Challenge.gov, which is the more federal effort to have these challenges and they're really successful because we see phenomenal response. And it's great for the developers as well because it really allows them to get experience developing something that an organization like NASA may want and there's also a financial incentive behind it.
Eshagh: So, we're looking to collaborate with them. We're actually talking with the lead for that project and figuring out how we can leverage the two resources.
FGIT: Do you have any ideas on what sorts of projects will benefit most from this influx of code activity and from tapping into a new community?
Herron: I think one of the most exciting projects we see coming out of this is data visualization, kind of allowing people to better understand the science and the missions we're doing. Because we release, as I said, a lot of data and a lot of it is very heavy and very difficult to get to for someone who's not internally familiar with it.
I think one of the most exciting things will be seeing what the community comes up with to share what NASA is doing. A lot of people all over the world are inspired by and really excited about our work, but a lot of times the science and the studies released are very, very technical and difficult to understand for someone who's not in that area. So, I'm really looking forward to seeing what they do with data visualization, in terms of being able to tell that story in a way the NASA audience can understand on a better level.
Eshagh: There are a couple of things that this permits that encourages participation on our projects. First is visibility, but when you see NASA code there are two things happening. One, you're getting insight into NASA's approach. I mean there's no better way to say what we're doing than by showing you how we're doing it. And this is somewhat of an esoteric conversation because it's at the code level, but there are members of the public that can speak at that level and are better engaged at that level. So, seeing how NASA goes about solving its problems inspires others, I believe.
I mean, we've been watching the traffic and the conversation that sprung up about code.nasa.gov on Twitter and other places. A number of times I saw it pop up that people were commenting that we're using Python for a science framework and they were saying that is going to help them make the same justification for using this technology, that's one example.
Another is--and a lot of our stuff, as I said, is esoteric--but the way we approach this we have to provide generic methodologies for solving problems. The Goddard Mission Analysis Tool, for example, I think talks about how to construct a mission and there's some risk analysis stuff in there. Stuff like that is re-purpose-able. It's applicable to more than just NASA's concerns.
For example, when we started with the Nebula cloud project we were trying to solve the problem of interoperable cloud computing. That was something that was relevant to our interests but it turns out it a lot of others were interested in it as well. The more generic functions that we put up the more, I think, participation we're going to get. And when our applications serve more than one function I think we're going to see more contributions there.
FGIT: 2011 was a big year for NASA in terms of open government projects. Should we expect further developments on the open.nasa.gov projects delivered in 2011, or are there any major launches you're looking into for 2012?
Eshagh: Well, I can say that when we started out, Open was our platform for talking about how we would be engaging with the public. Data was the first step towards liberating some of our data sets and getting them into citizens' hands. Code was the third pillar for sharing things that we do, that the public would benefit from seeing and being able to come back to.
As far as new projects coming along, we're always throwing things around. I'm not sure we're making any announcements just yet.
Herron: Also, you know, on code and all of our others we're taking a very iterative approach to developing and releasing them. And one of the things that we're really kind of value is having an active community participating. So, one of the things that we really want to do is reach out to the community, talk to members of the community, if people have ideas, suggestions or comments we want to take those into account and develop the features and technology that the community wants. That's something that we're really passionate about and I think the community provides some direction on where we should go next and what's possible.