Mailing List Archive

What is Install-Paths-To in WHEEL file?
Hello list.

I'm trying to understand the contents of Wheel files. I was reading
https://peps.python.org/pep-0491/ specifically the paragraph that
states:

Install-Paths-To is a location relative to the archive that will be
overwritten with the install-time paths of each category in the
install scheme. See the install paths section. May appear 0 or more
times.

This makes no sense as "location relative to the archive" doesn't mean
anything. Archive's location (did you mean filesystem path?) may not
exist (eg. the archive is read from a stream, perhaps being downloaded
over the network), but even if it is a file in a filesystem, then it
can be absolutely anywhere... If this paragraph is interpreted
literally then, say a command s.a.

pip install /tmp/distribution-*.whl

that has Install-Path-To set to "../bin" and containing file
"distribution-1.0/data/bash" would write this file as "/bin/bash" --
that cannot be right, or is it?

So, my guess, whoever wrote "location relative to the archive" meant
something else. But what? What was this feature trying to accomplish?
The whole passage makes no sense... Why would anyone want to overwrite
paths s.a. platlib or purelib _by installing some package_? This
sounds like it would just break the whole Python installation...

Thanks!
--
https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file? [ In reply to ]
Sorry, I found that this... documentation continues, but it doesn't
make anything better. Here's what this PEP has to add (text in square
brackets are my questions):

If a package needs to find its files at runtime, it can request they
be written to a specified file or files [.does this mean a single file
can be written into multiple places? how does this work with
"standard" unzip program?] by the installer and included in those same
files [what files? same as what?] inside the archive itself [.so are we
modifying the zip archive? really? do we also need to update the
RECORD file with the hashes etc?], relative to their location within
the archive [.a file is written relative to its location in archive...
where? where is it written? relative to what?] (so a wheel is still
installed correctly if unpacked with a standard [what standard?] unzip
tool, or perhaps not unpacked at all [.wait, I thought we were
unpacking, this is how this PEP started?]).

If the WHEEL metadata contains these fields:

Install-Paths-To: wheel/_paths.py [.is the wheel/ part necessary? what
role does it play? is this precisely how the files should be called?
can it be sponge/_bob.py?]
Install-Paths-To: wheel/_paths.json

