Re: [Python-Dev] PyPI comments and ratings, *really*?

On Fri, 13 Nov 2009 04:27:48 am Ludvig Ericson wrote:
On 12 nov 2009, at 14:38, Steven D'Aprano wrote:
On Thu, 12 Nov 2009 08:44:32 pm Ludvig Ericson wrote:
Why are there comments on PyPI? Moreso, why are there comments which I cannot control as a package author on my very own packages? That's just absurd.
No, what's absurd is thinking that the act of publishing software somehow gives you the right to demand control over what others say about your software.
... on my own package's page.
It's your package. It's the community's page about your package. I think of PyPI as a community-owned noticeboard. Its primary purpose is to allow the community to find good packages -- the benefit to the community is why it exists, not the benefit to the author of the package. In my opinion, the community is best served by a good comment/review system, one which avoids the worst trolling, and allows authors the right of reply, but does not allow authors to censor inconvenient but honest reviews. -- Steven D'Aprano

Steven D'Aprano <steve@pearwood.info> writes:
In my opinion, the community is best served by a good comment/review system, one which avoids the worst trolling, and allows authors the right of reply, but does not allow authors to censor inconvenient but honest reviews.
I think you're right. I also think, though, that the community is best served by an objective repository of third-party Python packages, with information derived only directly from the package itself and objective data. That allows the least barrier to having a package maintainer want to register their package with such a service, which is in the interest of having it be as complete a registry of packages as can be. A community forum, on the other hand, has many characteristics that will be *disincentives* to a package manager for having their package appear there. It's never going to attract as many package maintainers as an impartial, objective registry; the many reasons already given here as to why some package maintainers *don't* want their packages in such a system are evidence of that. Those two purposes — community forum, impartial registry — are in conflict. I think PyPI has clearly already been serving the role of the registry, and that any community forum should be quite separate to encourage those who don't like it to still register their packages at PyPI. -- \ “I'd take the awe of understanding over the awe of ignorance | `\ any day.” —Douglas Adams | _o__) | Ben Finney

