public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: enh <enh@google.com>
To: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
Cc: Zack Weinberg <zackw@panix.com>,
	"Carlos O'Donell" <carlos@redhat.com>,
	 libc-alpha <libc-alpha@sourceware.org>,
	"Joseph S. Myers" <joseph@codesourcery.com>,
	 Florian Weimer <fweimer@redhat.com>,
	Paul Eggert <eggert@cs.ucla.edu>
Subject: Re: Pseudoterminal terminology (was Re: Rename "master" branch to "main"?)
Date: Mon, 27 Jul 2020 13:55:47 -0700	[thread overview]
Message-ID: <CAJgzZoqpVpxVPNvvF2Abk3_2J5nbWZ45nJ4i6seLtKe+OhYXvQ@mail.gmail.com> (raw)
In-Reply-To: <CAJgzZopwRvOdmjWJO3=9aJVzS1w7JWxXU86rpYKAbu_bhptAQw@mail.gmail.com>

On Mon, Jul 27, 2020 at 1:52 PM enh <enh@google.com> wrote:

>
>
> On Mon, Jul 27, 2020 at 1:32 PM Michael Kerrisk (man-pages) <
> mtk.manpages@gmail.com> wrote:
>
>> [I'm just threading Elliot into this discussion, because he works on
>> Android
>> and has an interest in finding also better terminology here. <EOM>]
>>
>> On 7/6/20 11:13 AM, Michael Kerrisk (man-pages) wrote:
>> > Hello Zack.
>> >
>> > On 7/4/20 6:52 PM, Zack Weinberg wrote:
>> >> On Thu, Jul 2, 2020 at 4:58 PM Michael Kerrisk <mtk.manpages@gmail.com>
>> wrote:
>> >>>
>> >>>> That said I think this is not as important as other, similar, changes
>> >>>> we could make. For instance, the term "master" is used _along with_
>> >>>> "slave" in manual/terminal.texi, and I fully intend to rewrite that
>> >>>> chapter to eliminate that terminology as soon as I find the time.
>> >>>> Anyone want to beat me to it?
>> >>>
>> >>> No, but please include me in the discussions. It would be good if libc
>> >>> and man-pages could find common terminology.
>> >>>
>> >>> But I agree also with Joseph that the scope is wider and we should
>> >>> think about what terminology POSIX might (be convinced to) switch to.
>> >>>
>> >>> Unlike Florian, I'm not excessively attached to the need to settle on
>> >>> a name that starts with 's'. I think it might be too easy to get into
>> >>> knots trying to find names that match 'm' and 's', and one should at
>> >>> least allow for the possibility of good names that don't fit with
>> >>> those letters; what would be best, IMO, is names that "feel right".
>> >>
>> >> I agree.  In particular I think there is no reason to struggle with
>> >> coming up with terms that fit "ptmx" and "pts" because BSD ptys use
>> >> totally different device node names anyway (tty[pqrs...]NN and
>> >> pty[pqrs...]NN) and there's no hope of finding something that works
>> >> with both.
>> >
>> > (Good point.)
>> >
>> >> I don't want to commit to terminology until I've had a go at rewriting
>> >> the manual, because I think doing the rewrite will be the easiest way
>> >> to figure out whether the new terms are good,
>> >
>> > I think that's a good text engineering approach. I think it's fine
>> > to cycle through a number of ideas, rejecting them until something feels
>> > "right".
>> >
>> >> but what I'm currently
>> >> thinking is:
>> >>
>> >>     "pty master device" -> "pty line-side device" or "outside device"
>> >>     "pty slave device"  -> "pty host-side device" or "inside device"
>> >>     /dev/ptmx stands for "pseudoterminal multiplexer"
>> >>     /dev/pts  stand for "pseudoterminals (directory of)"
>>
>
> fwiw, until the topic came up recently, i'd believed since the 1990s that
> that's /dev/ptmx and /dev/pts stood for anyway: multiplexer and a plural.
>
>
>> >> Currently I like "line-side" and "host-side" because it seems like a
>> >> natural generalization from true terminal device nodes (which are
>> >> always host-side) to pseudoterminals (additionally have a line-side
>> >> device node).  And it can generalize to the relationship between
>> >> Linux's /dev/ttyNN and /dev/vcs(a)NN as well.
>> >
>> > So far, "line-side" and "host-side" don't do it for me. But maybe
>> > I just need time to sit with those terms to get used to them.
>
>
> yeah, i'm can't say i'm particularly excited about those terms ... but
> "master" and "slave" weren't super obvious either.
>
> tbh, i don't think any of the choices in this thread are actually _worse_
> in terms of clarity (though existing practice was at least consistent so
> you could rtfm).
>
> i found the python reference i failed to find for michael earlier... it
> looks like i couldn't find it because it's the one master/slave change to
> python that they didn't actually submit. in
> https://github.com/python/cpython/pull/9100 they were going to go with
> parent and child but gvanrossum said they shouldn't change unless Unix
> changes.
>
> at least parent/child are names that most folks (including non-native
> speakers) will have had to learn already.
>
> golang went with pty/tty (
> https://github.com/creack/pty/commit/7dc38fb350b1d71383eed149e73acb7bae231ddb)
> which is interestingly simple.
>
>
>>
>>
> > As we consider names, I think it's good to keep in mind the rather
>> > diverse set of applications where pseudoterminals are used, including
>> >
>> > ssh etc.
>>
>
> there was some trolling about the commit on the openbsd mailing list which
> is why i've seen it, but afaict they've only renamed blacklist/whitelist so
> far.
>

actually, being a little less lazy and actually looking at the source, i
see openssh was already using pty and tty, which is what golang has
switched to.

if it wasn't for my desire to match the man page, i'd be sold on pty/tty at
this point --- direct, inoffensive, and no new words for non-native
speakers to learn :-)


