NASA Prepares to Open Source Code 330
comforteagle writes "According to this story at O'Reilly, NASA is looking for approval for their own open source license. The NASA submitter (lawyer of course) states that none of the current licenses meet their needs, but more interesting is that NASA needs a license at all. It makes one wonder what we, and other space agencies, might see coming out off NASA. It's also nice to see code that taxpayers paid for anyway being released for their use too. There must be at least one slashdotter who could dream up a use for NASA software. X Prize participants maybe?"
Sad (Score:4, Interesting)
Re:Sad (Score:3, Interesting)
space agencies in other countries too? (Score:5, Interesting)
They would probably only release code which would not benefint most people don't you think?
Re:Sad (Score:3, Interesting)
There's no need for that kind of anti-proprietary bullying, is there?
since (Score:2, Interesting)
Re:Absolutely (Score:3, Interesting)
(http://ilab.usc.edu)
Imagine a Beow... (Score:5, Interesting)
Ever use a network card under Linux, much of the networking code came from NASA (mostly from Donald Becker).
Still dreaming about that Beowulf cluster? That also came out of NASA.
Perhaps the lawyers felt left out, so they're trying to do thier part and look useful. Why would NASA find that a license that has served them well for years needs replacing? Any lawyers opine on the new license yet?
Re:Absolutely (Score:3, Interesting)
One possible thing.... (Score:4, Interesting)
This might be one possible use for such a thing.
GJC
Re:Old? (Score:5, Interesting)
I think there might be a few "Holy crap you can do that!?!?!!?" moments reading those sources. Tight optimizations, tricks for doing things that normally require massive support libraries linked together... might be some interesting techniques there.
About time (Score:5, Interesting)
For those wondering about the software produced, they employ folks from all branches of knowledge. Except finance, me thinks.
I hope this catches on... (Score:4, Interesting)
I just hope the sharing might keep going if it starts being seen as a good thing. For some reason, I get the impression we'll get some crazy results too, like French agencies stipulating that no documents may be translated to non-French and still be visible in France. Still, it's definetly problems I'd rather have to deal with then not.
Ryan Fenton
Re:Text of Article Here: (Score:1, Interesting)
If its not copyrighted, how can you require anyone to display the copyright notice?
This post is not copyright(c) 2004 by The Anonymous Coward.
Re:Government Copyright (Score:2, Interesting)
Re:NASA'Sdoom (Score:5, Interesting)
My question is: how much would we learn from this? When people writing code for business are optimizing for speed and redundancy mainly in the parallel sense (i.e., a failsafe swap to a sister server), how RELEVANT is that to blocks of code written never, ever, ever, ever, ever to fail on tested but "outdated" hardware?
Furthermore, if we ever get around to privately-built spacecraft, how much NASA code will they want to use? I dunno, it's a neat idea in an historical sense, and it's an admirable sign of government openness when the government is more and more closed to us citizens... but is it more?
I'm not saying it's not. I'm just curious how it would be. Is NASA
Or maybe not?
Re:Old? (Score:4, Interesting)
Which is more advanced than what's in use for a lot of traffic signal control boxes. They have something like 8 bytes of memory. But they really don't have to do much... just get data about where the cars are, and turn the right lights green for the right amount of time (while not allowing the opposing lights to be green).
The reason they use such "archaic" hardware, even in brand-new boxes, is because they have to withstand ambient temperatures up to 150 degrees farenheit for long periods of the day. The boxes can't be ventilated very much without exposing them to the elements (and destructive teenagers), and it gets hot as an oven inside when the sun is hitting them all day.
I imagine all kinds of infrastructure that needs redundancy and reliability over flexibility and power would find NASA's code useful in one way or another. (Even if it's just as an example of what NOT to do.
Re:space agencies in other countries too? (Score:3, Interesting)
If we keep working on this independently, we will have a much harder time of accomplishing our goals than we will if we all work together. But like i said, its not likely to happen. not only will the US want to keep the upper hand in everything, but there is the chance that the code could be used by the wrong countries for malicious purposes - or even possibly independent terrorists. 9/11 #2 anyone? It may be far-fetched, but i'm sure the authorities are taking stuff like that into consideration, because once released the code cannot be unreleased. If only the different countries could for once look for the common good of all the world and work on a collective space program...
Re:Not limited to space applications, by any means (Score:4, Interesting)
Are you certain of this?
MER's stereo imaging and navigation software is indeed well made. Still, I suspect it's incorrect to claim that it is the best ever written. Stereo imaging and 3-D structure from motion are very well established fields, and improvement is ongoing. It would probably be straightforward for you to find some recent conference papers and code up something in MATLAB that works better than the rover's flight software.
The quality of the 3d ranging results from Mars are impressive, but for more reasons than you might suspect. I spent summer 2002 interning at JPL. One day, Mark Maimone, the MER mobility software engineer, mentioned to me that images of Martian terrain (with scattered rocks, etc.) are just about mathematically optimal for stereo ranging. (He wrote his thesis [cmu.edu] on this stuff.) On Mars, it's easy to find correlations between pixel patterns in images. Now imagine how well it would work if the robot were staring at a blank wall--no vision algorithm can handle that!
So--don't think that the success of the imaging is just the well-made software.
JPL has a lot of experience in robotics and the gain in knowledge when such code is released is sure to be great for anyone in the field of robotics.
True, to a point. Bear in mind that while JPL does work on novel robotics research, they're also extremely concerned about preserving expensive, hard-to-replace robot systems. As a result, a lot of the software is based on well-established systems that, in the research world, have been surpassed a while ago. The rover autonomous navigation software, for example, is related to navigation software written here at Carnegie Mellon some four or five years ago.
Furthermore, a lot of the research advances made by JPL are presented at conferences and published in journals. It's not like they work in isolation and keep everything quiet. In fact, some of my fellow grad students work on large projects alongside JPL researchers and researchers at other institutions. So, in an academic sense, there's already a lot of sharing going on.
--Tom
this is good... (Score:2, Interesting)
Re:Not limited to space applications, by any means (Score:2, Interesting)
That being said, you do have a point as far as 3d imaging. However, I have looked far and wide for something of the calibre of the rovers' software for 3d ranging. The ability to calculate the 3d range info even free of all human intervention is proof of the robustness of the code, however. There is a lot of effort needed to convert research code into an integral part of an robust interplanetary exploration platform. Anyways, I appreciate the insight you have brought and you seem to have some reasonable experience in dealing with NASA in research projects.
Nasa open source code (Score:3, Interesting)
Re:Government Copyright (Score:5, Interesting)
---John Holmes...
Re:Not limited to space applications, by any means (Score:2, Interesting)
Re:Government Copyright (Score:5, Interesting)
That is exactly the point here. I'm working as a contractor on one of the pieces of software that started this effort. Basically, we'd like to release the software as open source so that we can get universities and others involved in the project, but still retain some level of control over it (and get some free publicity at the same time).
The goal isn't to keep others out of the process -- it's to get others involved, while making sure the final software product is of high quality. After all, if the software you're building is being used to fly spacecraft, you want to be sure it gives accurate answers.
Re:Absolutely (Score:3, Interesting)
I have an idea for use of NASA code (Score:3, Interesting)
From a developer (Score:2, Interesting)
There's software that controls space ships and stuff, yes, but there's a whole lot more, too. And a lot of this software is pretty mundane. I personally worked on software for maintaining a web-based help system, written in ColdFusion. And I assure you there are not triple redundancies built in.
There's a lot of interesting software being written there, there's a lot of run-of-the-mill software being developed there. Just like any other business.
That said, they have some really cool stuff going on there too. I hope we get some of that.
Public Domain (Score:3, Interesting)
Can anyone comment on this? IANAL.
Some already out there (Score:3, Interesting)
Pathfinder software archive [aaai.org]
CLIPS [ghg.net]
: A Tool for Building Expert Systems. Maintained by Gary Riley.
fuzzyCLIPS [iit.nrc.ca]
Some other NASA soft:
COBWEB/3 (ptolemy.arc.nasa.gov) ?
AUTOCLASS AutoClass is an unsupervised Bayesian classification system for independent data.
PRODIGY cs.cmu.edu Integrated Planning and Learning System
getting NASA source hasn't been 'rocket science' (Score:3, Interesting)
Seriously, something like 8 years ago I was doing some work with a then-new thermal imaging system, running on an Unix / big-endian hardware platform. I needed to extract data from the images and had done so in the past with data sets collected and processed on dos & os/2.
On contacting the vendor for data formats etc I was told that a group at NASA was doing the same thing so I contacted them and they were able and willing to send me their sources. No license, no problem.
Honestly the results were pretty disappointing. The code was less well-done than what I'd written 2 years before and I didn't / don't consider myself to be all that strong a 'C' coder.
Now I've also seen some of their technology-access programs some of which were effectively free (beer sense for those who care) and programs which were arranged to recoup the costs of 'supporting' something for external release.
All code I've worked with on all of these bases was non-polished stuff, no or little cleanup around the typical hacks involved in in-house development. (i.e. it's great stuff and well suited for moving to open source)
Re:NASA/USGS Image Processing Software (Score:3, Interesting)
This is the problem we face. With imagery obtained from the light and electron microscope, there is no embedded fiducial information. Therefore, we need to use some degree of correlation or image comparison to mosaic images.
Automatic registration? It doesn't exist (yet).
Yeah, this is indeed why I want a couple of CS grad students to work on the problem as we have different "types" of images that are really of the same thing. So, the problem is a rather sophisticated one.
I don't know what other NASA packages there might be out there like this, if there are any. I'll ask around.
Thank you.
Re:Absolutely (Score:2, Interesting)
I'm not sure what sort of image processing software NASA has. Astronomers are mostly using packages that are publically available, but not maintained by NASA. For the Magellan mission, Peter Ford at MIT made a great package called GIPS to reduce all the data. IPAC [caltech.edu] tends to make the image reduction pipelines for several missions as well as some ground based observatories, and they have some public domain software. The space telescope science institute [stsci.edu] has made their analysis software, built for hubble, publically available. They even contribute to open source numerical python libraries.
Re:Government Copyright (Score:3, Interesting)
I've been involved with several contracts where we (largish aerospace firm) were concerned about that if we developed code under contract to the government ultimately we'd be giving that code away to our competitors. So unless the original government request-for-proposal said that they wanted us to develop software for them, software was almost always written using company funds in a parallel effort.
It gives the IP lawyers fits when source code is accidentally public domained.
Re:Public domain for gov't software is best (Score:3, Interesting)
Good for whom ?
Is the freedom to not share improvements a good thing for NASA, who originally paid to have the software developed ?
Is it good for the tax payers, who'll need to pay twice to get access to the derived work ?
(Once for NASA's contract, once for the repackaged commercial software)
Last but not least, is it good for the company who originally wrote the software for NASA, but is now facing repackaged, slightly enhanced versions from their competitors, without being allowed to use those enhancements ?
What a crock... (Score:3, Interesting)
I have been wondering what this is all about, having worked at GSFC for some time. I believe that documents (including software) created by NASA cannot be copyrighted, since the U.S. government is not eligible to be a copyright holder under U.S. law (I am not a lawyer). In fact, for code created entirely by civil servants (i.e. NASA-created code) there is a clause thaty says "No copyright is claimed in the United States...", indicating that the work is in that case in the public domain.
The license might be valid for contractor-created code, but (as has been pointed out) the GPL serves pretty well. I (and many, many others) have been creating "NASA software" and distributing it under the GPL, BSD license, Perl Artistic license, and others for years. The main point of the NASA license appears to be to aid in tracking of the software and non-abuse of the NASA name. The former is probably better served by a polite request rather than a license requirement; and the latter appears to be a problem mainly for the paranoid minds of NASA's legal team.
It would be a real shame if NASA contracts and grants started requiring this license on any software developed under grant -- that would fuck up contributions to dozens of open-source projects that benefit mightily from NASA research.
Imagine if every patch a NASA-funded scientist submitted to (say) Perl had a NASA license attached rather than the Artistic License. That would certainly prevent such patches or contributions being included.