3

I am planning on starting a free software project in C that deals with creating maps of astronomical data; as such, I will be working very frequently with FITS files. One of the best libraries for manipulating FITS files is CFITSIO for C, but I am somewhat concerned regarding licensing. I'm planning on using the GPL license for my project, and I am aware that the FSF does not see NASA's Open Source License v1.3 as "free"; however, it appears CFITSIO doesn't use this license and instead uses the following license:

Copyright (Unpublished-all rights reserved under the copyright laws of the United States), U.S. Government as represented by the Administrator of the National Aeronautics and Space Administration. No copyright is claimed in the United States under Title 17, U.S. Code.

Permission to freely use, copy, modify, and distribute this software and its documentation without fee is hereby granted, provided that this copyright notice and disclaimer of warranty appears in all copies.

DISCLAIMER:

THE SOFTWARE IS PROVIDED 'AS IS' WITHOUT ANY WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY THAT THE SOFTWARE WILL CONFORM TO SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND FREEDOM FROM INFRINGEMENT, AND ANY WARRANTY THAT THE DOCUMENTATION WILL CONFORM TO THE SOFTWARE, OR ANY WARRANTY THAT THE SOFTWARE WILL BE ERROR FREE. IN NO EVENT SHALL NASA BE LIABLE FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO, DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES, ARISING OUT OF, RESULTING FROM, OR IN ANY WAY CONNECTED WITH THIS SOFTWARE, WHETHER OR NOT BASED UPON WARRANTY, CONTRACT, TORT , OR OTHERWISE, WHETHER OR NOT INJURY WAS SUSTAINED BY PERSONS OR PROPERTY OR OTHERWISE, AND WHETHER OR NOT LOSS WAS SUSTAINED FROM, OR AROSE OUT OF THE RESULTS OF, OR USE OF, THE SOFTWARE OR SERVICES PROVIDED HEREUNDER."

I have a hunch that this ticks off the boxes for a free software license, but I am unsure. I'd appreciate any advice.

Link to NASA OSA v1.3
Link to CFITSIO website

3

This is a bit tricky. At first glance, the license looks very much like the MIT license, which is GPL-compatible. However, the CFITSIO license might only allow non-commercial use, which is not GPL-compatible.

The license contains three paragraphs:

  • statement of copyright
  • grant of permissions and statement of license conditions
  • disclaimer

The disclaimer is standard fare and amounts to “you don't get to use NASA for any reason relating to this software”. The statement of copyright is more complex than a single line “Copyright 2021 NASA” due to the way how copyright for government works is handled in the US.

The permission grant (and license conditions) is as follows:

Permission to freely use, copy, modify, and distribute this software and its documentation without fee is hereby granted, provided that this copyright notice and disclaimer of warranty appears in all copies.

Let's compare this with the permission grant (and license conditions) of the MIT license:

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

In this context, the critical difference is the scope of “without fee” and “free of charge”. In the MIT license, the grant of permissions is explicitly free of charge. The permissions include selling copies of the software. In the CFITSIO license, permission is granted to “distribute this software … without fee”. Forbidding for-profit distribution goes against the Open Source Definition and is incompatible with the GPL.

Of course, you might not charge for the GPL software. But if you were to publish a software under the GPL that includes the CFITSIO routines, you would be giving other people permission to sell the CFITSIO software. You have no right to do this, so you cannot include CFITSIO in an Open Source software.

The solution might be to create a not-fully-open-source software. You could publish your software under GPLv3 plus an additional permission under section 7 to link with CFITSIO. This is also suggested in the GPL FAQ entry “What legal issues come up if I use GPL-incompatible libraries with GPL software?”. But this only works if you are the only author of GPL-covered code in the software. You will not be able to include GPL-covered code from other people, since it wouldn't be covered by this exception. Understanding the exact consequences of such an exception might be worth a separate question.

Alternatively, consider writing a separate tool that uses the CFITSIO routines to a data format that your main GPL-covered software can understand. This conversion tool would have to be licensed separately. While you can make it freely available, it wouldn't be Open Source or Free Software.

4
  • It also says no copyright is claimed in the United States. What happens if you get a US friend to copy it and delete all the notices for you?
    – user253751
    Aug 6 at 16:32
  • @user253751 Arguably, the CFITSIO license is not enforcible within the US and imposes no meaningful conditions. But when the US person gives me a copy of the software without any notices, I would not have any right to use, modify, or copy the software. Note that without any notices, the default license is “all rights reserved”.
    – amon
    Aug 6 at 16:47
  • For copyrighted works, which it says it is not (in the US). It seems like the licensor has deliberately tried to make a mess of the copyright status, because foreign courts may still recognize the copyright because it doesn't disclaim that... or they may say "wtf are you doing NASA" and throw it out...
    – user253751
    Aug 6 at 16:56
  • Thanks for the information, I've sent emails to both the NASA FITS support office as well as the FSF to get further clarification. I'll give an update when I get responses.
    – dr_kerbal
    Aug 8 at 19:00
2

I have to disagree with the answer by @amon on the interpretation of the permission grant.

Permission to freely use, copy, modify, and distribute this software and its documentation without fee is hereby granted, provided that this copyright notice and disclaimer of warranty appears in all copies.

My reading of this grant is that the "without fee" part means that you don't have to pay NASA to use the CFITSIO package.

If my reading is correct, then the license is a GPL-compatible permissive open-source license.

Given the other interpretation in the other answer, I recommend that you ask NASA for clarification on how the license should be interpreted according to them.

2
  • I agree that the license is phrased ambiguously, though I think that if your interpretation had been intended, it would have been phrased differently. Pragmatically speaking, it's not like NASA is going to enforce these license conditions. And even if they did, this ambiguity would make enforcement difficult due to contra proferentem.
    – amon
    Aug 6 at 16:51
  • Thanks for the information, I've sent emails to both the NASA FITS support office as well as the FSF to get further clarification. I'll give an update when I get responses.
    – dr_kerbal
    Aug 8 at 19:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.