NASA advised to study up on what open source, free software, and permissive licenses actually mean
- Reference: 1636156631
- News link: https://www.theregister.co.uk/2021/11/05/nasa_software_licenses/
- Source link:
NASA, of course, is more than just rocket scientists. It's home to software engineers and other technical types, as well as those inclined to maintenance, management, and administration, and other less storied roles.
But among those at the US space agency who deal with software – writing it, requisitioning it, glaring at it – there's less understanding of open-source software requirements than there should be.
[1]
Or so say John Haiducek, Thom Edwards, Wade Duvall, Sarah Cannon, Kai Germaschewski, and Jason Kooi – a medley of boffins from the US Naval Research Laboratory, Technical University of Denmark, University of New Hampshire, and others.
[2]
[3]
Haiducek et al. recently completed a short paper titled, "Recommendations to clarify NASA open source requirements," that was released [4]via ArXiv . Therein the researchers observe that while NASA has a policy designed to encourage open source software development, its personnel continue to be confused about the specific meaning of terms like “open source software,” “free software,” and “permissive license.”
"Some NASA documents and policies have acknowledged the [5]OSI and [6]FSF definitions as widely accepted, but NASA does not always use and apply these definitions consistently," the paper explains.
[7]
"Moreover, many scientists mistakenly understand the term 'open source' to mean simply that source code is available to the public. As a result, some software products developed by scientists are advertised as 'open source' even though their licenses violate one or more of the ten criteria of the OSI definition."
[8]Judge tosses NEC's claim that Oracle salespeople tricked it into using the wrong software license prior to audit
[9]Software Freedom Conservancy sues TV maker Vizio for 'GPL infringement'
[10]Build your own NASA space rover: Here are the DIY JPL blueprints
[11]NASA sends nuclear tank 293 million miles to Mars, misses landing spot by just five metres. Now watch its video
Such misunderstandings in the past have [12]kept some NASA software from being included in Linux distributions. And, the authors argue, they can trip up NASA solicitations. Proposal teams may interpret OSS requirements differently than NASA, thereby limiting the scope of their work, or expanding it beyond what NASA can accept.
"Establishing common ground as to the meaning of terms related to OSS, and increasing clarity of communications around software licensing, would benefit NASA and NASA-funded scientists," the authors argue.
Bruce isn't impressed
Bruce Perens, [13]creator of the Open Source Definition, board partner at OSS Capital LLC Venture Capital, and CEO of an undisclosed startup, told The Register in a phone interview that he's familiar with NASA scientists through his work at the [14]Open Research Institute , which aims to foster collaboration around technologies otherwise under national export controls.
He said he's really impressed by the degree to which NASA boffins have embraced open source software, but added there's a gap in the way developers are trained.
"As involvement in open source software expands, we reach a problem, which is you can take a four-year course in computer and never have a class in intellectual property," Perens explained.
"This isn't just a NASA problem. It's a problem across the entire software industry. Not only do programmers not really recognize what open source is or what the rules are, I'd say most have never read the license."
[15]
Perens said the recommendations proposed in the paper sound reasonable. "It's essentially saying get your shit together about intellectual property," he said.
The Register asked NASA for comment. A NASA Jet Propulsion Laboratory (JPL) spokesperson cheerfully said he'd try to find someone to respond. But as this story was filed on a Friday, when the East Coast press office is closed and many of those at JPL in California had a rostered day off, we're not expecting an immediate reply. ®
Get our [16]Tech Resources
[1] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2YYlXw97Pa6QzsPLNW75-dgAAAIE&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0
[2] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44YYlXw97Pa6QzsPLNW75-dgAAAIE&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[3] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33YYlXw97Pa6QzsPLNW75-dgAAAIE&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[4] https://arxiv.org/abs/2111.02550
[5] https://opensource.org/osd
[6] https://www.gnu.org/philosophy/free-sw.en.html#fs-definition
[7] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44YYlXw97Pa6QzsPLNW75-dgAAAIE&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[8] https://www.theregister.com/2021/11/02/oracle_nec_us_license_lawsuit/
[9] https://www.theregister.com/2021/10/20/vizio_gpl_lawsuit/
[10] https://www.theregister.com/2018/08/02/nasa_open_source_rover/
[11] https://www.theregister.com/2021/02/23/perseverance_landing_video/
[12] https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=494520
[13] https://opensource.org/history
[14] https://www.openresearch.institute/2021/09/13/itar-ear-regulatory-work-background-and-summary/
[15] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33YYlXw97Pa6QzsPLNW75-dgAAAIE&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[16] https://whitepapers.theregister.com/
Exactly. Isn't this why people seem to prefer the term FOSS? It is free (as in speech) and open. There's stuff only free, there's stuff only open, and there's stuff that's both, and any gradient of those. 50 shades of FOSS (sorry, that's so overused) of you will.
Up to a point. But the BSD licence, for instance, doesn't meet the FSF's definition of the FOSS subset of OSS (which is the definition in the Haiducek et al paper that the article's about). However the supporters of BSD and similar ("permissive") licences will point out that FSF's definition of "free" is encumbered. They define a diferent subset of FOSS. These groups have viewpoints which are, if not exactly orthogonal, looking at freedom from different angles.
What's more the OSS definition isn't enshrined in statute or common law. The nearest it would get to becoming a legal requirement would be inclusion in contracts if required.
Professionally I've come across code which I could view (and even fed back the results of bug-hunting to its creators) but which was still proprietary and not even the whole of the application. I'd have to count that as open, at least to inspection, although in no way would I include it as open in FOSS, OSS, permissive or public domain contexts.
It seems that NASA has the old Github problem of people wishing to "publish" code without realising that "publication" has unavoidable legal requirements. Unless you actually add a licence to your "public" announcements your material is bound by default copyright restrictions.
"Under United States copyright law, works created by the U.S. federal government or its agencies [i.e. NASA} cannot be copyrighted....Therefore, the NASA pictures are legally in the public domain. " [1][Wikipedia]
I don't know if that applies to software. But it sounds like it should.
[1] https://en.m.wikipedia.org/wiki/Category:NASA_images
If it's true, I think it won't apply to taking existing "open source software" or other third party software and modifying it to meet NASA's requirement. Exactly how it won't apply, may be tricky. Open source software is copyrighted by all the authors, I suppose, the catch being that any contribution into an OSS project also is licensed for anyone to use. Being copyrighted means that users do have to abide by the licence conditions.
And presumably, U.S. government data can be legally secret. That may be not relevant, but I would assume that the Hubble Space Telescope for instance has a secret password so you can't just remote control it for fun.
One of the links ( https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=494520 ) dealt specifically with NASA attempting to release code in a way which they presumably intended to be open but with wording which just didn't fit any existing OSS environment. Looking at the licence quoted in the bug report it seems possible that a BSD-style licence might have met their intentions.
That law could pose quite a problem for NASA. If anything they publish automatically becomes public domain, then they can't comply with most "open source" licenses, since these unanimously assume that the code creator holds on to the copyright.
Password access has nothing to do with OSS code.
You can perfectly well write an OSS program with encryption and full RSA public-private key stuff for password access.
The code is still OSS.
>I don't know if that applies to software. But it sounds like it should.
That's where it gets complicated.
If the software was created by Nasa from scratch, yes
What if it includes a numerical library, what if that library is built on another library and so on ? (hint all numerical libraries are ultimately BLAS)
What if it calls a NAG or Matlab routine, those libs aren't opensource but what's the copyright on the calls to them? Is it open source to call a commercial library? Are the argument names to a commercial library function proprietry?
The UK's official astronomy software used commercial NAG libraries under a national academic licence that came with such onerous terms you weren't allowed to even show your results to non-UK collaborators.
Until everybody just switched to using free Nasa-Space Telescope software instead.
Also... many NASA (and USG staffers) are not employees of the federal agency, but contractors, or sometimes employees of a government-funded research institution (FFRDC: Federally Funded Research and Development Corporation). For example, the article reached out to JPL, but JPL is a FFRDC operated by Caltech, which is a private university and legally a California nonprofit corporation. So a JPL employee is actually a Caltech employee working on projects funded by the US government.
And that gets into a new level of murky: under the "work for hire" doctrine, if *I* paid Caltech to do something for me, I would own the copyright. But the USG can't have copyrights as a result of work they themselves do, although they can own "inherited" copyrights, but the copyright has to start with someone else, and then be transferred to the government by assignment, bequest or otherwise (17 USC 105).
So something developed at JPL probably "belongs" to Caltech, but Caltech undoubtedly has obligations under their contract with NASA, as well as under various ITAR regulations (and similar: lots of things involving rockets is sensitive for "dual-use" reasons)...
Ultimately, the extent to which a NASA development could be open-sourced is likely extremely complex, which is probably what's at the root of the issue this article was talking about!
Software is tricky
Software developed entirely by government employees is usually not copyrighted. Software developed by a NASA contractor might well be covered by copyright. Typically, what happens is that NASA gets a "limited non-exclusive government use" license. That is, NASA can use it, other government entities can use it, but the general public cannot. This comes about because NASA is saving money - they're paying to solve a NASA problem, not the general public's problem, and companies are free to charge more for a "free distribution no license" scenario.
It's also complicated by things like the Bayh-Dole Act, which says that educational institutions doing work for the government retain the intellectual property rights.
In general, though, one can get non-commercial use licenses fairly easily.
That all said, the whole area is one where there's a lot of inconsistency - and it gets muddled when you're talking about software that is the combination of multiple sources, each with different licenses. The "easy way" is to not redistribute such software - no redistribution, no worries about whether GPL applies, etc.
BSD vs GPL
BSD is a release of copyright restrictions: you can do what you like with it can keep the derivatives secret.
GPL is a restriction using copyright law: you can do what you like with it, but if used in a public product you must provide the full source + compile scripts to allow others to both re-compile the code and make further derivatives.
Re: BSD vs GPL
The essence of a BSD licence is that if the code is distributed in source or binary form the copyright notice be distributed with it - included in the source in the first case. The notice also includes the fullest possible disclaimers. That's not a release of copyright restrictions but it is a fairly minimal restriction.
Re: BSD vs GPL
BSD license is minimalistic restriction.
If you make changes to the code and distribute/redistribute (in either source or binary form), you must include the attribution of original author in the file/with the program.
That's the only restriction that I can think of.
Run NetBSD
http://netbsd.org/gallery/research.html
http://netbsd.org/gallery/
What free means
Free means free as in free beer, no matter what all the nerdy people say. Free, costless, priceless, untrammelled.
Re: What free means
"costless, priceless, untrammelled"
Which?
Re: What free means
"costless, priceless, untrammelled"
Which? .... Doctor Syntax
All of the above can be applied and successfully argued as being valid and true to the spirit of FOSS iteration surely? To argue otherwise has one batting on a very sticky wicket in defence.
Re: What free means
GPL licences are certainly not untrammelled and quite deliberately so.
Re: What free means
All of the above can certainly be argued, but which would a court actually consider important?
Re: What free means
>Free means free as in free beer,
That's why Free English Citizens work for nothing
Re: What free means
free as in free beer would be "public domain" which is one option.
But, many authors want to restrict what is done with their works. Therefore you have GPL, MIT, BSD, Apache, and other licenses (as well as public domain).
The most common in Linux seems to be GPL, specifically v2 for the kernel (and I hope it never becomes v3). gcc added exceptions for static linking binaries. llvm does not appear to have any such restrictions. And so there is choice.
But seriously it should be plain and obvious how these licenses work,. And since NASA is government, i.e. "the people":, they should either GPL, BSD, MIT, or public domain ANYTHING they create that is not somehow classified (like for military applications).
It seems that photographs taken by the U.S. government are often already treated as public domain. A quick scan of wiki-media proves that. So similarly with software mods done by NASA, especially if they're trying to use Linux on spacecraft or aircraft.
They just need to do what business owners and contractors have done like, forever - put on the lawyer hat for a moment and apply common sense.
(and the FSF gladly answers GPL licensing questions which I've asked before)
Re: What free means
They just need to do what business owners and contractors have done like, forever - put on the lawyer hat for a moment and apply common sense.
And that is how you end up facing off against a real lawyer in a court of law...
Re: What free means
It's a stupid phrase.
When has beer ever been free?
"free puppies" would be better!
Re: What free means
Free means free as in free beer, no matter what all the nerdy people say. Free, costless, priceless, untrammelled.
Pretty sure costless and priceless are polar opposites.
"I'd say most have never read the license"
Yes, usually most of the GPL supporters...
CEO of an undisclosed startup
Aren't we all?
Re: CEO of an undisclosed startup
Mine is just a little slow out of the blocks.
Re: CEO of an undisclosed startup
my corporation has been "a startup" since the early 90's.
"the license"
"This isn't just a NASA problem. It's a problem across the entire software industry. Not only do programmers not really recognize what open source is or what the rules are, I'd say most have never read the license."
Yeah right and of course nothing to do with the industry itself that has spawned a gazillion of all similar but slightly different ones and ended up with tribes that are incompatible with each other. Life's too short ...
Personally I go for Apache (what we use), BSD or MIT, Mozilla at a push and LGPL only if forced .... anything else just tends to be a PITA in a commercial situation and I'd rather pay in order to be "free" - free to do what I want...
Merlin the AIMagician and MetaDataBase Physician Presents a Colossus of an Existential Crisis
"This isn't just a NASA problem. It's a problem across the entire software industry. Not only do programmers not really recognize what open source is or what the rules are, I'd say most have never read the license."
Moving things on a tad to get rid of a self-servingly conceived and poorly contrived construction .... This isn't a NASA problem. IT's a NSA problem across the entire software industry whenever programmers and systems administrators recognise Open Sourcery Operating Systems are not bound and ruled by licences the way humans are.
That is surely quite simply enough put with no hint of ambiguity to aid confusion and doubt and I would commend and highly recommend that one fully understand it is the Default Base Position to Adopt and Adapt in the Business of Drivering Total Situational Awareness for it is against such like that you compete.
Re: The Present Colossus of an Existential Crisis
Fire in the hole, take cover if you can .......... but you sure as hell can’t ...... Try studying Law. You'll learn more about it than you ever wanted to know. This is like complaining that there's not enough about Jesus in Physics, Engineering, Mathematics, etc ad nauseum. License compatibility is for the legal eagles in procurement to wade through. This very article just goes to illustrate what a bloody minefield of conflicting and competing terminology and licensing the whole Open Source field is. Almost as if the whole business were dreamed up by lawyers as a perpetual cash cow...
"Introduction to"
Would be useful.
I did several modules that could be considered "introduction to running a business", but nothing on copyright or patents, despite everything I do being affected by copyright and patents.
You can't always ask a lawyer, they'll say both no and yes. Or insist upon a process that literally nothing else on the planet follows.
“ Almost as if the whole business were dreamed up by lawyers as a perpetual cash cow...” - Actually, it was dreamed up as a tax dodge. Write some code, donate it to a charity and get a yuuge tax receipt…
But CAN NASA even comply with OSIs defintion?
Looking at their list I'm seeing several points where likely NASA will have problems complying one way or another simply because of other laws or restrictions placed on it by the government, contractors, suppliers or international regulations like ITAR.
True, it'd be nice if they could be consistent in what license they release stuff under, and it'd be nice if they could use more widely used and recognized licenses, but the problem with "Open source" is [1]standards . And opinions. Everybody's got one, and they're all different. (But in the end they're like *ssholes. Everybodies got one and most of them are full of sh...)
[1] https://xkcd.com/927/
No Jurisdiction?
What if you shoot the code off Earth?
Do any laws apply? It's like being on the high seas (making NASA a pirate in more ways than one ;-) )
Unambiguous license
They don't come any clearer than:
https://en.wikipedia.org/wiki/WTFPL
Well I know what I expect when I see software advertised as "open source"; then again, there's nothing technically in there that would invalidate the term should it turn out it's basically involving an NDA TO ACTUALLY DO anything with that source you're "open" to inspect.