From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 12948 invoked from network); 31 Dec 2021 15:54:10 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 31 Dec 2021 15:54:10 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id 4B9F29CFA8; Sat, 1 Jan 2022 01:54:09 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 40A959D002; Sat, 1 Jan 2022 01:53:52 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="gPCHh45M"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 383769D002; Sat, 1 Jan 2022 01:53:51 +1000 (AEST) Received: from mail-pg1-f181.google.com (mail-pg1-f181.google.com [209.85.215.181]) by minnie.tuhs.org (Postfix) with ESMTPS id AABBB9CF06 for ; Sat, 1 Jan 2022 01:53:50 +1000 (AEST) Received: by mail-pg1-f181.google.com with SMTP id i8so15531904pgt.13 for ; Fri, 31 Dec 2021 07:53:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=WnCYqt2jo3CP/v3K2nV1rqTyUhlqL97i7hoGNxVh5U0=; b=gPCHh45M3/fzZmaUccHVhhxItcnVcWa8bkZxJkG+0x/bQ2MGdnL//bI72tjFY7UXp3 ZGKgIwMP5tJkxqpEJ+pL13r5EVZd6BzrP1W+nTUknTVcm7Gf7LwvF/SDsVsrXBfR63JL CsZ6q7jp9zIBBFp/CzNMmpCnj8QZBdEjRrSf2nfeMgx4AlsOQe7yuvv08rIgCMx0miOk UG10TWUcgCWC6MqIa3Pb/A/CGmTHQ4n9hu1Sk6RET4th/EBBPHsFoMubg+0sUqzLgckE OqqWDu6heqznr4MZXGK43DHV8zVP5ZzUAW6xXdZnz0SR8slAuONxjNcfKTc4w0EWpdty /NNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=WnCYqt2jo3CP/v3K2nV1rqTyUhlqL97i7hoGNxVh5U0=; b=Ed37w0RBl5wAJZWUDrSmYK1iZyq62jdRxxVYt4CRyV0dirNQglJdaqC/0qef5PMq5u ow0dPLnFhcQQENPSyoEbjaw9ks7wjkLpEI+tu1hbcGzRwDVpelIIusufDM79R1dfE3C1 3TZyhZbczSkFXqaj+7SZ7PZj09lWFK7eXwtAWBpKlcGmzsuJjaI05D5WzJ6ff4R/y5Dw 0/x4jB2R8znv2vH0OIGVClcFCl3QR9KoBgisB05TQgv0ZWdlK9eVPAaICyhdYs0tp66Y hDRdfamCnka+lkdsRzQm3JwOSkDOB5xjtySboEWMau7U+kOrMwVvFbrpi7LYKEBGHIY4 h7vw== X-Gm-Message-State: AOAM5305jJJWhC44/i+EPK2MoXn0bKR6m/rGCy8moAlvaWin8EPsi9dm BZft3gcEuMot/1TFWCqPyhr7mNqYEH14AK1qPjFcdryrBZw= X-Google-Smtp-Source: ABdhPJyefNx5XAgneoid61fRmjyiyVmKqaZWbiTu1u7v0IEqXKQ73I3Re0s1LdyJFFcFndmiXaSsCuGmFCDtqmqgRgM= X-Received: by 2002:a63:7b54:: with SMTP id k20mr1448201pgn.445.1640966029986; Fri, 31 Dec 2021 07:53:49 -0800 (PST) MIME-Version: 1.0 References: <20211230034512.B9B3718C08E@mercury.lcs.mit.edu> <97f563fa-5a17-424b-acc6-07cf127f496d@localhost> In-Reply-To: <97f563fa-5a17-424b-acc6-07cf127f496d@localhost> From: Adam Thornton Date: Fri, 31 Dec 2021 08:53:38 -0700 Message-ID: To: =?UTF-8?Q?Michael_Kj=C3=B6rling?= , The Eunuchs Hysterical Society Content-Type: multipart/alternative; boundary="0000000000004e4ee805d4732d42" Subject: Re: [TUHS] moving directories in svr2 X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" --0000000000004e4ee805d4732d42 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Slightly older, but also slightly more fundamental to the system, you need look no farther than Solaris's `/bin/sh` for an illustrated example of the pros and cons of maintaining backwards compatibility. It was a pain by, say, 2007, to have to check if you were running on SunOS and use `/usr/xpg4/bin/sh` (IIRC) if you wanted a POSIX shell--by that point the other major vendors (and Linux) had something POSIX as the default shell. But Sun had an installed user base with a bunch of shell scripts that depended on pre-POSIX semantics. Of course, people don't do a particularly good job of writing POSIX shell either. Just this past week one of our refactoring projects at the Rubin Observatory had some difficulty because Debian uses dash as its non-interactive POSIX shell. Some bit of some conda package that we need claimed to work with dash (and POSIX generally) but in reality didn't. But it always worked fine on bash and zsh, so no one had gotten bitten until we did. Adam On Fri, Dec 31, 2021 at 6:40 AM Michael Kj=C3=B6rling wrote: > On 31 Dec 2021 16:55 +1100, from robpike@gmail.com (Rob Pike): > > And of course you're right, but we've known how to roll out breaking > > changes in software for a very long time now. And we do so often. Few > Unix > > programs from the past would compile and run today without being update= d > to > > "modern" interfaces and compilers. > > > > I believe it could be done, and I believe it should be done. Rolled out > > carefully and explained well it would please far more than it offends, > and > > is arguably far closer to correct than the current situation. > > Seems to me that we have a decent, relatively current case study of > this with Python 2 vs Python 3. > > Which is probably a good bit easier actually, because maintaining the > ability to run Python 2 applications while introducing the ability to > run Python 3 applications is likely easier than introducing changes to > how something as relatively fundamental as how ".." behaves in paths > while at the same time maintaining backwards compatibility with the > old behavior, where different users and different applications on the > same system might very well expect different behavior... > > -- > Michael Kj=C3=B6rling =E2=80=A2 https://michael.kjorling.se =E2=80=A2 mic= hael@kjorling.se > =E2=80=9CRemember when, on the Internet, nobody cared that you were a do= g?=E2=80=9D > > --0000000000004e4ee805d4732d42 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Slightly older, but also slightly more fundamental to= the system, you need look no farther than Solaris's `/bin/sh` for an i= llustrated example of the pros and cons of maintaining backwards compatibil= ity.=C2=A0 It was a pain by, say, 2007, to have to check if you were runnin= g on SunOS and use `/usr/xpg4/bin/sh` (IIRC) if you wanted a POSIX shell--b= y that point the other major vendors (and Linux) had something POSIX as the= default shell.=C2=A0 But Sun had an installed user base with a bunch of sh= ell scripts that depended on pre-POSIX semantics.

