[Toybox] is orthodoxy a strong value of toybox?

Marc Chantreux mc at unistra.fr
Wed Sep 7 15:51:28 PDT 2022


Rob,

reading from you is delightful a you're a living encylopedia. again:
thank you so much for such a detailed reply.

> Linux has nothing to do with the Gnu project. Never did.

I didn't say so. What I heard (from Linus himself in an interview?) is
that Linus was only interested by the kernel developpement so he picked
the GNU project tools just because it was a free and userland available
back then. So as you said:

> The Linux kernel was literally developed to run Bash. The test load its initial
> system calls were implemented against was an a.out bash binary.

then distribution people made it the default shell, gcc the default
compiler and so on ...  so but lot of us used GNU tools just because
there were the default ones. I even initiated the ABS (advanced bash
programming) french translation project back in the early 2000s. Then
bash 3 (2004) came out and I read a post from someone who gave a look at
the new features. His conclusions was something like: it's an obvious
progress but yet, they are not even close to zsh. So I tested zsh just
to compare and never came back again.

> Bash was central to that narrative.

All this story was very interesting and made me up to purchase a copy of "Just
for fun" but yet, I don't think bash should be the reference just
because it took an important place in a quarter century old narrative.

> > * zsh when the main goal is to provide a confortable shell with a lot of features
> >   (and really: bash can't compete with zsh on it)
> That's the decision Apple made when they rejected GPLv3 and stayed on the last
> GPLv2 release of every package.

This is interesting to see that GPLv3 had this side effect to move the
lines.

> Don't attribute a general move away from GPLv3 to a desire to move away from
> bash specifically.

not the desire to move away fom bash specifically but to have a better
login shell. GPLv3 may have changed the mind of vendors but users just
pick zsh because it's more convenient to use. I have plenty examples
where zsh shines (like array expansions, extended globs, control flow
syntax, rcquotes, ...)

> > so
> >   dash is just enough." (https://wiki.ubuntu.com/DashAsBinSh)
> 
> I linked to that article on Ubuntu's switch to the Defective Annoying SHell
>
So you think moving to a shell that is 10 times thiner has no value
because it was buggy and didn't fit all the expectations?

> > I put yash because I see a recent buzz about it. I don't know it that
> > much but noticed it is half the size of zsh but yet provide process
> > expansions so once again another compromise.
> 
> *shrug* People wave a new shell at me every year or so. (Is "fish" still around?
> How about oil shell?)

I don't have numbers to provide here but I think fish found a userbase
large enough so I regulary read/hear about this (even if I don't
understand why).

I don't know about oil but I guess it wasn't interesting enough to move
from a shell we already know the way zsh is.

> > why should I bet on a 10 times bigger, considered slow shell to do less
> > than what I want to write?
> 
> *shrug* You came to me. I'm implementing a bash clone. Always was. The first
> version of www/roadmap.html checked in back in 2012 (commit 8f90d3aa019f)
> included the text:
> 
>   This means that toysh needs to supply several bash extensions _and_ work
>   when called under the name "bash".

fair enough :)

> > to me those kind of flaws are not important
> A) Is it a flaw? It's a design choice. I don't know WHY. Sometimes there's a
> subtle reason or weird history I'm unaware of.
> B) I'm writing a shell. I have to care.

it makes sense.

> I am _writing_ a shell. From scratch. Have been for a while now. And I blog
> about this stuff when not posting about it here:
> 
>   https://landley.net/notes-2022.html#22-06-2022

thanks for all the fish and widsom shared.

regards


-- 
Marc Chantreux
Pôle de Calcul et Services Avancés à la Recherche (CESAR)
http://annuaire.unistra.fr/p/20200


More information about the Toybox mailing list