Follow Slashdot stories on Twitter


Forgot your password?

NASA Goes SourceForge 243

refactorator writes "We have a lift-off! The NASA Ames Research Center has open sourced Java PathFinder , a JVM that is an explicit state software model checker, all written in Java. For the first time, the complete master development site of a live NASA software engineering project is hosted on SourceForge. Read the official press release for details. The team around John Penix, Willem Visser, and Peter Mehlitz fought long and hard to get the development hosted outside of NASA, to enable true collaborative software development. Now show the government that it works - join the fray. May Java PathFinder boldly go where no NASA program has gone before." (Both Slashdot and SourceForge are part of VA Software.)
This discussion has been archived. No new comments can be posted.

NASA Goes SourceForge

Comments Filter:
  • Hmmmm (Score:3, Interesting)

    by maxzilla ( 786061 ) on Wednesday April 27, 2005 @12:06PM (#12360195) Homepage
    The bigger question for me is if the open source software is used and fails then where does the accountability lie? consider the stress that would be required for anything NASA does, and consider the results of even slight errors. now imagine the sort of bugs that crop up in other open source projects... this could be bad.
    • Re:Hmmmm (Score:3, Insightful)

      by Anonymous Coward
      The accountability lie to the one who validate
      the code before shoting the thing into space.

      OSS dont mean, ./configure; make; make install; launch probe -d space
    • Re:Hmmmm (Score:5, Interesting)

      by AKAImBatman ( 238306 ) * <{akaimbatman} {at} {}> on Wednesday April 27, 2005 @12:13PM (#12360284) Homepage Journal
      As I understand it, this is just a tool to track down potential errors in the software. It is not mission critical software, but rather a tool to analyze mission critical software. I doubt that NASA is too concerned that someone will mess it up beyond belief. They've probably got a review process in place to ensure that any new features are properly checked before they go into use at NASA.

      What I find interesting, is that this move seems to signal that NASA is looking at using Java in mission critical areas. (Not just data analysis as in the Mars rovers.) Could it be that NASA is finally giving up on Ada and embracing the safety, reliability, and simplicity of Java? If so, it would certainly be a huge culteral shift for them.

      Hmm... maybe I should go polish my resume...
      • Re:Hmmmm (Score:4, Interesting)

        by twiddlingbits ( 707452 ) on Wednesday April 27, 2005 @12:49PM (#12360743)
        NASA never really embraced Ada. A LOT of software at NASA is done in C or special languages. A great deal of Space Station is Ada but it's not 100%. Java in Mission Critical systems is something NASA is thinking about but they move slow. When I was at the IV&V center there was some talk about Java and how NASA didn't really have the skills to evaluate/manage/budget Java development and that was an area for improvement to prepare for the future. IF there ever is a MissionToMars I'd expect a great deal of Java code. I've not looked in depth for Java for hard real-time systems is not something that is commonly done. I see a few tools out there that are first generation so someone is thinking about it but I have no feedback on how good it is compared to C code.
    • Re:Hmmmm (Score:5, Insightful)

      by Progman3K ( 515744 ) on Wednesday April 27, 2005 @12:16PM (#12360315)
      Not flamebait here; but what does it matter?

      Let's say this java thingie miscalculates some data because it incorrectly interprets input as being in metric units, when in fact it's in imperial units.

      "It could never happen!" I can hear all of you saying.

      Well, it could, it can and it did.

      Maybe if there had been x-thousand eyes looking at the code, it might have been caught by someone.

      Bottom line, mistakes happen, but in open-source, you lower the percent of them.
      • I submit that you're viewing a organizational behavior problem through a technical eye.
        • Re:Hmmmm (Score:3, Insightful)

          by Progman3K ( 515744 )

          I find the idea of attributing liability inane.
          Finding the cause is all-important, because you want to prevent recurrence of disaster, and that's what the extra eyes are for, but as for liability, I expect it's like someone already posted; the final word goes to the people at NASA that launch the sucker, they have to do final validation tests.
      • i think that had more to do with cryptic data formats of OTS software testing at integration time rather than software validation at the segment level.

        if thier data was in xml, i think that those types of things might not have happened:

        <coordinate referenceFrame="SunFixed" type="Cartesian">
        <x units="meters">1111111111.</x>
        <y units="yards">123414231.</x>
        <z units="lightyears">.1234</z>

        and all systems, legacy or modern, would be happy
    • Re:Hmmmm (Score:3, Interesting)

      by stecoop ( 759508 ) *
      Lets squash this FUD quickly.

      The bigger question for me is if the open source software is used and fails then where does the accountability lie?

      If I contract you to build me a widget and it fails it is your fault. I am not responsible for your third party errors. You should have tested the software to the contracted standards and I should receive a quality statement signoff from your engineering department. That is of course if you are building a system that requires quality. If you are building a s
      • But the problem is there's no engineering department per se with open-source. It's just a collection of people, some of which may be engineers, with no contracts.

        • Re:Hmmmm (Score:3, Insightful)

          by Qzukk ( 229616 )
          Then don't tell anyone where you work "hey, this project is neat, we can use it for free and it will work!" because when it doesn't, YOU will be the one at fault.

          It's simple really. If Company X uses open source software with its disclaimer of liability and something goes wrong, its nobody's fault but X's. If Company X goes with Microsoft software with its disclaimer of liability, its still nobody's fault but X's.

          While it'd be interesting to see if liability disclaimers hold up in court, I'd rather it b
          • Aah I see the problem. I was thinking "fault" in terms of the open-source programmers getting in trouble if NASA used some of their code and the spaceship went *boom*. Of course NASA are the ones that are responsible, I thought the original post was asking about the coders being responsible.

    • I just hope it doesn't happen like this...

      "Houston, we have a problem... the pathfinder is acting erratically."

      (5 minutes later)

      BUG REPORT: PathFinder acts erratically.

      (2 days later)

      Fixed in CVS.

      (2 years later)

      "The fixed version of the pathfinder will be launched this saturday."

      (Next sunday)

      "Oh sh**! There's a bug!"

      (Next week)

      "Houston, we have a problem."
      • Most modern spacecraft software can be changed remotely. The Mars Exploration Rovers, for example, have had their software upgraded several times for a variety of purposes - fault tolerance, better pathfinding routines, etc.
    • Re:Hmmmm (Score:2, Insightful)

      There seems to be a misconception in the legal and business worlds that when you can assign blame for a failure in a predetermined way, that the risk of failure then becomes zero.
    • responsibility (Score:5, Insightful)

      by SuperBanana ( 662181 ) on Wednesday April 27, 2005 @12:38PM (#12360604)
      The bigger question for me is if the open source software is used and fails then where does the accountability lie

      With NASA, for not validating/testing a solution enough, just as it would be my responsibility if I implemented a half-assed piece of software into a corporate environment without adequate testing. If NASA went down to the hardware store and bought a garden hose valve for a rocket fuel tank, slapped it on the night of a launch and it failed and sent a rocket into the drink- would you blame the garden hose valve maker? Course not. We like to point fingers all the time at things other than our decision-making process.

      I help volunteer for a car club which teaches high performance driving at various racetracks. A lot of stuff becomes Really Important when you're driving close to the limits of your talent and the vehicle's equipment. Stuff does go wrong, although it's statistically very rare for there to be an incident caused by mechanical failure. Much of the time, it's driver error.

      For example, a wheel falls off. The driver says "I crashed because my wheel fell off." No. The driver crashed because the driver forgot to check lug bolt torque, and the wheel came off because the torque on the lug bolts wasn't correct. A more complex example: "I crashed because my brakes failed". No. The driver crashed because the lap before he crashed, the driver didn't realize his brake pedal was getting really spongy- or worse, he did realize it, and didn't do anything about it (ie, he didn't pit in and bleed the brakes because he wanted to stay out on track).

    • Re:Hmmmm (Score:4, Insightful)

      by morgajel ( 568462 ) <slashreader.morgajel@com> on Wednesday April 27, 2005 @12:39PM (#12360620) Homepage
      I'd imagine it would be up to the Nasa employees in charge of the project to test their code and review it like normal.

      it's not rocket um, yeah.
  • by FortKnox ( 169099 ) * on Wednesday April 27, 2005 @12:07PM (#12360211) Homepage Journal
    This app spiders through all routes of an app through the bytecode. Not only will this become a very stable and usable debugging application, but the applications that borrow from this application are endless with possibilities. For NASA to OS an app, this was probably the best choice!
  • by indifferent children ( 842621 ) on Wednesday April 27, 2005 @12:08PM (#12360218)
    IANARS Damn.
  • by Anonymous Coward on Wednesday April 27, 2005 @12:09PM (#12360234)
    John Penix

    Poor guy. That name must be an endless source of amusements to his Linux-using colleagues.

  • by PrimeWaveZ ( 513534 ) on Wednesday April 27, 2005 @12:09PM (#12360237)
    Who thought of the PENIX man pages [] when I saw that guy's last name?
  • by querencia ( 625880 ) on Wednesday April 27, 2005 @12:09PM (#12360248)
    The availability of this tool does wonders for Java. I'd like to know the reasons behind NASA's decision to use Java for this kind of development in the first place, but having this tool available as a testing resource could be enough reason alone to choose Java for a wide variety of new projects.

    Kudos, NASA!!
    • by Jerf ( 17166 ) on Wednesday April 27, 2005 @01:22PM (#12361159) Journal
      Generally, I'm pretty anti-Java. I hate working in it myself and I've partially structured my career so as to avoid it.

      Why do I hate it? It is a language that builds in bureaucracy, making you say everything three or four times, static this, static that, hard-coded the other, if there's a fun or useful feature it's not there ("generics" are about 5 years too late and from my reading still amazingly weak compared to most other languages, and that's just one of the fun features I have in mind) after programming in a language like Python or Ruby it's like programming with handcuffs and concrete galoshes, complete with the sinking feelings the latter can cause and subsequent project death.

      (We didn't used to need IDEs that did half to three-quarters of your typing for you (and I mean keyboard typing), and most languages still manage to live without it. That says something. (I'm also somewhat amazed at the Java community's ability both to have strong namespaces like org.slashdot.something.web, and still name classes with 40 or 50 characters, like WebPageToMirrorDeciderBooleanHelperInterface.))

      But there are times that is called for, and NASA development epitomizes that. My personal feeling is that it is called for far, far, far less often than conventional wisdom says it is, but the call is certainly not zero.

      All those features I'm bitching about missing above, including but not limited to things like closures, any sort of continuation support, metaclasses, "duck" typing like Python or Ruby, support for "eval"ing strings as if they were source code (which I've used precisely once in the last five years; I'm not saying this is something that should be used a lot), all kinds of things like that, are bad for an state checker, as it really complicates the space and makes it hard to tell what will happen when without actually running the code, which for various reasons is also not a practical solution to state checking.

      There may be slightly better languages (ada?), but all in all Java is a good choice for NASA, for the very reasons that I hate it.
      • It is a language...

        Oh, I see... it's just the language you hate, but you love the VM, the bytecodes, and the APIs?

        We didn't used to need IDEs that did half to three-quarters of your typing for you...

        And you still don't need those things for Java. I have a very stubborn friend who insts on developing in a text editor named TextPad and compiling using Ant on the command line. I started with notepad and the javac commandline, but quickly adfopted an IDE when I saw it would same me time and effort.

  • by NivenHuH ( 579871 ) * on Wednesday April 27, 2005 @12:10PM (#12360252) Homepage
    Doesn't our government exist to serve the general public? Why aren't more government software development projects open source? Why was it such a battle to make this particular application open source?

    Don't get me wrong, this is a great feat by NASA-Ames, but it's something I already expect as a taxpayer...
    • Just because we pay for it, doesn't mean we're entitled to open access to it. There are countless guys in-between who decide how our money is spent, and what we can and can't directly reap the benefits of.

      Sort of like how when I went to Area 51, they wouldn't let me in. Bastards.

      • Just because we pay for it, doesn't mean we're entitled to open access to it.

        Just because we pay for it, doesn't mean we're not entitled to open access to it.

        The automatic assumption that public servants have the right to restrict information from the public is wrong. Some countries have freedom-of-information laws where, by default, information is open, not closed, and public servants must give specific reasons, such as military security or privacy, why the public is not entitled to access.



        • I actually agree with you. My tone (which I guess didn't communicate well) was that of stating the status quo of how things tend to be these days, not so much stating my opinion of how things should be.

          The Area 51 comment (while also entirely true) was meant to be a hint to my true feelings on the matter... heh.
    • Why aren't more government software development projects open source?

      I seem to recall that the reason they didn't release government-developed projects as open-source was because of prohibitions on commercial use of government software.

      Basicallly, they didn't want a government agency to be making software (using your tax bucks) for the profit of someone else.

      Before you say "corporations pay taxes too", let me remind you that corporate tax share has gone from about 50% in the 1950's, to about 2% today

    • I worked under a programmer as part of a government contract and he said "everything we code is public domain, b/c we work for the govt." There are/were a few different classes of private contractors ones that worked on site and those that didn't. We worked on site and were often introduced as "government" to off-site contractors. But still I would think that the govt. could retain rights(ownership) to the code (and this would seem to support that). It'd be nice if the government open sourced all code i
    • by ShaniaTwain ( 197446 ) on Wednesday April 27, 2005 @12:31PM (#12360521) Homepage
      Doesn't our government exist to serve the general public?

      Thats what I say too, but don't even bother trying to get your senator to help paint your house.. It turns out they only serve the general public in a very narrow sense, and they wont help even if you pay for the beer.

      pretty dissapointing really.
    • > Why aren't more government software development projects open source? Why was it such a battle to
      > make this particular application open source?

      A lot of it is.. it's just hard to find. Fermilab, for example, has many many projects that are freely downloadable and include source. I'd imagine that many other research labs have similar capabilities, just none of it really scratches an itch anyone has, so it never gets airtime.

      The most successful government-funded project I know of is 'nedit'.
    • "Doesn't our government exist to serve the general public?"

      The general public is the government. Some will help everything move forward for the sake of everything going forward, and some will move things forward only if it makes them better then everyone else.
    • There are two purposes to be served by making a project open source. First and foremost, you allow outsider to participate in its development, which speeds development and gives the original authors a source of free peer review. Second, and rather less important, it allows outsiders to download and use the software.

      I think that neither purpose would be served by OSing most government softwares. Consider that most of them are probably uninteresting programs that provide IS support for that huge bureaucracy

  • This can change things a lot. If the goverment sees open source work, imagine how many more projects(non security of course. Hell will freeze before those will be OS) will be opened up? Also, what about these OS authers? Do you think job offers might ever come to people? Is there a possibility that these Open Source Projects can change the way the Goverment operates?
    What happenes if this project fails? Then what? OS will seem to be a failure then, and that would not be a good thing, at all.

    All I can say is
  • by Filiks ( 578065 ) on Wednesday April 27, 2005 @12:13PM (#12360280)
    NASA WorldWind [] has been on SourceForge since September. Though most development happens over IRC.
  • by Dink Paisy ( 823325 ) on Wednesday April 27, 2005 @12:13PM (#12360289) Homepage
    World Wind ( [] )is also open source. I think there are other NASA open source projects as well. This definitely isn't NASA's first venture into open source, although it may be their first project release on SourceForge.
  • Screenshots (sort of) can be found here: here [].

    Also of interest is the software these NASA people use. Most of the stuff seems to be done on Macs, but it's nice to see the one Windows machine (this []) using Firefox and Thunderbird (the latter visible in the taskbar area).
    • > Also of interest is the software these NASA people use.

      I worked (as a consultant) on this team. Development was done in Eclipse on Windows, using (x)emacs, ant, etc and/or eclipse on Linux and Solaris, using Apple's IDE on Mac. Basically the developers used whatever they were effective with, that's one nice part about using a cross-platform language.
  • From what I understand, according to Turing's Halting Problem, what the Java Pathfinder is trying to do isn't actually a computeable problem.
    • There is some disagreement about that. This issue was raised on /. a while back and I had some exchanges with someone who said the problem is solvable with certain constraints but not in general. I do know there are several software firms doing work with DOD research money in this area. I have asked some friends at NASA IV&V to take a look at this tool and see how good it is or if it's just a prototype. NASA is bad about doing prototypes that just tease you and then never getting the full project done d
    • The halting problem basically says that you can't write a program that will determine whether or not any arbitrary program will halt. It doesn't say that you cannot determine the halting properties of a specific program or class of programs. Java Pathfinder works. Model-checking in general works, and has been used for many years in many applications. Examples of model-checkers that have seen fairly wide use include (off the top of my head) SPIN, SMV, FDR, TLC, and Verisoft.
  • by planetoid ( 719535 ) on Wednesday April 27, 2005 @12:40PM (#12360642)
    How many NASA employees got fired on their first day at work when being introduced to this "John Penix" fellow and giggling uncontrollably right in front of him?
  • Recently, several large corporations, which (apart from other things) develop commercial software, released a number of projects on Among them were: Microsoft (3 projects []), Google (4 projects []), IBM (30 projects []), Adobe (1 project []). The reasons they gave for such move are often somewhat "foggy". My personal opinion is that it finally became "cool" to have a project on, which is great of course.

  • John (Score:5, Funny)

    by northcat ( 827059 ) on Wednesday April 27, 2005 @12:44PM (#12360683) Journal
    The team around John Penix, Willem Visser, and Peter Mehlitz fought long and hard to get the development hosted outside of NASA

    Long and hard indeed.

    (I'm going to hell for this.)
  • Hmm... This is new. (Score:4, Interesting)

    by Mmm coffee ( 679570 ) on Wednesday April 27, 2005 @12:47PM (#12360721) Journal
    I've checked out the license (link []), and it for the most part mirrors the GPL, with the addition of a clause which grants patent rights. However, 2.F provides this following gem:
    F. In an effort to track usage and maintain accurate records of the
    Subject Software, each Recipient, upon receipt of the Subject
    Software, is requested to register with Government Agency by visiting
    the following website: Recipient's
    name and personal information shall be used for statistical purposes
    only. Once a Recipient makes a Modification available, it is requested
    that the Recipient inform Government Agency at the web site provided
    above how to access the Modification.
    Note that I am not doubting that this is indeed Free Software, as it follows the four freedoms []:
    1. The freedom to run the program, for any purpose
    2. The freedom to study how the program works, and adapt it to your needs. Access to the source code is a precondition for this.
    3. The freedom to redistribute copies so you can help your neighbor.
    4. The freedom to improve the program, and release your improvements to the public, so that the whole community benefits. Access to the source code is a precondition for this.
    From what I can tell, this is definitely a true Free Software license. However, you have to register with an agency of the United States government in order to muck with the code. Some may have a problem with this, be forewarned.
  • I'm sorry, I can't seem to get past the name John Penix.

  • Open source may be a "sunset" project this Silicon Valley branch of NASA because that site is to be decimated [] and perhaps closed.

    Ames mainly performs long term R&D in space and areonautical sciences. There is an opinion in the adminstration that the federal government should not be conducting R&D internally, but outsourcing it to universities, companies, and think tanks. This is pretty much the model in the biological sciences.
  • Funny to see this code; I was just pinging the developers of C Global Surveyor [] (a vaguely similar tool that operates on C/C++ code instead of Java) to see if I could get access to their work. I didn't get a reply, but hopefully Java Pathfinder will give them the cover they need...seriously, CGS looks absolutely brilliant.
  • It's not legal (Score:3, Insightful)

    by ngc2244 ( 105417 ) on Wednesday April 27, 2005 @02:19PM (#12361864)
    The federal govenrment can't hold a copyright.

    Copyright (C) 2005 United States Government as represented by the
    Administrator of the National Aeronautics and Space Administration
    (NASA). All Rights Reserved.

    The above statement from the license is not legal.

    By defn all copyrightable materials produced by the feds are Public Domain... in the most legal sense of the phrase.

    Someone at NASA wasn't paying attention.

    Furthermore, since the copyleft principle relies on Copyright to grant certain permissions, the fact that the Feds can't hold copyright means that they can't use "traditional" open source licenses.

    That's why you don't see this whole flood of OSS from the feds.
    • Re:It's not legal (Score:3, Informative)

      by DrZZ ( 138100 )

      The federal govenrment can't hold a copyright.

      That's not precisely true according what I read in the US Code []. Work done by federal employees certainly can not be copyrighted, but work done by others can be assigned to the federal government. Of course the specifics of who did this work and whether it qualifies as a work of the government (ie how DID they get around this) are something I would like to see clearly explained

    • That's why you don't see this whole flood of OSS from the feds.

      Nonsense, government funded researchers create a huge amount of open source software. Ever heard of publish or perish?


      Commercial software bigots - a dying breed.

  • Talking about opensource software from NASA, has someone ported winvn to Linux yet?


  • When I asked about this in my journal. Anyone interested?
  • Does it automatically do metric to English unit conversion?
  • by sTeF ( 8952 )
    i genuinely welcome everyone who welcomes me. this is a triumph of communication. lets all together invid/te our vicinicity

In less than a century, computers will be making substantial progress on ... the overriding problem of war and peace. -- James Slagle