> > xterm etc.
>> > expect
>> > tmux
>> > script
>> > unbuffer
>> >
>> > I just throw out some ideas (in the order master, slave):
>> >
>> > "driver" device plus "terminal" device
>> > "driver" device plus "client" device
>> > "proxy" device plus "terminal" device
>> > "proxy" device plus "client" device
>> >
>> > I'm not arguing that these are better than your terms. (At least,
>> > not yet ;-).) But I think it's useful to throw a lot of ideas into
>> > the mix, in the hope of sparking further ideas from others.
>> >
>> > Cheers,
>> >
>> > Michael
>> >
>>
>>
>> --
>> Michael Kerrisk
>> Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
>> Linux/UNIX System Programming Training: http://man7.org/training/
>>
>

  reply	other threads:[~2020-07-27 20:56 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-30 18:10 Rename "master" branch to "main"? Carlos O'Donell
2020-06-30 18:35 ` Paul Eggert
2020-06-30 20:16   ` Carlos O'Donell
2020-06-30 21:08     ` Paul Eggert
2020-06-30 18:59 ` Florian Weimer
2020-06-30 20:14   ` Carlos O'Donell
2020-07-01  9:38     ` Florian Weimer
2020-07-03 15:26   ` Richard Earnshaw
2020-07-03 15:33     ` Carlos O'Donell
2020-06-30 21:24 ` Joseph Myers
2020-06-30 21:44   ` Carlos O'Donell
2020-06-30 22:56     ` Joseph Myers
2020-06-30 22:59 ` DJ Delorie
2020-07-01  7:17   ` Andreas Schwab
2020-07-01 15:42     ` Carlos O'Donell
2020-07-01 12:29   ` Adhemerval Zanella
2020-07-01 12:49     ` Carlos O'Donell
2020-07-01 13:41       ` Adhemerval Zanella
2020-07-01 16:15   ` Carlos O'Donell
2020-07-01 17:45     ` DJ Delorie
2020-07-01 18:29       ` Paul Eggert
2020-07-01 18:43         ` DJ Delorie
2020-07-02 15:40 ` Zack Weinberg
2020-07-02 16:00   ` Florian Weimer
2020-07-02 16:36   ` Joseph Myers
2020-07-02 20:46     ` Paul Eggert
2020-07-04 16:43     ` Zack Weinberg
2020-07-02 20:58   ` Michael Kerrisk
2020-07-03 15:20     ` Carlos O'Donell
2020-07-04 16:52     ` Pseudoterminal terminology (was Re: Rename "master" branch to "main"?) Zack Weinberg
2020-07-05 14:54       ` J William Piggott
2020-07-06  9:18         ` Michael Kerrisk (man-pages)
2020-07-06  9:13       ` Michael Kerrisk (man-pages)
2020-07-27 20:32         ` Michael Kerrisk (man-pages)
2020-07-27 20:52           ` enh
2020-07-27 20:55             ` enh [this message]
2020-07-27 20:59               ` Florian Weimer
2020-07-27 22:48                 ` enh
2020-07-28 15:26             ` Michael Kerrisk (man-pages)
2020-07-28 15:32               ` Florian Weimer
2020-07-28 15:44                 ` enh
2020-07-28 19:16                 ` Michael Kerrisk (man-pages)
2020-07-28 19:18                   ` enh
2020-07-28 18:47               ` enh
2020-07-28 19:27                 ` Michael Kerrisk (man-pages)
2020-07-28 19:33                   ` enh
2020-07-03 15:22 ` Rename "master" branch to "main"? Richard Earnshaw
2020-07-03 15:37   ` Carlos O'Donell
2020-07-13 15:14 ` Carlos O'Donell
2021-01-14  9:21 ` Mike Frysinger
2021-01-14 11:17   ` Siddhesh Poyarekar
2021-01-14 17:54   ` Joseph Myers
2021-01-14 20:56     ` Carlos O'Donell
2021-01-14 21:42       ` Mike Frysinger
2021-01-20 13:49         ` Carlos O'Donell
2021-01-21  0:23           ` Mike Frysinger
2021-01-21 13:30             ` Carlos O'Donell
2021-01-21 13:57               ` Andreas Schwab
2021-01-21 17:06               ` Mike Frysinger
2021-01-21 19:37                 ` Carlos O'Donell
2021-01-21 20:19                   ` Andreas Schwab
2021-01-22  2:32                   ` Mike Frysinger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAJgzZoqpVpxVPNvvF2Abk3_2J5nbWZ45nJ4i6seLtKe+OhYXvQ@mail.gmail.com \
    --to=enh@google.com \
    --cc=carlos@redhat.com \
    --cc=eggert@cs.ucla.edu \
    --cc=fweimer@redhat.com \
    --cc=joseph@codesourcery.com \
    --cc=libc-alpha@sourceware.org \
    --cc=mtk.manpages@gmail.com \
    --cc=zackw@panix.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).