Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

NASA Goes SourceForge

Posted by timothy on Wed Apr 27, 2005 11:03 AM
from the hey-tax-dollars-at-work dept.
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.)
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • Hmmmm (Score:3, Interesting)

    by maxzilla (786061) on Wednesday April 27 2005, @11:06AM (#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:5, Interesting)

      by AKAImBatman (238306) * <akaimbatman@g m a i l . c om> on Wednesday April 27 2005, @11:13AM (#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, @11:49AM (#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.
        • by Decaff (42676) on Wednesday April 27 2005, @11:49AM (#12360749)
          "Could it be that NASA is finally giving up on Ada and embracing the safety, reliability, and simplicity of Java?"

          BWHAHAHAHAHA!!!

          Oh, man. I needed a good laugh today.


          Aside from the compulsory Slashdot Java FUD, it's really not a joke. Java has a big advantage in that the the bytes codes produced can be verified, and so the program tested, without any concerns of the final deployment platform. This is a major advantage for an organisation like NASA which most likely has a wide range of hardware on which software is deployed.
        • Re:Hmmmm (Score:5, Informative)

          by AKAImBatman (238306) * <akaimbatman@g m a i l . c om> on Wednesday April 27 2005, @12:23PM (#12361178) Homepage Journal
          A few points:

          1. Most of the "management" apps are written by people who are not experts in the Java language, thus tend to fubar it pretty well. This is changing, but slowly.

          2. Sun is aware of the remote X issues. This is something they are being slow about addressing, but I believe 1.5 should show a marked performance improvement.

          3. P2P programs tend to eat a lot of system resources during operation. This doesn't have so much to do with Java as in the way they are designed.

          4. The majority of "good" Java software is outside of the area of Desktop applications. Desktop is still an underdeveloped area for Java.

          5. Java programs will always take more resources on a mainstream machine. This is due to the fact that the JVM replicates a lot of the functionality of the OS. In instances where the JVM *is* the OS (e.g. embedded development) the difference in resources is insignificant.

          Here are a few examples of Java Desktop programs that do their job extremely well:

          Azureus [sourceforge.net]
          Wurm Online [wurmonline.com]
          JGoodies JDiskReport [jgoodies.com]
          DataDino Database Explorer [datadino.com]
          A few games I wrote for a 4k contest. [dnsalias.com]
    • Re:Hmmmm (Score:5, Insightful)

      by Progman3K (515744) on Wednesday April 27 2005, @11:16AM (#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.
    • responsibility (Score:5, Insightful)

      by SuperBanana (662181) on Wednesday April 27 2005, @11:38AM (#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, @11:39AM (#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 sci...er um, yeah.
  • by FortKnox (169099) * on Wednesday April 27 2005, @11:07AM (#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!
    • Not First App OS (Score:5, Informative)

      by millahtime (710421) on Wednesday April 27 2005, @11:33AM (#12360535) Homepage Journal
      This is not the first app that NASA has open sourced, just the first one on sf.net. NASA has an OS website at
      http://opensource.arc.nasa.gov/ [nasa.gov]
      • Re:Not First App OS (Score:4, Interesting)

        by twiddlingbits (707452) on Wednesday April 27 2005, @11:53AM (#12360797)
        Years ago (1980s) NASA used to have a repository called COSMIC that contained lots of code. It was mostly FORTRAN code for mathematical modeling or simulation of things like aerodyamics or heat transfer or stresses. A lot of it came from the Apollo program and some from Shuttle. When I did simulations for DOD systems we'd look there for code to reuse before we did our own as we felt if NASA was using it then it was verified and pretty tight in execution time.
  • by indifferent children (842621) on Wednesday April 27 2005, @11:08AM (#12360218)
    IANARS Damn.
  • by Anonymous Coward on Wednesday April 27 2005, @11:09AM (#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, @11:09AM (#12360237) Homepage
    Who thought of the PENIX man pages [very.net] when I saw that guy's last name?
  • by NivenHuH (579871) * on Wednesday April 27 2005, @11:10AM (#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...
    • 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.
        • by DrZZ (138100) on Wednesday April 27 2005, @11:35AM (#12360558)
          Read up on the Bayh-Dole Act [google.com]. In the US at least, inventions created using government funds (either grants or contracts) by default are owned and administered by the grantee or contractor, not the government. I laugh when people talk about the drug companies "stealing" government funded university research because the universities are the most agressive people out there patenting research and trying to hit drug companies up for big bucks to license the patents. Work done by actual government employees can certainly be patented, but obviously in that case the patent is owned by the government. Work done by government employees can NOT be copyrighted, which can lead to problems when trying to get government involved in GPL'd projects. NASA has a lot of contractors that that are still looked on as "NASA", so I don't know whether these guys are government or contractors.
  • by Filiks (578065) on Wednesday April 27 2005, @11:13AM (#12360280)
    NASA WorldWind [sourceforge.net] has been on SourceForge since September. Though most development happens over IRC.
  • by Dink Paisy (823325) on Wednesday April 27 2005, @11:13AM (#12360289) Homepage
    World Wind ( http://worldwind.arc.nasa.gov/index.html [nasa.gov] )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.
  • by planetoid (719535) on Wednesday April 27 2005, @11:40AM (#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?
  • John (Score:5, Funny)

    by northcat (827059) on Wednesday April 27 2005, @11:44AM (#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, @11:47AM (#12360721) Journal
    I've checked out the license (link [sourceforge.net]), 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: http://opensource.arc.nasa.gov. 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 [gnu.org]:
    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.
    • by Jerf (17166) on Wednesday April 27 2005, @12: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.