View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000387 | 1003.1(2008)/Issue 7 | Shell and Utilities | public | 2011-02-28 00:38 | 2011-03-03 17:04 |
| Reporter | dwheeler | Assigned To | ajosey | ||
| Priority | normal | Severity | Objection | Type | Enhancement Request |
| Status | Closed | Resolution | Rejected | ||
| Name | David A. Wheeler | ||||
| Organization | |||||
| User Reference | |||||
| Section | admin, delta, get, prs, rmdel, sact, sccs, unget, val, uucp, uustat, uux, asa | ||||
| Page Number | 2402-3308 | ||||
| Line Number | 75994-110441 | ||||
| Interp Status | --- | ||||
| Final Accepted Text | |||||
| Summary | 0000387: Remove obsolete commands from POSIX standard: admin, delta, get, prs, rmdel, sact, sccs, unget, val, uucp, uustat, uux, asa. | ||||
| Description | Some 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 Action | Remove these obsolete commands from the next release of the specification: admin, delta, get, prs, rmdel, sact, sccs, unget, val, uucp, uustat, uux, asa. | ||||
| Tags | No tags attached. | ||||
|
|
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. |
|
|
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. |
|
|
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. |
|
|
Is there some reason the list of SCCS commands is missing the what command ? |
|
|
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. |
|
|
As a use case we also use SCCS as part of the document build environment for this standard :-) |
| 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 |
|
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 |