[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