3.1 Check custom-written programs for Y2K compliance.
Most Unix applications use the same timekeeping mechanism as the operating
system--number of seconds since 1970. Such applications are probably
Y2K-compliant, as long as they use all four digits of the year that gets returned
by the time functions such as gmtime() and localtime().
However, there is
another time structure available to Unix programmers which could cause some
problems. In /usr/include/time.h, there is a "struct tm" which defines "tm_year"
as an integer value of number of years since 1900. This does not create a direct
Y2K problem, but 1999 will be represented as "99", and 2000 will be represented
as "100". If programmers write code expecting tm_year to return exactly two
digits, there could be Y2K problems. For example, a printf statement that
explicitly prints the first two digits of tm_year will wind up printing "10"
instead of "100", or if you explicitly print "19" and then the value of tm_year,
you'll wind up printing "19100" instead of "2000".
Searching for usage of tm_year in your C code or of
localtime() in your Perl code will probably uncover most
potential Y2K problems. If you use sh, sed, or
awk scripts which do date-dependent
things, you'll have a more difficult time; you have to make sure that every time
you use the year, you use all 4 digits.
Custom-written (or "customized") application programs have been
written "from scratch"
or else extensively modified to perform a customized set of tasks
for a specific customer. Some campus departments are running
such applications, which typically have been created by
departmental programmers or outside consultants. Often, these
programs were built using programming or scripting languages,
database management systems, or client/server tools.
Custom-written programs are at considerable risk for Y2K problems.
Some of these programs may not work properly in the year 2000, or may encounter
problems when handling dates from the year 2000 and beyond.
If one or more of these programs are of significant importance to your campus department,
it is essential that you find and resolve their Y2K problems.
It is also imperative that you begin your work as early as possible, as the
process of identifying, fixing, and testing fixes to
custom applications can often be very time consuming.
Custom Applications: Finding & Resolving Y2K Problems
can direct you
to resources to help you find and resolve Y2K problems in custom applications.
In particular, you can obtain a great deal of assistance from the Web pages of the
UC Berkeley campus's Year 2000 Departmental Customized Applications
Subcommittee, which has identified a phase-by-phase
process that can guide you in carrying out this work.
This document also provides links to Web pages discussing Y2K issues of relevance to
Unix programmers.
|
3.2.
Check off-the-shelf application programs for Y2K compliance.
Most of the software included with Linux distributions is open-source free
software. Open-source software tends to have fewer Y2K problems than commercial
software because of the peer scrutiny involved in such projects. On the other
hand, support for these applications is informal and in some cases non-existent.
But on yet another hand, you can probably verify whether a problem exists and fix
it yourself if necessary.
Among major free packages,
Apache
,
Perl
,
and most - but not all - of the
GNU
software is Y2K-compliant.
For commercial application programs, such as Mathematica,
you'll need to check the vendor's compliance statements, and contact the vendor
for fixes if necessary.
It appears likely that most commercial off-the-shelf application programs
will work fine in the year 2000. However, some application programs are known to
have Y2K problems or issues, ranging from minor to severe. If some of these
application programs are important to your department or to your own
research or instructional work, you'll need to resolve
their Y2K problems before the year 2000 arrives. To do this, we suggest that you:
- Identify your critical application programs.
Prioritizing: Identifying Your Critical Computers & Software
lists representative examples of critical tasks that your computer
might be performing, which may help you identify your critical application programs.
To ensure that you're not overlooking any critical programs,
Commercial Off-the-Shelf Applications: Finding & Resolving Y2K Problems
describes
how you can use
automated software tools to generate an inventory list of
all of the programs installed on your computer.
- Determine which of these applications are not Y2K compliant.
You can do this in a variety of ways, including:
- Resolve problems with non-compliant applications.
Commercial Off-the-Shelf Applications: Finding & Resolving Y2K Problems
includes
general checklists that can guide you through the process of
resolving Y2K problems in non-compliant application
programs.
If some of your programs have only minor Y2K issues,
you might in some cases be able to continue to use these applications.
However, most non-compliant programs will need to be
patched, updated, upgraded, replaced, or retired.
|