<div dir="ltr">Check out this Camden Bench. <a href="https://en.wikipedia.org/wiki/Camden_bench">https://en.wikipedia.org/wiki/Camden_bench</a> . <span style="line-height:1.5">The creators of the bench enumerated about 23 specific undesirable behaviors that they feel normal benches allow (like sleeping and skateboarding) and came up with a lump of concrete that you can sit on.</span></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Aug 19, 2016 at 8:14 AM Donald Stufft <<a href="mailto:donald@stufft.io">donald@stufft.io</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
> On Aug 19, 2016, at 2:53 AM, Nick Coghlan <<a href="mailto:ncoghlan@gmail.com" target="_blank">ncoghlan@gmail.com</a>> wrote:<br>
><br>
> Unilaterally turning the feature off would be extraordinarily hostile<br>
> to current users - grace periods and sunset clauses are standard<br>
> features of change management processes for a reason, even when they<br>
> come at the cost of additional implementation complexity.<br>
<br>
<br>
This wouldn’t be a new way of handling this, when we implemented PEP 470<br>
new projects immediately got set to the “only files on PyPI mode” and had<br>
no ability to change to a different mode (no reason to present an option<br>
that was going away). Emails were sent to maintains on all projects that<br>
had an existing external link and told that in X months all their external<br>
links would be removed (which was implemented just as switching them to the<br>
“only files on PyPI mode”.<br>
<br>
Therefore, given what’s been discussed thus far, my proposal would be:<br>
<br>
Add a hidden flag, “legacy file support” on a per project basis. All new projects<br>
have this flag switched off, any existing project that has not ever uploaded a<br>
file that would use this flag has it switched off, everyone else has it switched<br>
on. Emails get sent out to maintainers of projects where it is still switched on<br>
and they’re told “In 3 months you’ll no longer be able to upload legacy file types,<br>
but all existing files uploaded will continue to exist”.<br>
<br>
Files that would fall under legacy file type:<br>
<br>
* All types except sdist, bdist_wheel, and bdist_egg [1].<br>
* All sdist extensions besides .tar.gz.<br>
<br>
<br>
That prevents new (and existing) projects from getting to a point where they<br>
depend on something that is going away when they previously didn’t and gives<br>
existing projects a chance to update their automation and what not to handle<br>
this scenario.<br>
<br>
<br>
[1] We can tackle egg at a later point, when setuptools either has support for Wheels<br>
    or is less needed.<br>
<br>
—<br>
Donald Stufft<br>
<br>
<br>
<br>
_______________________________________________<br>
Distutils-SIG maillist  -  <a href="mailto:Distutils-SIG@python.org" target="_blank">Distutils-SIG@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/distutils-sig" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/distutils-sig</a><br>
</blockquote></div>