View Issue Details

IDProjectCategoryView StatusLast Update
00003871003.1(2008)/Issue 7Shell and Utilitiespublic2011-03-03 17:04
Reporterdwheeler Assigned Toajosey  
PrioritynormalSeverityObjectionTypeEnhancement Request
Status ClosedResolutionRejected 
NameDavid A. Wheeler
Organization
User Reference
Sectionadmin, delta, get, prs, rmdel, sact, sccs, unget, val, uucp, uustat, uux, asa
Page Number2402-3308
Line Number75994-110441
Interp Status---
Final Accepted Text
Summary0000387: Remove obsolete commands from POSIX standard: admin, delta, get, prs, rmdel, sact, sccs, unget, val, uucp, uustat, uux, asa.
DescriptionSome of the POSIX standard commands are rarely used today, because they have become very obsolete. *Requiring* their implementation to meet the next version of the POSIX standard is inappropriate. Implementations may choose to continue to implement them, of course, and they can simply refer to older versions of the standard. In many cases, implementations could provide them as optional installations for those few customers (if any) who want them. However, it doesn't make sense to require certain commands' implementation.

In particular, remove:
* sccs-related commands: admin, delta, get, prs, rmdel, sact, sccs, unget, val. These were replaced long ago by RCS, then by CVS, and now by the many available tools include Subversion, git, mercurial, and so on. There is no obvious single successor, but it is clear that sccs is *unlikely* to be used, even as an exchange format. If someone wants sccs, they can install it, but there's no reason for it to be in the POSIX spec.
* uucp-related commands: uucp, uustat, uux. These have been replaced almost entirely with TCP/IP based networking capabilities in industry. There are a few users, but again, implementations can implement them without them being in the latest specification.
* Miscellaneous: asa.

Some specialized operations that are still in use (e.g., batch commands) should be kept, but there's no need to impose requirements on implementations that do not help many users.
Desired ActionRemove these obsolete commands from the next release of the specification:
admin, delta, get, prs, rmdel, sact, sccs, unget, val,
uucp, uustat, uux,
asa.
TagsNo tags attached.

Activities

ajosey

2011-02-28 06:44

manager   bugnote:0000680

The SCCS utilities noted are part of the XSI Development option and so not a mandatory requirement for POSIX.

Similarly the UUCP utilities are in a separate optional XSI extension.

The asa utility is part of the FR (Fortran Runtime) option -- again optional.

In summary these are all currently optional for POSIX
conformance. It should be noted that the removal path requires a
utility to be marked obsolete for an edition of the specification prior to removal. There is usually a review for each major revision as to which
interfaces should be considered for marking as obsolete.

wpollock

2011-02-28 06:58

reporter   bugnote:0000681

Is it certain nobody is using UUCP? I thought it was used in some parts of the world, such as Africa.

I don't mind replacing SCCS but it shouldn't just be dropped. Revision or version control is very important, at least to me tied to the heart of Unix. Maybe the ubiquitous RCS (which is used by CVS) would be a good substitute; in ten years or so, if there is a clear successor, the decision could be revisited.

Konrad_Schwarz

2011-02-28 09:53

reporter   bugnote:0000682

Thanks to the efforts of the Unix Heirloom project (http://heirloom.sourceforge.net/), SCCS is freely available, as is Troff and other goodies. Thus, the onus upon Unix distributions of providing SCCS for the XSI Development Option is minimal.

In practice, RCS displaced SCCS probably more for reasons of avai1ability than for any technical reasons.

Although plenty of version control systems have been created since then, they are more complicated than SCCS (and RCS), mostly require administration, and support different, sometimes specialized philosophies and work flows. No clear successor can be established.

The Bitkeeper product builds upon the SCCS file format and continues to support the SCCS command-line interface.

For small (e.g., one-man) projects, or version control of system configuration files, etc., SCCS remains useful.

SCCS (and RCS) is of interest to the student as an example of how transactional updates can be achieved on top of simple file system semantics.

Similar arguments apply to UUCP: this is an interesting example of how a store and forward network can be implemented when networking costs are high. Again, Taylor UUCP is freely available. The technology itself may still be of immediate use in some locations.

If POSIX eliminates these utilities, there is danger they will be gradually eliminated from Unix distributions and ultimately forgotten. This is what still irks me about the decision to remove the ucontext_t makecontext/swapcontext/... routines (for purely formalistic reasons): they taught *me* how to structure/design a context switch API, which is the heart of any operating system. Future generations will no longer profit from this knowledge---they will need to reinvent the wheel.

Unix isn't about adding all the latest glitzy features---it's about how to maximize the bang for the buck, about making the most out of the Pareto principle.

user129

2011-02-28 12:36

  bugnote:0000683

Is there some reason the list of SCCS commands is missing the what command ?

joerg

2011-03-01 13:45

reporter   bugnote:0000684

Thanks to my interventions, a recent version of SCCS has been made OpenSource in December 2006 and soon ported by me to many platforms. SCCS is still activelely maintained. There is ftp://ftp.berlios.de/pub/sccs/ with stable versions. The latest version is part of the schily consolidation at: ftp://ftp.berlios.de/pub/schily/.

The version mentioned above works (verified) on all platforms of interest.

The next plans are to add version tags and remote repositories.

Given the fact that sccs will play nicely with distributed development, I see no reason to give it up.

ajosey

2011-03-01 14:03

manager   bugnote:0000685

As a use case we also use SCCS as part of the document build environment for this standard :-)

Issue History

Date Modified Username Field Change
2011-02-28 00:38 dwheeler New Issue
2011-02-28 00:38 dwheeler Status New => Under Review
2011-02-28 00:38 dwheeler Assigned To => ajosey
2011-02-28 00:38 dwheeler Name => David A. Wheeler
2011-02-28 00:38 dwheeler Section => admin, delta, get, prs, rmdel, sact, sccs, unget, val, uucp, uustat, uux, asa
2011-02-28 00:38 dwheeler Page Number => 2402-3308
2011-02-28 00:38 dwheeler Line Number => 75994-110441
2011-02-28 06:44 ajosey Note Added: 0000680
2011-02-28 06:58 wpollock Note Added: 0000681
2011-02-28 09:53 Konrad_Schwarz Note Added: 0000682
2011-02-28 12:36 user129 Note Added: 0000683
2011-03-01 13:45 joerg Note Added: 0000684
2011-03-01 14:03 ajosey Note Added: 0000685
2011-03-03 17:04 Don Cragun Interp Status => ---
2011-03-03 17:04 Don Cragun Status Under Review => Closed
2011-03-03 17:04 Don Cragun Resolution Open => Rejected