selden wrote:At one time NASA's SPICE couldn't be exported or included in Celestia because it was considered to be covered by the terms of ITAR. That is not the case any more. See
http://naif.jpl.nasa.gov/naif/rules.html
The fact that it isn't covered by the terms of ITAR anymore doesn't mean it's free software.
Below is the disclaimer that appears in the source code of CSPICE.
It doesn't even say if authorisation is granted to distribute source or binary versions of cspice. Celestia being statically linked with cspice contains a binary version of cspice.
I guess NAIF is not against distributing programs statically linked with CSPICE, but that doesn't mean it's free software. Since some linux distributions like Debian are very attentive to software freedom they will probably want to have a celestia package without SPICE. But some contributor could also provide a celestia-non-fee package in the non-free section.
THIS SOFTWARE AND ANY RELATED MATERIALS WERE CREATED BY THE
CALIFORNIA INSTITUTE OF TECHNOLOGY (CALTECH) UNDER A U.S.
GOVERNMENT CONTRACT WITH THE NATIONAL AERONAUTICS AND SPACE
ADMINISTRATION (NASA). THE SOFTWARE IS TECHNOLOGY AND SOFTWARE
PUBLICLY AVAILABLE UNDER U.S. EXPORT LAWS AND IS PROVIDED "AS-IS"
TO THE RECIPIENT WITHOUT WARRANTY OF ANY KIND, INCLUDING ANY
WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A
PARTICULAR USE OR PURPOSE (AS SET FORTH IN UNITED STATES UCC
SECTIONS 2312-2313) OR FOR ANY PURPOSE WHATSOEVER, FOR THE
SOFTWARE AND RELATED MATERIALS, HOWEVER USED.
IN NO EVENT SHALL CALTECH, ITS JET PROPULSION LABORATORY, OR NASA
BE LIABLE FOR ANY DAMAGES AND/OR COSTS, INCLUDING, BUT NOT
LIMITED TO, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND,
INCLUDING ECONOMIC DAMAGE OR INJURY TO PROPERTY AND LOST PROFITS,
REGARDLESS OF WHETHER CALTECH, JPL, OR NASA BE ADVISED, HAVE
REASON TO KNOW, OR, IN FACT, SHALL KNOW OF THE POSSIBILITY.
RECIPIENT BEARS ALL RISK RELATING TO QUALITY AND PERFORMANCE OF
THE SOFTWARE AND ANY RELATED MATERIALS, AND AGREES TO INDEMNIFY
CALTECH AND NASA FOR ALL THIRD-PARTY CLAIMS RESULTING FROM THE
ACTIONS OF RECIPIENT IN THE USE OF THE SOFTWARE.
It might be possible to have a free Celestia with SPICE support:
1) build a shared object from cspice.a and csupport.a and compile Celestia with dynamic linking. However Celestia would not run without the shared object.
OR 2) use dlopen() and dlsym() in Celestia to load the functions in the cspice shared object only if it is available at runtime.
OR 3) rewrite the routine to read and interpolate ephemeris inside Celestia.