Slashdot Mirror


NASA Goes SourceForge

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

45 of 243 comments (clear)

  1. Hmmmm by maxzilla · · Score: 3, Interesting

    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.

    1. Re:Hmmmm by Anonymous Coward · · Score: 3, Insightful

      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

    2. Re:Hmmmm by AKAImBatman · · Score: 4, Interesting

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

    3. Re:Hmmmm by Progman3K · · Score: 4, Insightful

      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 don't know the meaning of the word 'don't' - J
    4. Re:Hmmmm by stecoop · · Score: 2, Interesting

      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 system for yourself then you still have no one to blame for failure other than yourself.

    5. Re:Hmmmm by Progman3K · · Score: 2, Insightful

      Possibly.

      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 don't know the meaning of the word 'don't' - J
    6. Re:Hmmmm by Eternally+optimistic · · 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.

      --
      What keeps me going is my inertia.
    7. Re:Hmmmm by morgajel · · Score: 3, Insightful

      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.

      --
      Looking for Book Reviews? Check out Literary Escapism.
    8. Re:Hmmmm by twiddlingbits · · Score: 3, Interesting

      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.

    9. Re:Hmmmm by Qzukk · · Score: 2, Insightful

      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 be with Microsoft as the defendant, personally.

      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
    10. Re:Hmmmm by AKAImBatman · · Score: 4, Informative

      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
      Wurm Online
      JGoodies JDiskReport
      DataDino Database Explorer
      A few games I wrote for a 4k contest.

  2. This has serious potential by FortKnox · · Score: 5, Interesting

    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!

    --
    Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
  3. Great But... by indifferent+children · · Score: 4, Funny

    IANARS Damn.

    --
    Censorship is telling a man he can't have a steak just because a baby can't chew it. --Mark Twain
  4. Bwahahahahah! by Anonymous Coward · · Score: 3, Funny
    John Penix

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

  5. Am I the only one? by PrimeWaveZ · · Score: 3, Funny

    Who thought of the PENIX man pages when I saw that guy's last name?

  6. Great Boost for Java by querencia · · Score: 2, Insightful

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

    1. Re:Great Boost for Java by Jerf · · Score: 3, Insightful

      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.

  7. Why isn't more government stuff open source? by NivenHuH · · Score: 4, Insightful

    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 when you make it idiotproof, some idiot builds a better idiot.
    1. Re:Why isn't more government stuff open source? by $1uck · · Score: 2, Interesting

      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 it developed that wasn't necessarily "secret."

    2. Re:Why isn't more government stuff open source? by ShaniaTwain · · Score: 3, Funny

      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.

    3. Re:Why isn't more government stuff open source? by DrZZ · · Score: 5, Informative

      Read up on the Bayh-Dole Act. 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.

  8. This can change things... by Sinryc · · Score: 2, Interesting

    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, this is one hell of a chance for OS.

    --
    Yay, I have a sig.
  9. NASA has been on sourceforge before by Filiks · · Score: 5, Informative

    NASA WorldWind has been on SourceForge since September. Though most development happens over IRC.

  10. First SF for NASA, maybe; first OS, no by Dink+Paisy · · Score: 4, Insightful

    World Wind ( http://worldwind.arc.nasa.gov/index.html )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.

    --

    Whoever corrects a mocker invites insult;
    whoever rebukes a wicked man incurs abuse.
    --Proverbs 9:7
  11. Re:What The Hell Is That? by eviltypeguy · · Score: 2, Informative

    Leave off the quotes in your query and the first hit that comes back is a pretty good definition I'd say.

    Or just look for "explicit state software model checking".

  12. commercial use of government software by SuperBanana · · Score: 2, Insightful
    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. Yep- the individual foots 98% of the government budget, but corporations get all the laws.

  13. Not First App OS by millahtime · · Score: 4, Informative

    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/

    1. Re:Not First App OS by twiddlingbits · · Score: 3, Interesting

      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.

  14. responsibility by SuperBanana · · Score: 4, Insightful
    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).

  15. Re:If thats your "bigger question" by Decaff · · Score: 2, Insightful

    If the code is open source, that means ANYBODY can work on it, improve it, or find and squash bugs. If one person makes a mistake somebody else will correct it, If somebody tries to do something harmful to the code. *several* other people will instantly remove the malware.

    Just because anybody CAN work on code and deal with bugs, doesn't mean anybody WILL. There is no evidence that bugs in any given OS projects are 'instantly' removed.

    As for accountability? Why do we always have to have some poor soul to point the finger at? why do we have to make any one person in particular accountable?

    Because if you are going to use a product for any serious use it is customary to look for guarantees that the product is fit for use. Some open source projects have sufficient reputation that they they are trusted in most areas without any such legal or commercial guarantees (such as the Linux kernel). OS in itself is no guarantee of quality.

    Would you leap into and drive a free car built by someone you don't know just because they are willing to show you the blueprints and parts list?

    If the project fails then we have ALL failed, and, friend, the accountability will be found in the fact that we WILL improve upon the code, we WILL learn from our mistakes, and we WILL prove that Open Source (free) software IS the best way to spend tax payers money when it comes to computer programming :: period

    The key to the best way to produce software is to have skilled and motivated developers. The Open Source-ness is not always relevant.

  16. Damn, how many NASA employees... by planetoid · · Score: 4, Funny

    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?

    --
    Slashdot requires you to wait longer between hitting 'reply' and submitting a comment.
  17. Is Open Source "Cool" At Last? by trifish · · Score: 2, Interesting

    Recently, several large corporations, which (apart from other things) develop commercial software, released a number of projects on sourceforge.net. 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 sourceforge.net, which is great of course.

  18. John by northcat · · Score: 5, Funny

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

  19. Larry Wall developed Perl at NASA by RealProgrammer · · Score: 2, Insightful

    'nuff said.

    --
    sigs, as if you care.
  20. Hmm... This is new. by Mmm+coffee · · Score: 3, Interesting
    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: 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:
    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.
    1. Re:Hmm... This is new. by apilosov · · Score: 3, Informative

      Note the *requested* not *required*.

      The above clause is strictly optional and does not conflict with GPL in any way.

    2. Re:Hmm... This is new. by jpenix · · Score: 2, Informative

      That part is a "request" - it does not invalidate the license to not register.

      --
      -jp
    3. Re:Hmm... This is new. by Mmm+coffee · · Score: 3, Informative

      You are correct, I admit my mistake and my apologies.

    4. Re:Hmm... This is new. by electricdream · · Score: 2, Informative

      It's free software according to the OSI

      http://www.opensource.org/licenses/nasa1.3.php

      --
      -- force and mind are opposites; morality ends where a gun begins ayn rand
  21. Re:Oh man, I needed that. by Decaff · · Score: 4, Insightful

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

  22. Re:This isn't possible is it? by GileadGreene · · Score: 2, Informative

    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.

  23. Re:w00t, FP (maybe) by turbidostato · · Score: 2, Insightful

    "Good to see the gov't is realizing the benefits of SF and OSS..."

    Sorry to deillusion you, but in this case the only benefits will be PR and, maybe HR, nothing too technical, specially not "to enable true collaborative software development" which, in this case, just can't happen.

    This software, even if it is not directly involved with something launched to space (it's a code validator) it is still a political issue (as anything related to the space race) and that means there can't be "real" collaborative software development as in "hey, Ax0R, your last three patches are good enough, so I'll give you a write-allowed account to the repo for you to directly check in your code", and then just checkout and build. No: every code will have to be scrutinized by NASA people and then, if accepted, checked in to the *real* source code repository well protected within NASA facilities so, for practical purpouses, the public repo will be a "read only" one.

    "True collaboration" is all about mutual confidence, and this cannot be grown at a NASA project, no matter SF or not.

  24. Re:I'll probably get modded down for this... by jpenix · · Score: 3, Funny

    --
    "Do you think," said a Woodpecker who had been busy making a hole in the table, "that there might be a problem with the name 'UNIX'? I mean, it does sort of suggest being less than a man."

    "Maybe we should try another name," suggested the Job Sparrow, "like Brut, or Rambo."

    "Penix," suggested a Penguin.

    http://www.davar.net/HUMOR/UNIXLAND.HTM

    --
    -jp
  25. It's not legal by ngc2244 · · Score: 3, Insightful

    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.

    1. Re:It's not legal by DrZZ · · Score: 3, Informative
      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