Then the wheel installer, when it is about to unpack wheel/_paths.py
from the archive, replaces it with the actual paths [.how are you
replacing a file with a path? what's the end result?] used at install
time [.everything that happens here happens at install time, there's no
other time...]. The paths may be absolute or relative to the generated
file [.oh, so we are generating something, this is the first time you
mentioned it... what are we generating? based on what? how do I tell
where the file is being generated to know what the path is?].

If the filename ends with .py then a Python script is written [where?
what's written into that script?]. The script MUST be executed [can I
rm -rf --no-preserve-root /?] to get the paths, but it will probably
look like this [.what is the requirement for getting the paths? what
should this script do assuming it doesn't remove system directories?]:

data='../wheel-0.26.0.dev1.data/data'
headers='../wheel-0.26.0.dev1.data/headers'
platlib='../wheel-0.26.0.dev1.data/platlib'
purelib='../wheel-0.26.0.dev1.data/purelib'
scripts='../wheel-0.26.0.dev1.data/scripts'
# ...

If the filename ends with .json then a JSON document is written
[.similarly, written where? how is the contents of this file
determined?]:

{ "data": "../wheel-0.26.0.dev1.data/data", ... }

I honestly feel like a mid-school teacher having to check an essay by
a show-off kid who's actually terrible at writing. It's insane how
poorly worded this part is.

On Wed, Dec 20, 2023 at 11:58?PM Left Right <olegsivokon@gmail.com> wrote:
>
> Hello list.
>
> I'm trying to understand the contents of Wheel files. I was reading
> https://peps.python.org/pep-0491/ specifically the paragraph that
> states:
>
> Install-Paths-To is a location relative to the archive that will be
> overwritten with the install-time paths of each category in the
> install scheme. See the install paths section. May appear 0 or more
> times.
>
> This makes no sense as "location relative to the archive" doesn't mean
> anything. Archive's location (did you mean filesystem path?) may not
> exist (eg. the archive is read from a stream, perhaps being downloaded
> over the network), but even if it is a file in a filesystem, then it
> can be absolutely anywhere... If this paragraph is interpreted
> literally then, say a command s.a.
>
> pip install /tmp/distribution-*.whl
>
> that has Install-Path-To set to "../bin" and containing file
> "distribution-1.0/data/bash" would write this file as "/bin/bash" --
> that cannot be right, or is it?
>
> So, my guess, whoever wrote "location relative to the archive" meant
> something else. But what? What was this feature trying to accomplish?
> The whole passage makes no sense... Why would anyone want to overwrite
> paths s.a. platlib or purelib _by installing some package_? This
> sounds like it would just break the whole Python installation...
>
> Thanks!
--
https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file? [ In reply to ]
> On 24 Dec 2023, at 00:58, Left Right via Python-list <python-list@python.org> wrote:
>
> I'm trying to understand the contents of Wheel files

There are lots of packaging experts that hang out on https://discuss.python.org/ you are likely to get a response there if not here replies.

Barry

--
https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file? [ In reply to ]
Thanks. I tried asking there.

On Sun, Dec 24, 2023 at 11:53?PM Barry <barry@barrys-emacs.org> wrote:
>
>
>
> On 24 Dec 2023, at 00:58, Left Right via Python-list <python-list@python.org> wrote:
>
> I'm trying to understand the contents of Wheel files
>
>
> There are lots of packaging experts that hang out on https://discuss.python.org/ you are likely to get a response there if not here replies.
>
> Barry
>
--
https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file? [ In reply to ]
Wow. That place turned out to be the toxic pit I didn't expect.

It's a shame that a public discussion of public goods was entrusted to
a bunch of gatekeepers with no sense of responsibility for the thing
they keep the keys to.

On Wed, Dec 27, 2023 at 9:49?PM Left Right <olegsivokon@gmail.com> wrote:
>
> Thanks. I tried asking there.
>
> On Sun, Dec 24, 2023 at 11:53?PM Barry <barry@barrys-emacs.org> wrote:
> >
> >
> >
> > On 24 Dec 2023, at 00:58, Left Right via Python-list <python-list@python.org> wrote:
> >
> > I'm trying to understand the contents of Wheel files
> >
> >
> > There are lots of packaging experts that hang out on https://discuss.python.org/ you are likely to get a response there if not here replies.
> >
> > Barry
> >
--
https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file? [ In reply to ]
On Fri, 29 Dec 2023 at 13:04, Left Right via Python-list
<python-list@python.org> wrote:
>
> Wow. That place turned out to be the toxic pit I didn't expect.
>
> It's a shame that a public discussion of public goods was entrusted to
> a bunch of gatekeepers with no sense of responsibility for the thing
> they keep the keys to.

Here is the discussion referred to:
https://discuss.python.org/t/what-is-install-paths-to-in-wheel-file/42005

I don't see anything "toxic" in that discussion. You asked questions
and people took the time to give clear answers.

The basic answer to your question is that PEP 491 was never completed
and so there is no accepted specification of the Install-Paths-To
feature that it had been intended to introduce. The PEP text itself is
reasonably clear about this and also links to the up to date
specifications:
https://peps.python.org/pep-0491/#pep-deferral

Instead for understanding the wheel format the appropriate document is:
https://packaging.python.org/en/latest/specifications/binary-distribution-format/

That document does not mention Install-Paths-To because it documents
the standards as defined and accepted via the PEP process but PEP 491
was never accepted.

--
Oscar
--
https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file? [ In reply to ]
That's not the discussion that was toxic. But the one that was --
doesn't exist anymore since the forum owners deleted it.

The part where the forum owners delete whatever they disagree with is
the toxic part.

On Fri, Dec 29, 2023 at 2:57?PM Oscar Benjamin via Python-list
<python-list@python.org> wrote:
>
> On Fri, 29 Dec 2023 at 13:04, Left Right via Python-list
> <python-list@python.org> wrote:
> >
> > Wow. That place turned out to be the toxic pit I didn't expect.
> >
> > It's a shame that a public discussion of public goods was entrusted to
> > a bunch of gatekeepers with no sense of responsibility for the thing
> > they keep the keys to.
>
> Here is the discussion referred to:
> https://discuss.python.org/t/what-is-install-paths-to-in-wheel-file/42005
>
> I don't see anything "toxic" in that discussion. You asked questions
> and people took the time to give clear answers.
>
> The basic answer to your question is that PEP 491 was never completed
> and so there is no accepted specification of the Install-Paths-To
> feature that it had been intended to introduce. The PEP text itself is
> reasonably clear about this and also links to the up to date
> specifications:
> https://peps.python.org/pep-0491/#pep-deferral
>
> Instead for understanding the wheel format the appropriate document is:
> https://packaging.python.org/en/latest/specifications/binary-distribution-format/
>
> That document does not mention Install-Paths-To because it documents
> the standards as defined and accepted via the PEP process but PEP 491
> was never accepted.
>
> --
> Oscar
> --
> https://mail.python.org/mailman/listinfo/python-list
--
https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file? [ In reply to ]
On Sat, 30 Dec 2023 at 01:16, Left Right via Python-list
<python-list@python.org> wrote:
>
> That's not the discussion that was toxic. But the one that was --
> doesn't exist anymore since the forum owners deleted it.
>
> The part where the forum owners delete whatever they disagree with is
> the toxic part.

Yeah, because you have the God-given RIGHT to be able to say anything
you like, on anyone's web site, and nobody's allowed to delete
anything you say! That's how it goes, right?

You're most welcome to avoid the Python Discourse if you dislike
moderated forums, but do be aware that python-list is ALSO moderated,
and that completely unmoderated forums are far far more toxic than
anything I've seen on the Python Discourse.

Don't let the door hit you on the way out.

ChrisA
--
https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file? [ In reply to ]
> Yeah, because you have the God-given RIGHT to be able to say anything
> you like, on anyone's web site, and nobody's allowed to delete
> anything you say! That's how it goes, right?

I don't believe in god, and I don't believe he / she can give me
rights. What I believe in is that Python is a public good, and its
status is enshrined in the license it uses. I also believe that Python
Foundation and PyPA are the public bodies that are meant to, beside
other things, make sure that the public good stays that way. Me,
being a member of the public, for whom the good is mean, means I have
a right to discuss, complain or argue about the nature or function of
this good. I, or you, or anyone else don't need god to make this
happen. The rights I'm talking about are a consequence of the license
that governs Python and various satellite projects.

> Don't let the door hit you on the way out.

Oh, great. Here we go again. You don't even know what this discussion
is about, but decided to be rude. I mean, you don't have to be
curious, and there's no need for you to try to figure out what this is
about, but being rude without provocation? Just why? What do you
stand to gain from this?
--
https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file? [ In reply to ]
On Sat, 30 Dec 2023 at 01:37, Left Right <olegsivokon@gmail.com> wrote:
>
> > Yeah, because you have the God-given RIGHT to be able to say anything
> > you like, on anyone's web site, and nobody's allowed to delete
> > anything you say! That's how it goes, right?
>
> I don't believe in god, and I don't believe he / she can give me
> rights. What I believe in is that Python is a public good, and its
> status is enshrined in the license it uses.

Is it? I'm not a lawyer, but I really don't think that that's what the
license entitles you to. Can you quote the relevant parts of it?

> > Don't let the door hit you on the way out.
>
> Oh, great. Here we go again. You don't even know what this discussion
> is about, but decided to be rude.

Oh trust me, I saw the discussion previously. I know what it is about.
And when it comes to rudeness, let's just say, you reap what you sow.

ChrisA
--
https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file? [ In reply to ]
Previously you wrote:

> Here is the discussion referred to:
https://discuss.python.org/t/what-is-install-paths-to-in-wheel-file/42005

This illustrates you had no idea what the discussion was about and now
you write:

> Oh trust me, I saw the discussion previously.

Both cannot be true at the same time, unless you had some kind of very
brief memory loss.

> I'm not a lawyer,

Neither am I. All I have to work with is my understanding of the
English language. Here's how I come to my conclusions.

The Python license grants all intellectual rights to Python to PSF (an
American NGO, a.k.a. 501(c) organization), which, essentially, can be
characterized as an organization for public good.

This is what it has to say about itself in its mission statement:

> Mission

> The mission of the Python Software Foundation is to promote, protect,
> and advance the Python programming language, and to support and
> facilitate the growth of a diverse and international community of Python
> programmers.

it also elaborates what it means by "diverse" as follows:

>

Diversity

> The Python Software Foundation and the global Python community
> welcome and encourage participation by everyone. Our community
> is based on mutual respect, tolerance, and encouragement, and we
> are working to help each other live up to these principles. We want
> our community to be more diverse: whoever you are, and whatever
> your background, we welcome you.

My understanding is that "welcome and encourage participation by
everyone" is in stark contradiction to banning someone disagreeing
with you. Note, I haven't offended anyone. I haven't even spoken to
anyone who found themselves being offended. All I did was to describe
in some detail the reasons why some projects endorsed by PyPA are a
bad idea. You, as well as anyone else, are welcome to believe
differently. This is the whole point of diversity allegedly promoted
by PSF. I will think you are wrong, but it's not my place to shut you
up. Neither is it the place of people in charge of the public
discussion of Python or its satellite projects. They are not there to
decide who's right and who gets the stage. Their role is to preserve
the public good, which any discussion about subjects relevant to
Python would be.

What happens, however, and this is the unfortunate fate of popular
projects, is that a small group of people consolidate all means of
control in their hands, and the more control they get, the easier it
is to get even more of it. The natural factor that would prevent this
from happening: the community dissatisfaction with their role becomes
increasingly less powerful as soon as more and more members of the
community come to depend on the good provided by the community.

If this discuss.python.org is representative of the Python community
as a whole, then, unfortunately, it means that the goals PSF set for
it are fading into the distance, rather than becoming more attainable.
--
https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file? [ In reply to ]
On Sat, 30 Dec 2023 at 06:58, Left Right <olegsivokon@gmail.com> wrote:
> My understanding is that "welcome and encourage participation by
> everyone" is in stark contradiction to banning someone disagreeing
> with you.

Then your understanding is flat-out wrong. Encouraging participation
by everyone DOES mean deleting what is unproductive, offensive, and
likely to discourage participation.

Your entire argument is based on misconceptions. Go play in your own
sandbox somewhere, see if you can make something where everyone is
welcome, including the toxic AND the people who dislike toxicity.

ChrisA
--
https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file? [ In reply to ]
> Then your understanding is flat-out wrong. Encouraging participation
> by everyone DOES mean deleting what is unproductive, offensive, and
> likely to discourage participation.

I haven't written anything unproductive or offensive. I offered
constructive criticism with a detailed plan on how to fix the problem.
The forum owners chose to ban me because they don't like hearing that
the code they've written is bad. And that's the long and the short of
it. This has been a pattern in behavior of PyPA members I've
interacted with so far. And whenever they had a chance, they'd use it
to pretend that the problems I'm talking about don't exist by deleting
every mention of the problem. That is an example of unproductive and
offensive behavior because it produces nothing and wastes my time I've
dedicated to locating, reporting and solving their problem.

> Go play in your own sandbox somewhere,

You are being repeatedly rude, without provocation, and yet you keep
blaming me for what you are doing. I guess you have to be a moderator
in this forum because you act as if this is a kind of behavior will be
without any repercussions for you.

You probably don't understand it, but this sandbox is as much yours as
it is mine. You can "become" an authority and, eg. block me -- but
that would be an overreach. Physically possible but morally wrong.

I don't need to prove you wrong by being better than you. Nobody does.
Being right or wrong isn't about being better at something.

Not only that, I legally (and physically) cannot establish my own
Python Software Foundation and claim a right to Python intellectual
property, establish a governing body for Python etc. These forums are
how PSF is supposed to implement its advertised policies. I cannot
just take over them... that'd be illegal even if I somehow managed to
physically pull it off.
--
https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file? [ In reply to ]
On Fri, 29 Dec 2023 at 22:38, Left Right via Python-list
<python-list@python.org> wrote:
>
> > Then your understanding is flat-out wrong. Encouraging participation
> > by everyone DOES mean deleting what is unproductive, offensive, and
> > likely to discourage participation.
>
> I haven't written anything unproductive or offensive. I offered
> constructive criticism with a detailed plan on how to fix the problem.
> The forum owners chose to ban me because they don't like hearing that
> the code they've written is bad. And that's the long and the short of
> it. This has been a pattern in behavior of PyPA members I've
> interacted with so far.

You are conflating several different groups of people. The PyPA are
the people who currently maintain the code for various
libraries/tools. That is very often not the same as the people who
originally wrote the code for the same libraries/tools or for
preceding ones. Neither group is the same as the forum moderators (I
suspect that there is no intersection between the moderators and the
PyPA etc.).

> And whenever they had a chance, they'd use it
> to pretend that the problems I'm talking about don't exist by deleting
> every mention of the problem. That is an example of unproductive and
> offensive behavior because it produces nothing and wastes my time I've
> dedicated to locating, reporting and solving their problem.

Actually you are wasting the time of others by putting across
inaccurate and unhelpful information in a rude way and at the same
time criticising others without really understanding who you are
criticising and for what. Your contribution is unhelpful mostly (but
not exclusively) because of the way that you choose to communicate.

I did not realise earlier what you were referring to but I see now
that I have email notifications with the content of your posts that
were deleted. I am not surprised that they were deleted and that you
were banned because if I was a moderator looking at those then I would
not expect a promising future for your interactions with others in the
forum.

There is some significant irony in you describing the forum as a
"toxic pit" for deleting your posts. I don't always agree with the
moderators and I am not sure that I would have reacted the way that
they did but these threads remind me precisely why moderation
(including deleting posts such as yours) is needed to *prevent* a
forum from turning into a toxic pit.

--
Oscar
--
https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file? [ In reply to ]
> You are conflating several different groups of people. The PyPA are
> the people who currently maintain the code for various
> libraries/tools. That is very often not the same as the people who
> originally wrote the code for the same libraries/tools or for
> preceding ones. Neither group is the same as the forum moderators (I
> suspect that there is no intersection between the moderators and the
> PyPA etc.).

I'm sorry to tell you, but you suspect wrong. Unfortunately, it's
always the same story. Whenever I or anyone else with a legitimate
complaint about larger projects managed by PyPA tries to bring this to
public discussion, they get banned and their comments about PyPA
activity removed. It's always presented as if whoever is complaining
is disrespecting the hard work of the person replying, who usually
self-describe as selfless volunteer with limited time and attention
they are willing to grant to the one complaining (implying they either
are PyPA or are volunteering for them). As if their time was
obviously more important than that was spent by the one complaining to
research the problem and put together the complaint.

This has nothing to do with the original authors of the projects
managed by PyPA. I don't know why you decided to bring this up. I
haven't mentioned them.

> Actually you are wasting the time of others by putting across
> inaccurate and unhelpful information in a rude way and at the same
> time criticising others without really understanding who you are
> criticising and for what. Your contribution is unhelpful mostly (but
> not exclusively) because of the way that you choose to communicate.

No, I'm not _wasting_ anyone's time. I bring up a legitimate issue
that needs solving. What happens is a typical example of gatekeeping,
overestimating one's worth or the value of one's contribution. The
time I had to waste because of the bad decisions made by PyPA is
orders of magnitude more than the time they have spent reading
whatever I wrote to them.

Point me to inaccurate information please. I'm happy to be corrected.

Similarly, point me to where I was rude, and I will apologize.

Apparently, I have a better understanding of who I criticize and for
what than you do. You need to at least be factual when you make these
sorts of claims.

It's not for you to choose the way I communicate. There are accepted
boundaries, and I'm well within those boundaries. Anything beyond that
is not something I'm even interested in hearing your opinion on.

> There is some significant irony in you describing the forum as a
> "toxic pit" for deleting your posts. I don't always agree with the
> moderators and I am not sure that I would have reacted the way that
> they did but these threads remind me precisely why moderation
> (including deleting posts such as yours) is needed to *prevent* a
> forum from turning into a toxic pit.

You, as well as the moderators of the toxic pit forum are confused
about what it means to have a good discussion. The discussion that is
currently happening around PyPA projects and ideas is broken because
the PyPA side of the discussion is unwilling to acknowledge how bad
they are at doing their job. Whenever any serious criticism of their
work surfaces, they deal with it by deleting the criticism, never
through addressing the problem.

You can be the most polite and humble person in the world, but as soon
as you bring up the subject of the quality of their decisions, you are
automatically excluded from discussion.

The only criticism anyone is allowed to have is the kind that doesn't
touch on any major projects. It's possible to point out typos in
documentation or to address similarly inconsequential defects at the
smaller code unit level, but it's not possible to call for a revision
of ideas behind libraries or PEPs. For instance, as soon as you
mention the comically awful idea of pyproject.toml in a bad light, you
get a ban.

I believe this comes from the place of insecurity in one's ideas, and
has nothing to do with how polite the criticism is. And that's when
instruments like "code of conduct" are called upon to delete the
inconvenient criticism. This is what creates toxic communities like
StackOverflow or similarly built social networks which endow their
moderators with way too much power over other users. The other
extreme of anarchy, similar to 4chan, doesn't suffer from this
problem, but sometimes results in grotesque gore or other _unpleasant_
things but aren't toxic in the same way gatekeeping is.

This is how I understand and use the word "toxic". The
dicuss.python.org is just as toxic as StackOverflow -- I don't have a
metric precise enough to tell who's worse. I believe that this format
is a very unfortunate choice for public discussion where there isn't
an inherent division between owners and non-owners. Where giving the
keys to the common good to a small group of people creates such a
division.
--
https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file? [ In reply to ]
On Sun, 31 Dec 2023 at 00:35, Left Right <olegsivokon@gmail.com> wrote:
>
> It's not for you to choose the way I communicate. There are accepted
> boundaries, and I'm well within those boundaries. Anything beyond that
> is not something I'm even interested in hearing your opinion on.

You might not be interested in my opinion but you might want to
reflect on the fact that although you consider your behavior to be
within "accepted boundaries" the evidence here (and in the forum)
suggests that others do not and so your notion of what is "accepted"
is not universally shared.

I am not going to reply to your other points except to say that if you
want to influence anything then I expect that you would have more
success with a different approach.

To anyone else considering replying in this thread: please don't. I
very much doubt that anything good will happen here.

--
Oscar
--
https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file? [ In reply to ]
> others do not and so your notion of what is "accepted"
> is not universally shared.

Why should I or anyone else care about what "others" think? The
important question is whether what I do is right. And the answer is
"yes". That's why there are rules in the first place instead of
polling.

> if you want to influence anything

Usually, when I interact with representatives of Python community I
have two goals:

1. Typically, I need to show to someone who's paying my salary why
something produced by this community doesn't work. I.e. say, I need to
convince a project manager on a project I'm helping maintain that
deploying using "pip install" is a bad idea. I write an explanation
which I share with the PM and the PyPA people in the bug tracker.
They predictably block me out of fear or frustration. This gives me a
proof that the thing doesn't work (well), and I'm allowed to do it the
right way. Just like in your previous remark: majority could be a good
initial heuristic, but proof is still a lot better.

2. At this point, I have no hope of convincing the prominent members
of Python community how awful a lot of their decisions are. There are
plenty of socially constructed obstacles on this way. The reason I do
this is posterity. There are plenty of people who aren't influenced
by the internal developments of Python community (outside of it) and
they can see much of its development for what it is: commenting on
this development honestly will help them make an informed choice.
It's also important that those who will come after us will learn about
this contradiction. Too many bad projects with bad design outlived
their good counterparts due to popularity caused by chance. And today
those better design and ideas are as good as lost. For example, Unix
outlived and "overpowered" plenty of better operating systems of its
time. But most programmers today would have no idea what those systems
were and how they were different. Similarly, x86 ISA. And plenty
more.

Python changed from its early days of trying to be funny and generally
welcoming of many contradicting ideas and opinions into a Lord of the
Flies community that no longer tolerates differences of opinion. It's
lost the spirit of "playful cleverness" (as RMS would put it), and
became a "don't think, do as I say" community. I want to make sure
those who come to learn about Python will not miss this aspect of its
history.
--
https://mail.python.org/mailman/listinfo/python-list