Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
NASA Open Source Software (nasa.gov)
186 points by selmat on June 26, 2016 | hide | past | favorite | 48 comments


I had no idea this was out there. I found a bunch of old projects out here from a program I work on in the realm of Earth Science. Things from 2002 and 2004 that have probably not been used in over 10 years (and some from the same time frame that are still in production).

It has been really hard for us to open source things lately - our last project took more than a year. I did find it on this page: https://github.com/nasa/earthdata-search. We are still working on open sourcing a couple more of our projects.

We've been told one of NASA's recent goals is to significantly improve the open source process so hopefully we'll see more of the current projects become open source.


Why is it hard to open source things?


Liability. Same thing with why it can be hard to use open source in a large company. Liability.

If something screws up they dont want to be sued. If you use open source you can't sue someone if it breaks...but if I use Oracle I can get support and in extreme case sue for damages.


> but if I use Oracle I can get support and in extreme case sue for damages.

That's not true. Most proprietary software licenses have the "not suitable for purpose" warranty clause that basically means that you can't sue them if their database crashes on you. Oh, and you can get support for free software from many different companies (SUSE and RedHat being two).


That sounds like the opposite problem from releasing open source code. I would imagine one of NASA's concerns is ensuring none of the code reveals classified information. Another risk (this one for anyone thinking about publishing their code) is that it turns out to infringe on some obscure patent - though I'm not sure if it would be easier or harder to get a settlement from NASA than a private business. (So yes, "Liability." is still a possible reason.)


But don't most open source licenses waive liability? MIT and other popular licenses state that the work is provided "as is" and that the author cannot be held liable.


> But don't most open source licenses waive liability?

Most open source licenses include a liability disclaimer. Many jurisdictions, OTOH, have laws which limit the effect of liability disclaimers, so whether the disclaimer means anything, and if so what it means, varies based on which jurisdictions law applies to the liability at issue.


The company I work for is scared to use open source often, much less let people release it. They care more about scoring patents on useless processes than on releasing useful code that could have been written by a competent intern at LITERALLY any company in the industry.

Decisions made by lawyers and bureaucrats.

(These opinions are mine and not necessarily those of my employer)


I thought the law was that all software, books, papers, etc. created by the US government was public domain. Seems odd to see licenses on this stuff.

https://en.wikipedia.org/wiki/Copyright_status_of_work_by_th...


This is true(ish) but what happens in much of the USG is that they have contractors write the code and there is a big hole cut in the law to allow contractors to retain copyright and monetize code written for the government. The idea was that by allowing contractors to retain copyright, the costs would go down for government procurers and it allowed them to consider 'commercial off the shelf' (COTS) software.

In practice, the government can and has been locked into contractors for ongoing, unending and expensive maintenance.


Any software or hardware built for the US or any State government should be required to be open sourced, with zero restrictions. Same with research.

It's ridiculous that we as tax payers don't have access to what we pay for.

I'm glad you've put so much effort into cutting through the red tape to get this out there. Thank you.


To be clear: I didn't release the nasa code, I went to a couple of meetings there, but they did all the work.

I just eval licenses all the time as part of my job, like some kind of weirdo.


I imagine the argument is probably that you're not paying for the source code you're paying for the solution.


This isn't as cut and dry as you might think. Should the US govt. pay full development cost for all software it contracts out? Contractors often take less NRE than makes sense if they can make a business case for said software elsewhere. If all contracts mean the work will be open source, then NREs will go up dramatically.


Contrast a private software development house with a company that only services government contracts. Why should the second have the benefit of having all the development expenses covered by the tax payer while retaining the same rights as a company that doesn't have those costs covered.

Seems to me that if you fund the development of the product from your own reserves, you have the right to sell to the government like it was any other customer. But if you do it as a work for hire, it's kind of bullshit to get to keep the rights and resell to other parties when possible -- who have already paid the development costs through their taxes.

It would also be a bit skeevy if the government was using tax payer money to develop products that compete with existing off the shelf products. Kind of bad manners to take someone's money and then use that to kill their business too.


How do costs go down by having to repurchase what would have already been available for free?


It's not even free software!

NASA Open Source Agreement license is not approved by the Free Software Foundation because its "original creation" clause bars derivatives combining third-party code.

The fact that this non-copyleft license is approved by the Open Source Initiative is as far as I know, the only thing that makes free software a proper subset of open source software.


Yeah, this is one of the very rare instances when the OSI and the FSF disagree on a license.

Thankfully, it looks like NASA has stopped using this weird license. The newer stuff that I see here seems to be under other more common free and open source licenses.


