posit-dev / posit-dev/open-source-website

Software ordering

Open
#108 0 comments 0 reactions 1 assignee View on GitHub

@jeroenjanssens is already working on this.

Since Apr 6, 2026.

Dominant language
HTML
Stars
55
Forks
24
Avg merge
1d 21h
Merged PRs (30d)
17

Description

Currently, software ordering is done by the repo's stars.

Image

I've made drive-by PRs to the top 6 repos. They do not represent me.


I'm inclined to request that some sort of priority queue be created.

Maybe...

  • Number of commits that I own to the main branch
  • Percentage of commits that I own to the main branch
  • Packages where I'm the maintainer first, tie-breaker to another method
    ?

From Claude:

How would you rank GitHub repos within a website given every GitHub repo that I've              
contributed to? I do not want to overemphasize small contributions to repos with large        
amount of stars.                                                                                

Ranking GitHub Repos by Contribution

The core challenge is balancing contribution depth vs repo popularity without letting
one dominate. Here's a framework:


The Problem with Naive Approaches
Approach Problem
Sort by stars 1 commit to linux/linux ranks #1
Sort by commit count Your personal toy repos dominate
Multiply contributions × stars Same star problem, just scaled

Recommended: Geometric Mean with Log-Scaled Popularity

score = contribution_depth^α × log(1 + stars)^β

Where α > β (e.g., α=0.7, β=0.3) to weight contribution more heavily.

Why geometric mean? It naturally penalizes imbalance — a near-zero contribution score keeps
the total score low regardless of star count. Additive methods don't have this property.

Why log(stars)? Compresses the 1M-star vs 1K-star gap from 1000x to ~2x.


Contribution Depth Score

Build a composite from available signals, normalized to [0, 1]:

contribution_depth =
   (commits_by_you / total_commits) * 0.4 +
   (prs_merged_by_you / total_prs) * 0.35 +
   (reviews_given / total_reviews) * 0.15 +
   (issues_opened / total_issues) * 0.10

Commits and merged PRs carry the most weight since they represent substantive work.


Recency Decay (optional)

Repos you're actively contributing to should rank higher than old ones:

decay = e^(-λ × years_since_last_contribution)

A λ of ~0.3 gives roughly half-weight to contributions 2+ years old.


Full Formula
score = contribution_depth^0.7 × log(1 + stars)^0.3 × decay

Practical Tiebreakers

When scores are close, break ties by:

  1. Whether you're an owner or maintainer (hard boost)
  2. Whether the repo is currently active (recent commits in last 6 months)
  3. Fork count as a secondary popularity signal (more signal-diverse than stars alone)

What to Avoid
  • Raw star count as a linear factor
  • Commit count without normalizing against total repo commits
  • Giving credit for being added as a contributor with 1 commit to a 50K-star repo — this should
    score near the bottom

The geometric mean approach handles the edge cases cleanly without needing arbitrary thresholds
or special-case logic.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.