Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Space Programming IT Technology

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?"
This discussion has been archived. No new comments can be posted.

NASA Prepares to Open Source Code

Comments Filter:
  • Sad (Score:4, Interesting)

    by ObviousGuy ( 578567 ) <ObviousGuy@hotmail.com> on Thursday February 12, 2004 @10:41PM (#8265765) Homepage Journal
    It's sad that NASA won't simply release the code into the public domain.
  • Re:Sad (Score:3, Interesting)

    by catbutt ( 469582 ) on Thursday February 12, 2004 @10:45PM (#8265798)
    Why not GPL (or similar) though? By making it GPL, they would force others to keep their modifications open, which is good for all. (at least that is the argument for GPL over BSD, and it seems to apply here just as well as in other places)
  • by xot ( 663131 ) <`moc.liamg' `ta' `htaedeligarf'> on Thursday February 12, 2004 @10:47PM (#8265810) Journal
    with me being in another country,would i be able to use the [OPEN] source code for my government space agency? Would the US govt permit that, nasa being a govt agency.
    They would probably only release code which would not benefint most people don't you think? ;-)
  • Re:Sad (Score:3, Interesting)

    by ObviousGuy ( 578567 ) <ObviousGuy@hotmail.com> on Thursday February 12, 2004 @10:48PM (#8265819) Homepage Journal
    The BSD license keeps the licensed code open. The GPL wrests any code intermingled with the licensed code into the open.

    There's no need for that kind of anti-proprietary bullying, is there?
  • since (Score:2, Interesting)

    by Anonymous Coward on Thursday February 12, 2004 @10:50PM (#8265842)
    since nasa is gov. funded, this could be great for opensource. May open the eyes of officials that OSS is NOT "un-American" as SCO suggests
  • Re:Absolutely (Score:3, Interesting)

    by Ieshan ( 409693 ) <ieshan@g[ ]l.com ['mai' in gap]> on Thursday February 12, 2004 @10:57PM (#8265895) Homepage Journal
    Just wondering, have you seen Laurent Itti's code? Neat stuff.

    (http://ilab.usc.edu)
  • Imagine a Beow... (Score:5, Interesting)

    by qtp ( 461286 ) on Thursday February 12, 2004 @11:04PM (#8265932) Journal
    Nasa seemed happy releasing code under the GPL for quite some time, and I find it odd that that is changing now.

    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)

    by goon america ( 536413 ) on Thursday February 12, 2004 @11:05PM (#8265939) Homepage Journal
    Instead of "dreaming up a use for NASA software," I'd getting a pretty damn big thrill out of fixing bugs in NASA software. Heck, this could overcome Linux in a few years.
  • by borgheron ( 172546 ) on Thursday February 12, 2004 @11:05PM (#8265942) Homepage Journal
    As an enginneer who once worked for NASA (through a contractor), I can tell you that there are many pieces of software created at NASA which are useful outside of the space program.

    This might be one possible use for such a thing.

    GJC
  • Re:Old? (Score:5, Interesting)

    by BoneFlower ( 107640 ) <anniethebruce AT gmail DOT com> on Thursday February 12, 2004 @11:07PM (#8265964) Journal
    Actually, the code on the older hardware may well be the most impressive. IIRC, the software that runs the Space Shuttle is the most bug free non-trivial program ever written. On hardware from the late 70's and early 80's.

    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)

    by Adam_Trask ( 694692 ) on Thursday February 12, 2004 @11:09PM (#8265975)
    I have collaborated with NASA scientists, and you would be surprised how difficult it is for me (not being a NASA employee) to get the code written on NASA machines, even for the same project! They have to go thru a lot of (and i guess, agonizing) paperwork before they release any NASA-grown software. It has been easier for me (and them) to reinvent the wheel more than once at my lab.

    For those wondering about the software produced, they employ folks from all branches of knowledge. Except finance, me thinks.

  • by RyanFenton ( 230700 ) on Thursday February 12, 2004 @11:16PM (#8266022)
    It would be cool to see other nations being able to make useful progress in non-weapons science, being able to actively thank and give tribute to NASA advancements along the way.

    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
  • by Anonymous Coward on Thursday February 12, 2004 @11:22PM (#8266068)
    Here's my favorite part: (emphasis mine)
    B. Each Recipient
    must ensure that the following copyright notice
    appears prominently in the Subject Software:

    [NASA will insert the applicable copyright notice in each agreement
    accompanying the initial distribution of original software.]

    [If created by a contractor pursuant to NASA contract and rights
    obtained from creator by assignment] Copyright a {YEAR} United States
    Government as represented by the Administrator of the National
    Aeronautics and Space Administration. All Rights Reserved.

    [If created by civil servants only] Copyright O {YEAR} United States
    Government as represented by the Administrator of the National
    Aeronautics and Space Administration. No copyright is claimed in the
    United States under Title 17, U.S.Code. All Other Rights Reserved.


    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.
  • by diersing ( 679767 ) on Thursday February 12, 2004 @11:23PM (#8266080)
    Wouldn't that be nice... Skunkworks code ;)
  • Re:NASA'Sdoom (Score:5, Interesting)

    by DarthWiggle ( 537589 ) <sckiwiNO@SPAMgmail.com> on Thursday February 12, 2004 @11:27PM (#8266105) Journal
    The thing about it is that it seems that any NASA source code would be a monument to overbuilt, overengineered, triply-redundant failsafeness. This isn't entirely on point to your (witty) comment, but, I dunno... it seems like looking at this code might be like looking on some absolute crystal perfection of 1960s-1970s code-writing. No fancy classes or object-orientedness. None of this fun stuff. Just raw, uninteresting, bulletproof code (well, except that one little bit that forgot how much flash memory the rovers have... and the unit conversion problem... ok, anyway).

    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 /really/ churning out scientific algorithms that are far superior to those coming out of the private sector or universities? (Note that I'm not trashing NASA software folks... I'm just saying they write code for an almost entirely different set of priorities.)

    Or maybe not?

  • Re:Old? (Score:4, Interesting)

    by Ironica ( 124657 ) <pixel@bo o n d o c k.org> on Thursday February 12, 2004 @11:32PM (#8266150) Journal
    What's in use on the Shuttle might be 8086's

    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. ;-)
  • by Honor ( 695145 ) on Thursday February 12, 2004 @11:32PM (#8266153)
    Although the US will probably not allow it, sharing the code between countries would be benificial, for both sides. it would probably help other countries develop or improve their space programs, and the feedback that these countries would give the US would help to make it even better. Not only that, but even if it did not benifit the US in any way, it is in the best interests of humanity to develop a good space program.

    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...

  • by freshmkr ( 132808 ) on Thursday February 12, 2004 @11:33PM (#8266158) Homepage
    the source for their 3d ranging application would be very beneficial to many people. I mean, the rovers are able to compute their surroundings in 3d using only 2 cameras. The degree of success and repeatability of these 3d measurements far exceeds any other available 3d ranging software.

    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)

    by highwaytohell ( 621667 ) on Thursday February 12, 2004 @11:34PM (#8266162)
    however when will this be made available and what code will be made available. I mean if we are looking at code thats 15 years old, alot of that code would have already been created by the public and thus already in use. Or will this make any code that is even currently being used available to the public? I'd imagine that alot of software NASA use would be secured under top level agreements so obviously not everything will be made available...
  • by Robotbeat ( 461248 ) on Thursday February 12, 2004 @11:54PM (#8266303) Journal
    Indeed, a lot of sharing IS going on! In fact, I myself have applied for a summer internship at JPL (and other places at NASA) for summer 2004 (I'm crossing my fingers). Even at my own college (i.e. university), we have a few NASA grants and research going on, even though we have a relatively small physics department (about a dozen physics majors per grade). As I mention in another post, Maestro is a publicly available version of NASA software for the rovers.

    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.
  • by rezulir ( 688514 ) on Thursday February 12, 2004 @11:57PM (#8266328)
    When I first read about goto staements being harmful when dinsaurs ruled the earth, NASA code was often referred to by my betters as horribly written "spaghetti code". I am no programmer but I would like to see some of this code to see just how bad it supposedly is. Some of it did get us to the moon didn't it?
  • by Sepodati ( 746220 ) on Friday February 13, 2004 @12:04AM (#8266389) Homepage
    They are public domain unless there are security reasons to not release the code. I just went through this with a program I wrote for DOD. Under the Freedom of Information Act (FOIA), you can request the source code to any program. Not saying they'll approve it, but unless there are "national security" type reasons, they should. In order for me to get a copy of my program to continue to develop and distribute on my own, I had to do a FOIA request on myself. :)

    ---John Holmes...
  • by Robotbeat ( 461248 ) on Friday February 13, 2004 @12:25AM (#8266525) Journal
    We are, of course, refering to an autonomous robotic vehicle that can actually rely on these 3d rangings for navigation without intervention from NASA. It's not really that possible to have a 3d ranging resolution greater than the resolution of the 2d images (.5 mm accuracy with a 500m range is clearly not reasonable). The ability of the rover (and other software) to construct a meaningful 3d environment (not with a blue-screen or any other such tricks like manually selecting common points in tough parts of images) using real pictures is on a higher level than 3d scanning software, not to mention the concerted effort that NASA has put toward this software. For a project costing the better part of a billion dollars, JPL is going to be sure to create some very high-quality and very rigorously tested code.
  • by djcinsb ( 169909 ) on Friday February 13, 2004 @12:41AM (#8266615) Homepage
    But I'm sure there are some private contractors somewhere along the line, and so what about their software?

    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)

    by FleaPlus ( 6935 ) on Friday February 13, 2004 @12:47AM (#8266656) Journal
    NASA has software for automatic image mosaicing? That would be really cool. I used to do research in a neurobiology lab, and I remember the people in the lab spent quite a bit of time manually putting together mosaics of pictures of neurons from the microscope. I actually tried to put some code together myself for the problem, but got diverted towards other things.
  • by lone_marauder ( 642787 ) on Friday February 13, 2004 @12:57AM (#8266707)
    There's a group in the Orbiter [orbitersim.com] space flight simulator community who wants to write a working version of the DSKY Apollo flight computer for Orbiter. While not source code per se, there are some who want to write a virtual machine in C++ to run the DSKY binary code.
  • From a developer (Score:2, Interesting)

    by Anonymous Coward on Friday February 13, 2004 @12:58AM (#8266712)
    I can offer a wee little bit of factual knowledge on this, since I worked at NASA for ten weeks on a school project, developing software.

    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)

    by kinema ( 630983 ) on Friday February 13, 2004 @03:34AM (#8267451)
    I was under the impression that code created by a government agency that was to be released to the public always had to be entered into the public domain. IIRC this was the case with the Enhanced Machine Controller project from the NIST. The idea is that anything the the United States Govenrment creates is owned by by the public as the US Govenrment is "of the people, by the people and for the people"

    Can anyone comment on this? IANAL.
  • by mattr ( 78516 ) <mattr&telebody,com> on Friday February 13, 2004 @06:32AM (#8267961) Homepage Journal
    I think CLIPS is the AI engine I once found, it's by NASA, free and recently updated. Many variants and commercial forks. Found it again after losing it, thanks to this thread. Some links from the aifaq [faqs.org].

    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

  • by fw3 ( 523647 ) * on Friday February 13, 2004 @09:51AM (#8268645) Homepage Journal
    ;-) Sorry the pun was irresistable.

    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)

  • by BWJones ( 18351 ) * on Friday February 13, 2004 @10:12AM (#8268792) Homepage Journal
    Automatic mosaicking is generally done using the spacecraft positioning information.

    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)

    by Nissyen ( 101509 ) on Friday February 13, 2004 @10:27AM (#8268891) Homepage

    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.

  • by PixelThis ( 690303 ) on Friday February 13, 2004 @12:03PM (#8269931)
    That's why many contractors develop their software under their own R&D efforts and sell the government the analysis work that they do with the code, or rights to use the code while maintaining the copyright themselves.

    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.
  • by Rik van Riel ( 4968 ) on Friday February 13, 2004 @07:01PM (#8275183) Homepage
    Freedom of choice is good, including the freedom to choose to share or not share the work you derived from public domain software.


    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)

    by Dr. Zowie ( 109983 ) <slashdotNO@SPAMdeforest.org> on Sunday February 22, 2004 @03:37AM (#8354503)

    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.

I've noticed several design suggestions in your code.

Working...