I agree with Alan Riley, who responded to Bill Rising's comment, that there
is certainly no reason to centralize all user-written Stata code in the SSC
archive. There are some features of Stata that make special notice of the
SSC archive, such as the ssc command; but other net-aware features, like
'findit', work equally well for all users' sites, as long as they have been
placed on the list of user sites at StataCorp.
Authors are welcome to mirror Stata routines that they wish to circulate
via the SSC archive. Some authors rely on the archive and eschew setting up
their own site. Others use the archive in addition to their own site. Those
that do the latter are kindly requested to ensure that updated versions of
their materials are sent my eay, so that SSC does not circulate out-of-date
ssc whatsnew depends on one feature of its 'user site': the fact that every
module in the SSC archive has a 'Distribution-Date' associated with it in
its .pkg file. Good Stata programming habits imply that a program's version
number and date of last update would appear on the first line of every
ado-file. Not all authors follow those habits. Furthermore, since a package
can contain many ado-files, which is the relevant date? (Logically, the
last, but...) The currency of Stata packages is ensured by having a
separate date (either a creation date or revision date) in standardized
form stored in every package file, which is updated when the package is
rebuilt (when its contents are altered). If no human errors are made in
this process, the Distribution-Date showing on 'ssc describe foo' should
tell you when the foo package was last revised.
The extension of a 'whatsnew' feature to users' sites would necessitate
such a mechanism so that the currency of each user package could be
ascertained. Users providing materials would have to adhere to this or a
similar convention in order for a 'whatsnew' routine to reliably determine
the date of last update of a package.
Last, I would note that for the sake of efficiency 'ssc whatsnew' does not
query each package file in the archive. It queries a small number of text
files from which package files are automatically generated. My end of 'ssc
whatsnew' is written in php, version 4.