<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Sep 21, 2014, at 7:06 PM, Antoine Pitrou <<a href="mailto:antoine@python.org" class="">antoine@python.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">Ethan Furman <ethan <at> <a href="http://stoneleaf.us" class="">stoneleaf.us</a>> writes:<br class=""><blockquote type="cite" class="">On 09/19/2014 04:13 PM, Alex Gaynor wrote:<br class=""><blockquote type="cite" class=""><br class="">I **strongly** concur with James here. This has flagrantly violated my<br class=""></blockquote></blockquote>trust in<br class=""><blockquote type="cite" class=""><blockquote type="cite" class="">PyPI.<br class=""><br class="">I would much rather packages not be reclaimed than need to think about<br class=""></blockquote></blockquote>whether<br class=""><blockquote type="cite" class=""><blockquote type="cite" class="">I trust the PyPI maintainers to do it.<br class=""></blockquote><br class="">Having PyPI become full of cruft is not a tenable situation.<br class=""></blockquote><br class="">What is the problem with "cruft" exactly?<br class=""><br class="">I'm opposed to the idea that a package may be "transferred" to someone<br class="">else without any explicit authorization from the original maintainer(s)<br class="">(or author(s)). It is not a matter of waiting time or tools. It is morally<br class="">unacceptable.<br class=""><br class="">If you want to maintain a package and the maintainer doesn't reply,<br class="">there is a solution: fork the package (under a new name).<br class=""><br class="">If you don't want to see "stale" packages, there is a solution:<br class="">build an optional filter into PyPI that only shows packages<br class="">which have received an update in the last 12/24/36 months.<br class=""><br class="">Regards<br class=""><br class="">Antoine.<br class=""></div></blockquote><br class=""></div><div><div>The problem with cruft is they make it more difficult to find things for end</div><div>users who often times don't know what they are looking for. This is especially</div><div>bad when you have a once popular library/tool for which the maintainer is no</div><div>longer available. It's already a daunting task for someone to select a library</div><div>that does something they need to do if they aren’t already familiar with the</div><div>ecosystem. Adding "landmines" in the form of projects which look to solve their</div><div>problem but where there is no-one to help them if they run into a bug or who</div><div>can release a bug fix is fairly unfriendly.</div><div><br class=""></div><div>Circling back to django-registration, we can see the extra confusion this can</div><div>cause when a maintainer stops maintaining a popular package. You end up with</div><div>a multitude of forks, each slightly incompatible and with different features,</div><div>bugs, etc. Now in the case of django-registration the author *is* available</div><div>and wishes to retain control of django-registration, so that's fine, but you</div><div>can hopefully see the sort of confusion that a maintainer going missing can</div><div>cause?</div><div><br class=""></div><div>This isn't a problem that can be automatically solved because there's no</div><div>programatic way to differentiate between "stable" and "abandoned", especially</div><div>when you want to consider "abandoned but the author wants to maintain control",</div><div>"abandoned but the author is willing to give it up", and "abandoned and the</div><div>author is no longer available" differently.</div></div><div><br class=""></div><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">---</div><div class="">Donald Stufft</div><div class="">PGP: 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA</div></div></div>
</div>
<br class=""></body></html>