NASA Prepares to Open Source Code
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?"
I thought all goverment programs were automatically uncopyrighted, not even public domain? Like they were completely outside of the copyright system.
24 beers in a case, 24 hours in a day. Coincidence? I think not!
There must be at least one slashdotter who could dream up a use for NASA software.
Absolutely there is. I can think of a number of potential applications of NASA image processing software to our research in neuroscience. Right now, we are having to either purchase code written for the GIS markets to do what we want, custom write routines in a language such as IDL, or get some computer science graduate students to work for us custom creating code. We are doing the first two and I am going to start recruiting CS grad. students next week, but things might go a lot faster if we already had a source code base to start with.
Visit Jonesblog and say hello.
It's sad that NASA won't simply release the code into the public domain.
I have been pwned because my
Jeez, who's next, Microsoft?
The coolest voice ever.
I am most having got need for rocket open source. Now do open source me want for get. Sincerely, North Korean Military
Well, Microsoft already did so earlier today, so NASA is a bit behind the times for this one. [wink]
John Carmack could do it. A little upgrade to the equipment, and the space shuttles might be powerful enough to play Doom.
I've built this six-wheeled golf cart in my back yard, and I was hoping to find a good OS for it!
This side up.
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?
Lord of the Binges.
From http://news.osdir.com/article448.html
Open Source: NASA's Open Source Licensing
Posted Feb 12, 2004 - 11:45 AM
Bryan A. Geurts, Patent Attorney, for NASA's Goddard Space Flight Center has submitted a first draft of their NASA OPEN SOURCE AGREEMENT to the Open Source Initiative for approval. (No link available at publishing time)
More interesting is that fact that they are looking for such approval. The obvious question is what will be released to the community and other space agencies once the license is approved to meet the open source definition.
A copy of the draft submission can be found on the Open Source Initiative mailing list here.
Bryan states in his submission that "None of these agreements suffice on its own or combined together for purposes of NASA for the following reasons:
i. NASA legal counsel requires that all NASA releases of software include indemnification of the U.S. Government from any third party liability arising from use or distribution of the software. See 4.B.
ii. Federal Statute mandates that the U.S. Government can only be held subject to United States federal law. See 5.C.
iii. NASA policy requires an effort to accurately track usage of released software for documentation and benefits realized?purposes. See 3.F.
iv. Federeal Statutes and NASA regulations requires a prohibition in NASA contracts against representations by others that may be deemed to be an endorsement by NASA. See 3.E.
v. Because it is important that each of the aforementioned clauses be a part of each open source agreement relating to NASA released software, the proposed agreement must mandate that distribution and redistribution of the software be done under the aegis of NOSA (mandatory domination similar to GPL). See 3.A."
A copy of the proposed license follows:
NASA OPEN SOURCE AGREEMENT VERSION 1.1
THIS OPEN SOURCE AGREEMENT ("AGREEMENT") DEFINES THE RIGHTS OF USE,
REPRODUCTION, DISTRIBUTION, MODIFICATION AND REDISTRIBUTION OF CERTAIN
COMPUTER SOFTWARE ORIGINALLY RELEASED BY THE UNITED STATES GOVERNMENT
AS REPRESENTED BY THE NATIONAL AERONAUTICS AND SPACE ADMINISTRATION
("NASA"). ANYONE WHO USES, REPRODUCES, DISTRIBUTES, MODIFIES OR
REDISTRIBUTES THE SUBJECT SOFTWARE, AS DEFINED HEREIN, OR ANY PART
THEREOF, IS, BY THAT ACTION, ACCEPTING IN FULL THE RESPONSIBILITIES
AND OBLIGATIONS CONTAINED IN THIS AGREEMENT.
NASA Original Software Designation:
NASA Original Software Title:
User Registration requested, please visit http://www.
NASA Point of Contact for Original Software:
1. DEFINITIONS
A. "Contributor" means NASA, as the developer of the Original
Software, and any entity that makes a Modification.
B. "Covered Patents" mean patent claims licensable by a Contributor
that are necessarily infringed by the use or sale of its Modification
alone or when combined with the Subject Software.
C. "Display" means the showing of a copy of the Subject Software,
either directly or by means of an image, or any other device.
D. "Distribution" means conveyance or transfer of the Subject
Software, regardless of means, to another.
E. "Larger Work" means computer software that combines Subject
Software, or portions thereof, with software separate from the Subject
Software that is not governed by the terms of this Agreement.
F. "Modification" means any alteration of, including addition to or
deletion from, the substance or structure of either the Original
Software or Subject Software, and includes derivative works, as that
term is defined in the Copyright Statute, 17 USC 101. However, the
act of including Subject Software as part of a Larger Work does not in
and of itself constitute a Modification.
G. "Original Software" means the computer software first released
under this Agreement by NASA with NASA designation and
entitled , including
source code, object code and accompanying docum
Huh?
NASA's first "A" stands for "Aeronatics", and that's only part of their name. Lots of applications can be thought of. For instance, 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. This type of code could be useful for anyone who wants to make a 3d model of something using only a camera and some precise alignment. Indeed, 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. Even the Darpa robot competition would be different with such technology freely available.
what we, and other space agencies,
;-)
Is this guy referring to Slashdot?
I have discovered a truly marvelous
NASA does a lot of stuff, and much of it is indeed cutting-edge. Don't discount this so quickly.
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
We can have more success at landing spacecraft on Mars. At least the metric/imperial error would have been caught before it went to alpha...
From excellent karma to terible karma with a single +5 funny post...
Not likely to be very workable. NASA can't release a lot of stuff because of ITAR restrictions. The US of A treats most space related items as being ITAR Restricted.
For those asleep at the keyboard, ITAR is International Traffic in Arms Regulations.
For example, check out Flight Linux:
http://flightlinux.gsfc.nasa.gov/
You'll note that even though required by the GPL, NASA refuses to release the sources because of ITAR prohibitions.
Move along, there is nothing to see here.
Darwin Award, maybe?
They won't touch the existing licenses because they are not affected by locality. I'd imagine this will suffer from the usual export restriction bollocks that the US Government likes so much.
Forget thrust, drag, lift and weight. Airplanes fly because of money.
I hope NASA gets their Open Source software out soon. I'm getting thoroughly frustrated trying to write an OS for my planetary rover.
Mars Rover Security system..
;-)
no more dog poop on the lawn
"Consider how lucky you are that life has been good to you so far. Alternatively, if life hasn't been good to you so far
I've been itching to get my hands on NASA's Photoshop filters since 1969!
This was originally developed while he (Gary Riley) worked for NASA at the Johnson Space Cener. It was available in source form since before I started working with it in 1993.
I completely agree.
It would be flat out wrong for tax supported software to be made and then not be able to be used by businesses that helped pay for the software.
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?
Read, L
NASA, like any large organization, uses a variety of hardware new and old for different needs. NASA has some software that I have never seen a hint of in the OSS world, and which could be of major significance to outside users. While there has been talk of open-sourcing various projects, no one knew what the process would be. I'm glad to see that someone at Goddard has taken the lead on this.
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
Gregory Casamento
## Chief Maintainer for GNUstep
For instance, nedit, a great editor for people coming from Windows/Mac, was developed by Fermilab, a particle physics laboratory.
I get the impression that NASA develops a lot of software for image processing. I'm picturing some really powerful GIMP plug-ins... "Make Mars Red", "Color Galaxy", "Add UFO"....
"but more interesting is that NASA needs a license at all" A political system relies on a set of rules that applies to EVERYONE . If these rules are no obeyed, even if it is the government itself the system falls apart. But even if they did not require one it would still be bad publicity since they would then be thought of as "Big Brother". (-5 flamebait here i come!!!)
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.
For those wondering about the software produced, they employ folks from all branches of knowledge. Except finance, me thinks.
There is a joke in here somewhere about the esa using the code to actually get a lander on Mars, in one piece. Ok, that was uncalled for.
"If you have done 6 impossible things this morning, why not round it off with breakfast at Milliways" -- hhgg
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
yeah, but the loopholes are so large that NASA fell through without anyone realizing it.
You can't judge a book by the way it wears its hair.
30 years from now, Man finally lands on Mars, and finds one of the 2010 batch of rovers, and, spelled out in its tire tracks...
"FIRST POST!"
Seastead this.
For over 30 years NASA code was available through a program called COSMIC which was administered at the University of Georgia.
http://www.cosmic.uga.edu/
In fact for awhile they operated out of one of the many buildings previously occupied by the 40 Watt Club
Since 1998 the code has been available through the Open Channel Foundation
http://www.openchannelfoundation.org/cosmic/
If you're refering to Maestro, that is not the code I was refering to. If you look on this page, you will see this picture, which shows some pretty darn good 3d processing for only using a few still cameras! And if you look here, you will find this picture which shows a representation of what the Spirit rover's software uses to find its own way, without need of constant instruction from Earth. Pretty good software, if you ask me! The public Maestro program is pretty slow, but so is Java in general for high-performance applications. Maestro doesn't actually generate the 3d range information from the raw images, it just displays it (and apparently is used to figure out the rover's schedule of stuff to do).
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.
Don't you wish your girlfriend was a geek like me?
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...
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 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
MAN SHOOTS ROVER!
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...
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.
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?
Can someone explain to me why software written by NASA, a government agency funded by the public, would not by definition belong in the public domain?
...each Recipient, upon receipt of the Subject
Software, is requested to register with NASA by visiting the following
website...
I doubt this statement satisfies the open-source definition. I am *certain* that it doesn't satisfy the Debian Free Software definition, because it fails both the "desert island" and the "chinese dissident" tests.
Opus: the Swiss army knife of audio codec
NASA made their AI engine available in the public domain in 1986. It's called CLIPS. It was written in C, was very portable, and very fast. In fact it's still being updated. The funny thing is that it did what other companies were charging $10,000 for.
So this is nothing new for NASA. Maybe it's just been a long time since they've done it. Technically, all non-classified government funded software is supposed to be made available in the public domain.
Any man who afflicts the human race with ideas must be prepared to see them misunderstood. -- H. L. Mencken
Why isn't all content and source code paid for by tax payers freely available? For instance, you have to pay to get the GIS database available from the USGS. All the source code from every government agency should be free as well. Also, why does NPR keep their content locked behind Real servers? I could go on. Am I missing something here? Shouldn't all this be free?
LS
There is a fine line between being a cultivated citizen and being someone else's crop. - A. J. Patrick Liszkie
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.
(expanding a bit on my earlier comment)
I've read the license quickly and I can definitely say that section 3F will cause problems. Requiring registration does not meet the open-source definition, nor the Debian free software guideline. It discriminates people who either 1) do not have access to the Internel (the "desert island" test) 2) people who can't say they are using the software (the "chinese dissident" test). It also prevents any inclusion in a distribution because it implies that merely buying a Linux distribution that includes the software requires you to register it. If you forget, you are breaking the law (just imagine if all software was released under this license).
Last thing, by requiring registration, this license seems to cover the *use* of the software, going even further that what copyright law requests. The GPL gives you rights that copyright law alone does not give you (e.g. right to redistribute the code), but it does not *remove* rights (line the right to use the software without telling anyone). This also means that to be valid, the license would actually have to be signed (hence it becomes a contract). The GPL (or other free software licenses) does not require that since it only gives you additional rights (if you don't agree to the GPL, you still have all rights provided by copyright laws).
Opus: the Swiss army knife of audio codec
Examples I know of: NASA STEP Testbed, and Express Engine, though they're not the glamourous or sexy type of software most of you seem to be thinking of in this article. Not rocket or Mars-related, at least.
There's a group in the Orbiter 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.
who are those slashdot people? they swept over like Mongol-Tartars.
Given the ancient hardware nasa still seems to be using on their machines (still essentially powered by '91 era powerpc's) i doubt that the source will be THAT impressive.
In my experience, the opposite is true. Older code is generally leaner, more stable, and much tighter than newer code.
Crap code tends to get weeded out, and good code tends to stick. Witness many of the key parts of Unix which have remained largely unchanged for decade(s).
Why change what is clearly working well?
There's a perception in the computing industry that "old==bad" and "new==good". But in many areas, the opposite is clearly true.
Security algorithms, for example. Only when an encryption algorithm has been out for a while, beaten up, tested, reviewed, and studied by many peers will people begin to trust it.
There's always the risk of a short-cut to decrypting any algorithm, so, in general, the older ones are nearly always better.
But let's put it to the test... You're getting a pacemaker on which your life will depend. Do you prefer the 15 year old software that has an installed base of many thousands, or the new stuff that just came out last month?
I have no problem with your religion until you decide it's reason to deprive others of the truth.
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.
"Sir, we seem to have lost control of the rovers"
"Lost contact man, what do you mean?"
"Well sir, it's like we can look but we can't touch!"
"And what do you see?"
"It's hard to tell at this point, but first the rovers appeared to play a game of pong with a mars rock, and now they appear to be writing "Chris loves Jane" in the dust, with letters large enough to be viewed by a common telescope."
"It's those da*mn blinkenlights people..."
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.
While I can't vouch for this information personally, a friend of mine who does microprocessor design once told me that slower processors are used because the faster the processor, the more random errors it generates. While the errors can be compensated for in software, that, of course, adds complexity to the software. And the more complex the software, the greater the possibility of bugs.
So in the interest of keeping things simple, and as bug free as possible, the slower processors are the preferred solution.
I'm not really knowledgeable about microprocessor design. Perhaps someone who knows something about it could elaborate/clarify?
This is probably the package you are looking for: Integrated Software for Imagers and Spectrometers. It's been distributed freely for many years, and is, indeed, public domain. It's funded by NASA for use by NASA-funded researchers and the planetary science community in general.
Note, Isis 3.0 has not been released yet, look for the beta in coming months - look at Isis 2.1 for the stable release. Download/Install instructions are on this page: Isis 2.1 Installation Guide.
Automatic mosaicking is generally done using the spacecraft positioning information. Automatic registration? It doesn't exist (yet). Registration involves varying levels of human intervention, and when some level of automation is achieved, it's mission-specific and under special circumstances. Isis is primarily a cartographic package - IDL is generally used for statistical work.
Another image processing package that's public domain is USGS MIPS. It's a (non-NASA) terrestrial image processing package that evolved from the same roots as Isis, so you'll find it has many of the same capabilities.
I don't know what other NASA packages there might be out there like this, if there are any. I'll ask around.
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.
My first reaction was along the lines of "hunh?? Is he kidding"
I could easily see a lot of interesting things coming out of NASA labs and projects...
- the rover autonav software could probably find a lot of uses in various areas of robotics..
- Imaging... anybody have even a rough estimate of the number of images that nasa has collected ?? I don't even have to look to be able to guess that they have stuff for cataloging, anotating, organizing arranging, regestering, color correcting, etc.etc.etc.
- GIS systems
- simulations of all sorts
- They probably have software for doing orbital mechanics work (both rough and fine) down to a finer art than most of us thought possible.
- there are probably aeronautical engineers who would slobber over work that they didn't even know that NASA had put together.
- We might even get some interesting open-source project planning and communication software out of them.
- sound filtering systems... and weak signal recovery in general
- Some stuff, although not strictly useful right now is likely to be of some historical interest (if they can still recover it from backups).
If we got full access to all of their software and it was properly categorized, I'm guessing that almost every slashdotter would find something in there that was at least somewhat interesting.Free Software: Like love, it grows best when given away.
Do you want NASA to give away its latest and greatest rocket guidance software to anyone that asks for it?
Yes.
May we never see th
The reality of the situation is, the iss orbit is not where it is to 'satisfy the Russians', it's to satifsy the laws of physics. There are two ways to achieve an on orbit rendevous, the first is to go charging up to orbit, and then later maneuver the orbit to match that of the target. This can be hugely wasteful in terms of energy expended in maneuvering. The second method is to wait for the target object to be on an overhead pass, so that a pure ballistic trajectory can take you directly from launch to the on orbit rendevous. This is the most efficient method of launch, allows the maximum payload delivery for a given launch vehicle.
The ISS orbit is determined by simple ballistics. It's where it is to provide maximum availability of direct launch windows from the Kennedy Space Center AND the Balkinor launch facilities. With shuttles all parked in the garage, I suspect there's a lot of folks at nasa today that are quite thankful for the decision to place ISS in an orbit that provides equal accessibility for the Soyuz and Progress vehicles. With no shuttle missions bringing up the groceries, it's very important that those progress launches pack in every possible pound of payload when they do get sent up.
Like everything else in life, ISS decisions are often a big compromise, most compromises are driven by physics, others by politics. To many uninformed folks, much of the decision making driven by physics appears to be political, because they dont understand the reality of the situation. Orbit selection for ISS was not chosen to 'satisfy the russians', but to optimize availability of resources in many scenarios. Lack of shuttle availability was one of those scenarios, and today it's reality. The ISS orbit is skewed a little from optimum shuttle inclinations due to the lifting capacities of the progress vehicles. With 20/20 hindsight, this was a brilliant decision. At the time, it appeared political to americans. It wasn't, it was driven by the need to have contingencies available in the event of prolonged periods of unavailble shuttles. We are currently a year into one of those periods.
Pathfinder software archive
CLIPS
: A Tool for Building Expert Systems. Maintained by Gary Riley.
fuzzyCLIPS
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
Incidentally, if you remember NASA's old distribution system, COSMIC, Open Channel does have some COSMIC softare available. But I see that same "private use" license there.
COSMIC (1966-1998, R.I.P.) policy included:
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)
Linux is Linux, if One need clarify their dist: <Dist>/GNU Linux
bsds are of course just BSD
How is it "stealing"? If it was released to the public, you can light your candle from it and the corporations can light their candles from it. You aren't robbed of light if someone else has it also. I think they should be able to do what they want with their copy. Or are you really just some sort of "IP" shill?
[
I'm currently working on a satellite development project at my university, and we are developing a custom triple modular redundant flight computer system.
Though my project is the communications system, I have come to learn quite a bit about computer systems in high-radiation environments. Basically, high-energy radiation or particles can temporarily short out a transistor and cause memory bits to flip or a wrong result to be calculated inside a processor. The energy required to flip a bit is proportional to the energy stored in the device. Faster devices have smaller feature sizes, and store less energy per memory bit. Thus, they are more prone to these types of "single event upsets" that flip bits and cause unpredictable results. For a given mean level of radiation, there is a feature size above which the probability of an upset is very close to zero, and so processors with feature sizes at least this big (read: typically slower than other processors with smaller feature sizes) can be used without too much worry.
For those whom feel that everything Nasa does is automatically non-copyright, the problem is that very few things that NASA has ever done are NASA exclusive. Almost all research is done by a University under a technology sharing arrangement. The copyright is held by the University in these cases.
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 ?
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.