Slashdot Log In
NASA Goes SourceForge
Posted by
timothy
on Wed Apr 27, 2005 11:03 AM
from the hey-tax-dollars-at-work dept.
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.)
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.
Hmmmm (Score:3, Interesting)
Re:Hmmmm (Score:5, Interesting)
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...
Parent
Re:Hmmmm (Score:4, Interesting)
Parent
Re:Oh man, I needed that. (Score:5, Insightful)
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.
Parent
Re:Hmmmm (Score:5, Informative)
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]
Parent
Re:Hmmmm (Score:5, Insightful)
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.
Parent
responsibility (Score:5, Insightful)
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).
Parent
Re:Hmmmm (Score:4, Insightful)
it's not rocket sci...er um, yeah.
Parent
This has serious potential (Score:5, Interesting)
Not First App OS (Score:5, Informative)
http://opensource.arc.nasa.gov/ [nasa.gov]
Parent
Re:Not First App OS (Score:4, Interesting)
Parent
Great But... (Score:4, Funny)
Bwahahahahah! (Score:3, Funny)
Poor guy. That name must be an endless source of amusements to his Linux-using colleagues.
Am I the only one? (Score:4, Funny)
Why isn't more government stuff open source? (Score:5, Insightful)
Don't get me wrong, this is a great feat by NASA-Ames, but it's something I already expect as a taxpayer...
Re:Why isn't more government stuff open source? (Score:4, Funny)
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.
Parent
Re:Why isn't more government stuff open source? (Score:5, Informative)
Parent
NASA has been on sourceforge before (Score:5, Informative)
First SF for NASA, maybe; first OS, no (Score:5, Insightful)
Damn, how many NASA employees... (Score:4, Funny)
John (Score:5, Funny)
Long and hard indeed.
(I'm going to hell for this.)
Hmm... This is new. (Score:4, Interesting)
- The freedom to run the program, for any purpose
- The freedom to study how the program works, and adapt it to your needs. Access to the source code is a precondition for this.
- The freedom to redistribute copies so you can help your neighbor.
- 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.Re:Hmm... This is new. (Score:4, Informative)
The above clause is strictly optional and does not conflict with GPL in any way.
Parent
Re:Hmm... This is new. (Score:4, Informative)
Parent
Re:Great Boost for Java (Score:4, Insightful)
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.
Parent