= Of course, people don't do a particularly good job of writing POSIX she= ll either.=C2=A0 Just this past week one of our refactoring projects at the= Rubin Observatory had some difficulty because Debian uses dash as its non-= interactive POSIX shell.=C2=A0 Some bit of some conda package that we need = claimed to work with dash (and POSIX generally) but in reality didn't.= =C2=A0 But it always worked fine on bash and zsh, so no one had gotten bitt= en until we did.

Adam

On Fri, Dec 31, 202= 1 at 6:40 AM Michael Kj=C3=B6rling <michael@kjorling.se> wrote:
On 31 Dec 2021 16:55 +1100, from robpike@gmail.com (Rob Pike):
> And of course you're right, but we've known how to roll out br= eaking
> changes in software for a very long time now. And we do so often. Few = Unix
> programs from the past would compile and run today without being updat= ed to
> "modern" interfaces and compilers.
>
> I believe it could be done, and I believe it should be done. Rolled ou= t
> carefully and explained well it would please far more than it offends,= and
> is arguably far closer to correct than the current situation.

Seems to me that we have a decent, relatively current case study of
this with Python 2 vs Python 3.

Which is probably a good bit easier actually, because maintaining the
ability to run Python 2 applications while introducing the ability to
run Python 3 applications is likely easier than introducing changes to
how something as relatively fundamental as how ".." behaves in pa= ths
while at the same time maintaining backwards compatibility with the
old behavior, where different users and different applications on the
same system might very well expect different behavior...

--
Michael Kj=C3=B6rling =E2=80=A2 https://michael.kjorling.se =E2=80=A2= michael@kjorling.= se
=C2=A0=E2=80=9CRemember when, on the Internet, nobody cared that you were a= dog?=E2=80=9D

--0000000000004e4ee805d4732d42--