Why do you think they've stopped using NOSA? The page claims to show 253 projects and in the same time contains 239 occurrences of "NASA Open Source 3.0" which, for some reason, is the name of links to https://opensource.org/licenses/NASA-1.3


It feels sad to click a link that makes one's browser freeze. The link in question is a fine example.


I was ready to ask you about details and then my Firefox on i7 froze as well. What a horrible website, it makes gazillions requests to github simultaneously. Perfect example of Javascript abuse worthy a simple static page to me.


Ah, so I won't bother allowing js then if it's going to crash my browser. Thanks for the heads up you two.


ublock block count is 94 on my machine. Seems pretty high for a .gov site.


Hmm, mine is only at one. Wonder why.


3+ social links for each project listed


Woah! A web based mission control framework! https://nasa.github.io/openmct/ Totally sweet! Let's launch some rockets from our browsers and shoot down that pesky moon once and for all


Somebody needs to connect this to KSP


This is cheaper than NASA's COSMIC repository.[1] There, for a few thousand dollars, you can buy old NASA FORTRAN programs. Most of them do aerodynamic calculations. If you really need to do that, that's a place to go. Export-controlled; US citizens only.

[1] http://www.openchannelfoundation.org/cosmic/


Good that they have ROBUS-2 code on here. The real beauty is in the hardware. Here's that project:

http://shemesh.larc.nasa.gov/fm/spider/

NASA's research on highly-assured systems has always been superb. Java Pathfinder and their Formal Methods guidance were also useful.

https://en.wikipedia.org/wiki/Java_Pathfinder

http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/1998022...

http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/1998022...

http://csrc.nist.gov/staff/Kuhn/kuhn-chandramouli-butler-02....

Those are the ones I recall off the top of my head. Glad we have new stuff to look at. Hopefully at or above that level aside from the little tools that just make our jobs easier.


It is interesting to see they are using Google Earth instead of some own map system...


I find it a bit sad, I liked World Wind. This is too interesting and too useful a type of application to have just one of it.

https://en.wikipedia.org/wiki/NASA_World_Wind

http://worldwind.arc.nasa.gov/features.html


I guess they never quite solved pagination.


At least I got some real fun with my free scroll wheel in another thing than an excel spreadsheet or bad code.


Tangentially related, does anyone here use their APIs? I started playing around with their Earth API (https://api.nasa.gov/api.html#earth) but ran into a bug that turns out to have been reported half a year ago.

https://github.com/nasa/api-docs/issues/63

I sent an e-mail to their Contact Us mailbox with no reply. I'm kind of hoping someone who works there sees this, because getting an image larger than the default size would be really cool.


Why in God's name would they have "share on facebook" buttons?


Obviously so that you share it on Facebook...

But seriously, why not, or what instead?


If only they had a "share on Hacker News" button, it would have made someone's life easier.


Has anyone used their network simulator? I'm wondering if it's higher-level than the tools that are available in Linux. It's always useful to be able to simulate different classes of network failure without actually having a crappy network.

https://github.com/nasa/channel-emulator


I was honestly hoping to see a few Lisp, Haskell or Erlang projects. Also it seems NASA engineers are horrible in designing web-pages


:) hehe - I expected great content and was extra forgiving when waiting for the load to finish. Gave up after 120 seconds and 3 promps to kill the js, never seen my browser behave like this ever


> I was honestly hoping to see a few Lisp, Haskell or Erlang projects.

I've heard that NASA does a fair bit of NodeJS.


> NASA does a fair bit of NodeJS.

Scary. I hope that's limited to web stuff.


They use it for spacesuits. See "Spacesuits and Node.js - How open source will change NASA" by their Director of Software Engineering [0]. Also, "One small step for the Thinker: A case study of RethinkDB at NASA" [1].

[0] https://vimeo.com/168064722

[1] https://rethinkdb.com/blog/nasa-case-study/


This could be awesome. NASA is held up as having ridiculously low bug counts (probably for their launching actual rockets software) but I would love to add this to a corpus stretching from the Linux kernel to whatever I wrote last week and seeing what metrics can be pulled out


Their link to the OpenMDAO framework seems out of date

https://github.com/OpenMDAO/OpenMDAO



Interesting that something like DTN is being hosted in SourceForge:

Interplanetary Overlay Network (ION) Software Distribution (DTN) http://sourceforge.net/projects/ion-dtn/

I'm interested in DTN but given SF's reputation in the last few years I'm not sure what to think of it :/


> [...] but given SF's reputation in the last few years I'm not sure what to think of it :/

It seems to be better since it's under new management[1].

[1] https://sourceforge.net/blog/sourceforge-acquisition-and-fut...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: