Pseudoterminal terminology in POSIX

Michael Kerrisk mtk.manpages@gmail.com
Wed Aug 5 11:21:01 GMT 2020


Elliot Hughes and I both noticed a point from "Minutes of the 3rd August 2020
Teleconference":

[[
On Tue, Aug 4, 2020 at 5:52 PM Andrew Josey <ajosey@opengroup.org> wrote:
>
> All
> Enclosed are the minutes of yesterdays teleconference
> regards
> Andrew

[...]

> * General news
>
> We discussed terminology usage, in particuler terms such as
> master/slave, blacklist/whitelist.  It was agreed some terminology
> for pseudo-terminals could be better described using more functionally
> descriptive terms, but the details of this are left to a future bug
> report.  Andrew and Geoff took an action to investigate further
> and come back with an analysis.
]]

I see that Elliot already replied to the Minutes with some thoughts
about this. I had already been working on thismail on the topic, which
reiterates some details that Elliot gave, but also adds some
information, and brings a lot of relevant people into CC. (I've
already notified those people that only subscribers can post to the
Austin list, and presumably those not already subscribed will
subscribe if they want to add to the discussion.)

The master-slave terminology with respect to pseudoterminals has
recently been under active discussion in the GNU C library and Linux
man-pages mailing lists (see [1]). Currently, we are considering at
least one possible proposal for a language change, but there may yet
be others. In any case, I and others thought it would be a wise idea
to involve TOG in this discussion, so that, ideally, we could come up
with a shared standard for replacement terminology.

The proposal that has seen some discussion, and met with some positive
feedback, is [2]. The concept was proposed by Elliot, inspired by a
similar change that was made in relevant golang libraries; I've
written an implementation of the idea (i.e., a proposed patch) for the
Linux manual pages (again, see [2]).

The essence of the idea is simple. Let's not invent completely new
terms, but rather rework existing (familiar) terminology a little, as
follows:

    pseudoterminal (device) ==> "pseudoterminal device pair"

   slave ==> "terminal device"
           (or "terminal end of the pseudoterminal device pair")

    master ==> "pseudoterminal device"
           (or "pseudoterminal end of the pseudoterminal device pair")

The resulting language (as it appears in the proposed changes for the
Linux manual pages) is reasonably clear, albeit a little clunky in
places (wordings like "the (pseudo)terminal end of the pseudoterminal
device pair" are clear, but a little verbose).

Aside from the obvious points (raising a bug on the Austin bug
tracker, and proposing line edits to the standard), is there anything
else that we can do to help along the process of changing the
terminology in POSIX? Also, any feedback on the proposal in [2] would be
welcome.

With best regards,

Michael Kerrisk

[1] https://sourceware.org/pipermail/libc-alpha/2020-July/115792.html

[2] https://lore.kernel.org/linux-man/b3b4cf95-5eaa-0b4e-34cc-1a855e7148b6@gmail.com/


More information about the Libc-alpha mailing list