-
-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
the argument against putting todo warnings on the public pkgs page #50
Comments
|
In the past, you’ve argued that issues relating to package versioning are social, not technical. I agree, and moreover, I think that principle applies to the package system more broadly. 🐩 🐩 🐩
They do impose a judgment that wasn’t there before: “this package needs …”
But this notion of “incomplete and broken” is a judgment inferred from an automated check. It is not based on the developer’s view of the software. This creates a problem of false negatives. For instance, your 🐩 🐩 🐩 The broader question seems to be what kind of standard of quality should be communicated / enforced by the package server, and whether this can be done effectively by automated checks. The problem is that the package server serves two audiences with different needs:
But here too, automated checks fall short, because we have a problem of false positives. For instance, my 🐩 🐩 🐩 IMHO the UI at User discovery of packages would be better handled by improving the front page of |
Maybe we can display the TODOs only for logged in users? That is, enable the feature for pkgd.racket-lang.org, but avoid displaying it on pkgs.racket-lang.org. I agree that showing the endless list of TODOs to newcomers risks turning them away. Some of these warnings cannot be "fixed" right now, e.g. the docs for my |
Perhaps more radically, the package server could avoid showing packages with todos on the main page? Or at least put them lower on the list of packages than packages without any todos. Maybe it's time to revisit the default ordering of packages. I'm a fan of ordering them by "most clients" - packages that are frequently used by other packages should appear towards the top, since they're more likely to be generally useful. |
I like the idea of "most clients". It avoids the privacy issues of "most installs" stats collection, while also being a reasonably plausibly useful metric. Perhaps we could revisit the front page entirely. I've filed #53 to avoid hijacking discussion here. |
Sorry for the long delay in getting back to the thread. A big take-away for me is that Matthew & I agree on the idea that pkgs. is for developers and docs. is for users. Ideally for me, users discover packages by searching the docs or browsing the table of contents, rather than going out and "looking for a package". I like the idea that Racket feels like one big cohesive thing. I really value "This package ..." over 'nbsp, because I want to draw attention to what is not there as far as what can be automatically done. I consider it a bike shed whether it says "This package has no tags" or "This package needs tags." I will happily change it to whatever text ya'll think is best. |
But I’m still confused about where, as a matter of Racket policy, package metadata wants to be stored. Right now we seem to have two disjoint piles:
IOW, is |
We talked about this a lot at our meeting in Oxford and I think we have something good to present to the community shortly. Sorry for the delay, but this seemed important. |
Opinions: Early on it was good/necessary for the package catalog to prioritize package authors' needs, feelings, and convenience. After all, we needed more packages. I think maybe now the emphasis should shift more toward package users -- optimize more for quality, discoverability, provenance, dependability? Maybe related: It's awesome when people want to share something they've done in Racket. Even if they're unwilling or unable to support it as a library that other people can depend on. We want to encourage that. Today people might feel like the package catalog is the only good "showcase". If we had some other "showcase" outlet -- e.g. some reddit-like thing where people link to their repo, and people can comment or up-vote -- it could allow the package catalog to focus on packages people can depend on. To be clear, I'm not making any value-judgment here! Sharing something cool is good; people can learn from the source, be inspired, etc. Providing a library others can depend on, is also good. One isn't better. They're just different kinds of contributions. The only potential problem is when both kinds are mixed into a big grab bag and it's hard to tell which is intended. Meanwhile, so long as we're using the one big grab bag, I think signals like "needs docs", "broken deps", "failing tests" are helpful. If the language feels pejorative let's fix that, but not remove the signals completely? |
The todos have no appreciation of context. For instance, the docs for a certain package might not be in that package. In which case, there isn’t any way for a developer to fix the warning. For instance the docs for
beautiful-racket
are in thebr
package. Other packages may have no documentation intentionally. For instance,beautiful-racket-demo
. Again, no fix.More vitally, the todo warnings suggest to Racket users at large — especially new users — that the package library is full of incomplete, broken software. In general, that’s not true.*
[* Of course, some packages are incomplete or broken. And we could agree that it would be nice to have some kind of internal rating so developers could communicate whether relying on such-and-such package is wise. IIRC this was the idea behind the “ring” rating, though it seems to have faded out. Also, maybe tags suffice, but AFAIK there is no consistent vocabulary.]
There seems to be a common-sense middle ground, which is to only show the todo warnings when a developer is logged in, for packages that belong to that developer.
The text was updated successfully, but these errors were encountered: