[mod.std.unix] RFC.001 Summary of mod.std.unix Volume 5.

std-unix@ut-sally.UUCP (07/18/86)

Summary of time zone discussion (and other material) in mod.std.unix Volume 5.
The time zone discussion was in response to a request in P1003 Appendix A.3.
The numbers in parentheses like (N3) correspond to article number within
Volume 5.

The *problem* was first stated by Mark Horton (N3).
    * GMT/local time disparities exist in the real world:
	Internal system time must be GMT (N11) as used by make (N6), etc.
	Many log files are in local time, e.g., RCS, SCCS (N15).
	Users want to see dates displayed in local time (N3).
	Some parameter files are in local time, such as
		UUCP's L.sys (N5), crontab (N13), and at (N69).
	Conversions should work for dates from at least 1 Jan 1970 (N26)
		(for ls, SCCS, RCS, other logs) to near future
		(L.sys, crontab, at) (N65).
    * Network/dialup logistics:
	Synchronization of networked hosts also requires internal GMT (N17).
	Some network-related logs should perhaps be in GMT (N10).
	Users may be in different timezones than hosts (N7, N14, N13).
	Client workstations may be in different time zones than servers (N63).
    * Politics in the real world sets time zones:
	There are many standard one-hour-from GMT timezones (STs);
		some of them may have different names in different countries.
	There are many Dalight Savings Times (DSTs) related to STs,
		usually by adding one hour.
		These DSTs differ even within the same ST (N63).
		Double daylight savings time is sometimes used (N62, N58).
		Even daylight losing time is plausible (N51, N65).
	Sometimes the DST offset from ST is not integral hours (N28).
	There are local times which are not DSTs
		and also not integral hours from GMT (N19, N13).
	Offset precision of minutes is necessary (N19) but seconds not (N63).
	ST may change at any time (China switching to several zones, N62).
	DST may change at any time and with little notice (Australia, N65).
		or for brief periods (U.S. presidential elections, N27).
	Timezone names may conflict (Bering Strait Time/British Summer Time)
		or be non-alphabetic (N54, N48).

Some *deficiencies* of existing implementations (N3).
    * V7/BSD: inefficiency of system call.
    * System III/V: initialization and security (N3, N66, N63, N4, N50);
	one hour precision is not enough (N63).
    * both: DST tables wired into kernel or library, respectively.

Proposed *solutions*.
    * Early proposals by Kenneth Almquist (N24) and Bob Devine (N47)
	were very useful for discussion but flawed.
    * Interface as proposed by Robert Elz (N65):
	Three conversions sufficient:  GMT, default local, user's local (N55).
	Timezone format left to the implementation.
	Timezone in environment allowed.
	Default initialization and security provided.
	(A routine to translate timezone name to offset possibly useful (N67).)

Proposed *implementation* by Arthur Olsen (N68,N57) since posted to mod.sources.
    * Inspired Elz's interface and is sufficient for it (N65).
    * Jack Jansen's implementation would also fit Elz's interface (N65).
    * Miscellaneous implementation criteria:
	Should not be shell-specific (N49).
	Should not put timezone offset in u-area (N22, N21, N20).
	Efficiency requirements (N66):
	    conversion	of present time fast for logging,
			of near past pretty fast for "ls -l",
			of distant past may be slow.
    * A particular implementation may be broad or narrow,
	depending on the intended market (N65, N63).

Far *future* considerations.
    * Machines are currently considered stationary (N60).
    * Days may not be of 24 hours (N58).
    * Announcement of info-futures list (N59).

Other topics in mod.std.unix Volume 5, with numbers of the
corresponding sections of the IEEE 1003.1 Trial Use Standard:

setuid and environment clearing (N39, N31) 3.1.2.
setuid switching (N46, N45, N44, N43) 4.2.2.
ex-directory (N12, N8)
directory umask 5.3.3, 5.6.1.
	motivation (N35, N23, N22)
	objections (N34, N33, N25)
	proposals to use .cshrc (N30, N35, N29)
	clarifications:  not per cwd (N38); process umask remains (N40)
	philosophy (N42, N37)
	solution (N41)
The IEEE 1003 Committee
	and mod.std.unix (N36, N33, N35)
	Draft 6 (N2)
	meetings:  Denver (N18); Florence (N71).
administrativia (N1, N30).
guest moderator (N71, N70).

End of summary of mod.std.unix Volume 5.

Volume-Number: Volume 6, Number 30