Skip to content

Awesome-rust Renaissance (Rework of the list) #479

@luciusmagn

Description

@luciusmagn

The Premise

Awesome-rust is a very old list. So old, in fact, that it even
predates Rust v1.0. Even better, awesome-rust existed before Cargo
was released. Over the years, @kud1ing's tiny list grew into the
massive collections it is now. It doesn't matter what you need to do,
we probably have an entry for it.

Today, we have roughly 70 categories containing hundreds of projects.
Sadly, we also have a lot of historical baggage and this list is in
dire need of a review.

The Problem

There are projects in the list that are unmaintained or straight up broken.
However, the fact that they are unmaintained isn't that much of a problem,
so long as they weren't left in a major WIP state.

Another problem this list suffers from is inconsistency. Some projects have
descriptions, some don't. Some categories order by author, other by crate name,
another ones are a mess, where by we order by "what we have".

Last mildly annoying issue is that the Travis badges are slightly bigger than
lines, so as they load the content gets continuously stretched. If one opens
a link to some part of the list, they will probably end up in a whole different place
of the list.

The Solution

I am a firm believer that it's about the time to do something about it.
Of course, the task is bigger, but these should be the main points:

  • Implementation of a new, uniform format. The goal is to improve readability,
    consistency and the outlook of the list
  • Careful review of all entries, removing those that are either broken, have been
    superseded by another project* or left unmaintained in a heavy WIP state.
    It is paramount that we don't make a mistake here, so emphasis on the careful
    part.
  • Filling in info for valid entries that lack either description, link to https://crates.io
    (if applicable), link to the repository (ditto) or a badge
  • Review of the validity of categories (we had some issues with ambiguity
    quite some overlapping in the area of UI), turning some into subcategories
    of others, if needed
  • On the topic of categories, we should also have a uniform ordering guideline,
    but whether we order by author or project name is up for discussion at the
    moment
  • Doing something about the Travis badges. I am hoping that something like
    https://shields.io might help solve the problem with their custom badges,
    but more research needs to be done in the area. One solution is to remove
    them completely, but in doing so we lose some valuable easily accessible
    information. The best solution would be badges that wouldn't stretch the lines.
  • Update the contribution guide to include all the relevant information, maybe
    add some policies to it. awesome-rust should definitely follow (and quietly does,
    I believe) the Rust Code of Conduct, so I am talking more about policies
    on what content we accept, what not.
*We are talking about cases such as where the author says that the original project Y is rewritten as X, which does the same, more and better

The Plan

First, I'd like to ask for some feedback on this, perhaps more suggestions:

  1. Do you agree with my proposal to do a rework of the list?
  2. What's your opinion on the Travis dilemma?
  3. Would you prefer ordering by author (and their projects then alphabetically)
    or by project?
  4. Is there a particular issue you would like to be addressed?

Next, I'd like to ask @memoryruins to produce his format proposals. We
had a conversation about them a while back, so although some are posted in #419,
there might have been some changes or new ideas (I don't quite remember what
exactly came to fruition from said conversation).

Once @memoryruins does so, I'd also like to ask for input on the topic of design format.

If the operation is a go, we can start working out some of the details and
then get to work. Of course, we wouldn't like the list to be dysfunctional for
the duration of the renewal, so a new branch rework would be created and work
on awesome-rust v2 would be done there.

Metadata

Metadata

Assignees

Labels

enhancementreworkIssues pertaining to the rework proposal

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions