[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Standardize roff (was: *roff `\~` support)
From: |
Ingo Schwarze |
Subject: |
Standardize roff (was: *roff `\~` support) |
Date: |
Sun, 14 Aug 2022 15:56:24 +0200 |
Hi,
DJ Chase wrote on Sat, Aug 13, 2022 at 05:27:34PM +0000:
> Have we ever considered a de jure *roff standard?
No, i think that would be pure madness given the amount of working
time available in any of the roff projects.
I expect the amount of effort required to be significantly larger
than the amount of effort that would be required for rewriting
the entire groff documentation from scratch because:
1. You would have to study all features of all the major roff
implementations (groff, Heirloom, neatroff, Plan 9, and possibly
some others, maybe even historical ones) and compare the features.
For every difference (i.e. typically multiple times for almost every
feature), you would have to descide which behaviour to standardize
and what to leave unspecified.
2. Discussions of the kind mentioned in item 1 are typically
lengthy and often heated. If you don't believe me, just buy
several pounds of popcorn and watch the Austin list, where
maintenance of the POSIX standard is being discussed.
Even discussions of the most minute details tend to be
complicated and extended.
3. Even after deciding what you want to specify, looking at the
manuals typically provides very little help because a
standard document requires a completely different style.
User and even reference documentation is optimized for clarity,
comprehensibility, and usefulness in practice; a standard document
needs to be optimized for formal precision, whereas
comprehensibility and conciseness matters much less.
4. Even when you have the text - almost certainly after many years
of work by many people - be prepared for huge amounts of red
tape, like dealing with elected decision-making bodies of
professional associations, for example the IEEE. Be prepared
for having to know things like what technical societies,
technical councils, and technical committees are, and how to
deal with each of them. You are certainly in for a lot of
committee work, and i would count you lucky if you got away
without having to deal with lawyers, paying membership fees,
buying expensive standard documents you need for your work,
and so on and so forth. Even when you submit a technically
perfect proposal, it will typically be rejected without even
being considered until you secure the official sponsorship
of at least one of the following: the IEEE, the Open Group,
or ISO/IEC JTC 1/SC 22. Of course, your milage may vary
depending on what exactly you want to standardize and how,
but since roff(1) is arguably the most famous UNIX program,
i wouldn't be surprised if you were if for an uanbridged
POSIX-style Odyssey.
5. The above is not helped by standards committee work being
typically conducted in ways that are technically ridiculously
outdated, and i'm saying that as an avid user of cvs(1) who
somewhat dislikes git(1) as overengineered and very strongly
detests GitHub. Take the Austin groups as an example. Most of
its work is changing the content of technical documents,
but the group *never* uses diff(1), never uses patch(1), and
never makes diffs available even after they have been approved.
They are very firmly stuck in the 1980ies regarding the technolgies
they are using and missed even most of the 1990ies innovations.
They do have some kind of version control system internally, but
no web interface of such version control ins publicly available,
nor any other public read-only access to that version control.
Even the source code of the finished version of the standard
is typically not made available to the public (at least not
without forcing people to jump through hoops).
> A standard could lead to more implementations because
> developers would not have to be intimately familiar with the
> {groff,heirloom,neatroff} toolchain before implementing a
> *roff toolchain themselves.
That's not even wishful thinking. Better maintenance of the
existing implementations would be so much more useful than yet
another implementation.
> It could also lead to more users & use cases because existing
> users could count on systems supporting certain features, so
> they could use *roff in more situations, which would lead to
> more exposure.
You appear to massively overrate the importance end-users
typically attribute to standardization. Even people *implementing*
a system rarely put such an emphasis on standardization.
> It’s ridiculous that *roff isn’t part of POSIX when it was Unix’s
> killer feature.
You are welcome to spend the many years required to change that.
But be aware that some standardization efforts that are part of
POSIX resulted in parts of the standard that are barely useable
for practical work. One famous example is make(1).
Don't get me wrong: i think standardization is very nice to have,
should be taken very seriously when available, and provides some
value even when the standardization effort mostly failed, like in
the case of make(1). But standardization is absolutely not cheap.
To the contrary, it is usually significantly more expensive than
implementation and documentation.
Yours,
Ingo
- Re: [PATCH 4/6] xattr.7: wfix, Alejandro Colomar, 2022/08/01
- Re: [PATCH 4/6] xattr.7: wfix, Ingo Schwarze, 2022/08/11
- Re: [PATCH 4/6] xattr.7: wfix, G. Branden Robinson, 2022/08/11
- Re: [PATCH 4/6] xattr.7: wfix, Ingo Schwarze, 2022/08/12
- *roff `\~` support (was: [PATCH 4/6] xattr.7: wfix), G. Branden Robinson, 2022/08/12
- Re: *roff `\~` support (was: [PATCH 4/6] xattr.7: wfix), G. Branden Robinson, 2022/08/13
- Re: *roff `\~` support (was: [PATCH 4/6] xattr.7: wfix), Ingo Schwarze, 2022/08/14
- Re: *roff `\~` support (was: [PATCH 4/6] xattr.7: wfix), G. Branden Robinson, 2022/08/14
- Re: *roff `\~` support (was: [PATCH 4/6] xattr.7: wfix), DJ Chase, 2022/08/13
- Standardize roff (was: *roff `\~` support),
Ingo Schwarze <=
- Re: Standardize roff (was: *roff `\~` support), DJ Chase, 2022/08/14
- Re: Standardize roff (was: *roff `\~` support), Alejandro Colomar, 2022/08/14
- Re: Standardize roff (was: *roff `\~` support), DJ Chase, 2022/08/14
- Re: Standardize roff (was: *roff `\~` support), Alejandro Colomar, 2022/08/15
- Re: Standardize roff (was: *roff `\~` support), Ingo Schwarze, 2022/08/16
- Re: Standardize roff (was: *roff `\~` support), G. Branden Robinson, 2022/08/14
- Re: Standardize roff (was: *roff `\~` support), DJ Chase, 2022/08/14
- Re: Standardize roff (was: *roff `\~` support), Sam Varshavchik, 2022/08/14
- Re: Standardize roff, Ingo Schwarze, 2022/08/16
- Re: Standardize roff, Sam Varshavchik, 2022/08/16