[fitsbits] Definition of "deprecated"

Dick Shaw shaw at noao.edu
Mon Aug 27 13:19:32 EDT 2007


Looking at the current vs. proposed definitions of what it means to say that a 
structure is "deprecated" in FITS, and considering some of the discussion on 
FITSBITS of late, I wonder if some clarification of the term is in order.

The current version (v2.1b) of the Standard defines "deprecated" as:

"This term is used to refer to obsolete structures that should not be used for 
new applications but remain valid."

The proposed 3.0 revision is a little more wordy:

"This term is used to refer to obsolete structures that _should not_ be used 
for new applications but _shall_ remain valid for use by applications that 
already use the deprecated structure."

It is perhaps a little confusing to refer to "applications" in this context, 
when the standard governs data files and their interpretation, but only 
advises the functionality of applicable software. The following wording is an 
attempt to clarify the definition:

"This term refers to obsolete features or structures in FITS that _should not_ 
be used in new FITS files, but _shall_ remain valid indefinitely. FITS users 
and data engineers should be aware that the use of deprecated structures is 
considered bad form and should be avoided."

The above wording would, I think, send a message to FITS software developers 
that they should update their applications and libraries to make use of 
alternative structures as soon as possible--e.g., I think we really do want 
users to stop using CROTAi and EPOCH, and FITS writing software should help 
them do that. A potential ambiguity is: what does this mean for new FITS files 
that are modified by some application--would the application be obligated to 
update the FITS file to expunge deprecated features? My view is that 
application developers might be encouraged to provide an update path if the 
modification in question is related to the obsolete features, but not 
otherwise. For example, if the purpose of the update is to modify the WCS, 
then one could argue that CROTAi etc. ought to be replaced with a modern WCS 
expression.

For reference, here a list of all the FITS features that have been deprecated:

- BLOCKED keyword
- EPOCH keyword
- random groups
- CROTAi keyword

Additional structures or features that v3.0 would deprecate:
- special records
- implicit decimal points in ASCII table fields (actually, the v3.0 draft says 
this should be outright banned)

-Dick Shaw



More information about the fitsbits mailing list