On Fri, Nov 13, 2009 at 18:00 +1100, Ben Finney wrote:
Steven D'Aprano <steve@pearwood.info> writes:
In my opinion, the community is best served by a good comment/review system, one which avoids the worst trolling, and allows authors the right of reply, but does not allow authors to censor inconvenient but honest reviews.
I also think, though, that the community is best served by an objective repository of third-party Python packages, with information derived only directly from the package itself and objective data. That allows the least barrier to having a package maintainer want to register their package with such a service, which is in the interest of having it be as complete a registry of packages as can be. V> A community forum, on the other hand, has many characteristics that will be *disincentives* to a package manager for having their package appear there. It's never going to attract as many package maintainers as an impartial, objective registry; the many reasons already given here as to why some package maintainers *don't* want their packages in such a system are evidence of that. +1
I think that there are a lot of things that could be done to make PyPi a place where users can find *high wuality* packages and one that makes it desirerably for developers to have their packages listed there. Unfortunately comments *on the package main page* is not among them. I think the PyPi/Python developers should consider the following points: * PyPi is the de facto *official* repository of third party packages that form the "enhanced" stdlib * I as a developer chose PyPi to be the *official* website of my projects and I want to have control over this website. I could name a plethora of things I would do to enhance PyPi and here are some ideas: Better UI --------- Right now the package consists of a single page and all information is cramped in there. I would suggest having a "tab-style" bar containing things like: * Package description/Home (default) * Documentation Right now I have to place a link to the documentation I uploaded to PyPi in the package description myself? Why? Include that automatically on the package site as soon as it is uploaded and tell the developers about that feature! * Issue tracker (either hosted on PyPi or somewhere else) * Downloads (for different releases) * Comments Place comments on a different page, give developers the possibilty to enable this feature and react to comments. Maybe include a way to rate comments and those with a higher rating will bubble up reddit style. * Changelog * ... Automatic Package testing ------------------------- What I really like on PyPi is that my packages are tested automatically with Cheesecake and the order of packages when searching is determined by this rating. This gives a huge incentive to work on the package quality, which is a great thing IMHO. Ratings by users could influence this ranking as well... I would take this idea even further. All packages should be tested automatically and *REJECTED* if they don't meet certain quality criteria. PyPi should become a place where high quality packages can be found, not a dump for every single "Hello World" ever developed. Debian will run lintian (a Debian package checker) automatically against newly uploaded packages and reject those that don't meet a basic set of tests. Tests could reject packages that: * FTBFS * do not install/uninstall cleanly * miss important files (README, CHANGELOG, .. ) This could leverage platform specific information as in: If it is a *nix package and includes scripts, it should have man pages for them, .... * rate poorly on automatic tests (pep8, cheesecake, pylint, ...) * are not GPG signed * have not specified a license * ... I admit that this makes PyPi a much stricter place and suggest that sections are introduced that define different rules for inclusion (like Debian's stable, testing, unstable - main, contrib, non-free). There could be sections like this: * main - manually checked packages of high quality This would comprise packages of a high enough quality to be deemed acceptable in the stdlib * tested - packages not in main that rank high on automatic tests * ... * junk (better name required) Users could then decide which parts they want pip to retrieve packages from. We could even encourage github, bitbucket, sourceforge, ... to provide ways to automatically query their repositories from pip so they could be included in pip's "sources.list" and used to install dev-versions, packages of por quality. *IF* Python plans to develop a fully fledged platform agnostic package manager for Python programs/libraries it would be wise to learn from the solutions people came up with until now (aptitude, yum, pkg_add, emerge, ...) kind regards Wolodja Wentland -- .''`. Wolodja Wentland <wentland@cl.uni-heidelberg.de> : :' : `. `'` 4096R/CAF14EFC `- 081C B7CD FF04 2BA9 94EA 36B2 8B7F 7D30 CAF1 4EFC

What I really like on PyPi is that my packages are tested automatically with Cheesecake and the order of packages when searching is determined by this rating.
That is an (apparently widespread) myth. The Cheesecake rating is not considered in ranking search results; it's just the relevance of the search term that is. Regards, Martin

On Sat, Nov 14, 2009 at 09:43 +0100, "Martin v. Löwis" wrote:
What I really like on PyPi is that my packages are tested automatically with Cheesecake and the order of packages when searching is determined by this rating.
That is an (apparently widespread) myth. The Cheesecake rating is not considered in ranking search results; it's just the relevance of the search term that is.
Thanks for clarifying this! What about the other points? Crossposted to catalog-sig to move the discussion there. -- .''`. Wolodja Wentland <wentland@cl.uni-heidelberg.de> : :' : `. `'` 4096R/CAF14EFC `- 081C B7CD FF04 2BA9 94EA 36B2 8B7F 7D30 CAF1 4EFC

That is an (apparently widespread) myth. The Cheesecake rating is not considered in ranking search results; it's just the relevance of the search term that is.
Thanks for clarifying this!
What about the other points?
They are really off-topic for python-dev; PyPI discussion should take place on catalog-sig. I personally had problems following your message, as it seemed to mix too many aspects into one message. Regards, Martin

Steven D'Aprano wrote:
On Fri, 13 Nov 2009 04:27:48 am Ludvig Ericson wrote:
On 12 nov 2009, at 14:38, Steven D'Aprano wrote:
On Thu, 12 Nov 2009 08:44:32 pm Ludvig Ericson wrote:
Why are there comments on PyPI? Moreso, why are there comments which I cannot control as a package author on my very own packages? That's just absurd.
No, what's absurd is thinking that the act of publishing software somehow gives you the right to demand control over what others say about your software.
... on my own package's page.
It's your package. It's the community's page about your package.
I think of PyPI as a community-owned noticeboard. Its primary purpose is to allow the community to find good packages -- the benefit to the community is why it exists, not the benefit to the author of the package.
In my opinion, the community is best served by a good comment/review system, one which avoids the worst trolling, and allows authors the right of reply, but does not allow authors to censor inconvenient but honest reviews.
+1 :-) Michael -- http://www.ironpythoninaction.com/
participants (5)
-
"Martin v. Löwis"
-
Ben Finney
-
Michael Foord
-
Steven D'Aprano
-
Wolodja Wentland