Analytics
All Bluefins (Total)
Bluefin + Bluefin Utah + Classic.
Reading Classic count history…
Bluefin
Systems active per day.
No raptors reporting in, life finds a way
Bluefin Utah
Systems active per day.
No raptors reporting in, life finds a way
Bluefin Classic (ublue-os/bluefin)
Weekly counts from ublue-os/countme
Reading Classic count history…
Image × Stream Publication Matrix
Days since each published image last pushed to each promotion stream. One hue at four intensities, plus a glyph:
NominalWatchAlertUnknown
Reading the registry snapshot…
Streams: every image promotes :testing → :stable, which is the whole axis. Read from each repository’s execute-release.yml promotion matrix. The :gts and :latest tags still sit on some images as leftovers from retired schemes; nothing promotes through them, so they are not columns here.
Project Bluefin Image Family
Every image projectbluefin/common ships into, with the GHCR flavors each family publishes.
Bluefin
Flagship Workstation · Fedorabluefintesting —stable —bluefin-nvidiatesting —stable —
Project Bluefin Dakota
Next-Gen BuildStream · GNOME OS / BuildStream 2dakotatesting —stable —dakota-nvidiatesting —stable —dakota-gamingtesting —stable —dakota-nvidia-gamingtesting —stable —
Project Bluefin Utah
Modular Hummingbird · Fedora Hummingbirdutahtesting —stable —utah-nvidiatesting —stable —utah-gamingtesting —stable —utah-nvidia-gamingtesting —stable —
Bluefin Server
Image-Based Server · freedesktop-sdk 26.08- DDI + systemd-sysupdate delivery — no container stream
Contributor Metrics
Snapshot refreshed: . Complete scan of 59 current public projectbluefin repositories, including archived repositories and forks. 1609 unlinked author records excluded.
Contributors are distinct linked GitHub accounts, not verified people. Changes, issues, comments, reviews and discussions all count. Only recognized bots are excluded; AI use by user accounts cannot be detected. Months use UTC and the current month is partial. Full scope and exclusions are documented in the methodology below. Unique participating accounts in the last 90 days. Kinds overlap: these counts must not be added together.Show the numbers
Contributors over time 2023-03 6 2023-04 11 2023-05 12 2023-06 16 2023-07 19 2023-08 28 2023-09 33 2023-10 37 2023-11 39 2023-12 42 2024-01 46 2024-02 52 2024-03 56 2024-04 63 2024-05 66 2024-06 71 2024-07 77 2024-08 88 2024-09 94 2024-10 102 2024-11 111 2024-12 119 2025-01 130 2025-02 136 2025-03 143 2025-04 154 2025-05 164 2025-06 167 2025-07 171 2025-08 185 2025-09 193 2025-10 203 2025-11 212 2025-12 223 2026-01 256 2026-02 270 2026-03 278 2026-04 296 2026-05 323 2026-06 348 2026-07 356 2026-08 386 2026-09 424 2026-10 458 Show the numbers
Contributors each month 2023-03 6 2023-04 8 2023-05 4 2023-06 9 2023-07 6 2023-08 14 2023-09 13 2023-10 11 2023-11 9 2023-12 9 2024-01 13 2024-02 13 2024-03 14 2024-04 21 2024-05 10 2024-06 16 2024-07 14 2024-08 21 2024-09 16 2024-10 19 2024-11 22 2024-12 18 2025-01 19 2025-02 16 2025-03 22 2025-04 24 2025-05 25 2025-06 13 2025-07 17 2025-08 25 2025-09 21 2025-10 25 2025-11 26 2025-12 30 2026-01 55 2026-02 29 2026-03 31 2026-04 38 2026-05 61 2026-06 50 2026-07 39 2026-08 56 2026-09 88 2026-10 83 Ways people contribute
Kind Unique contributors (90 days) Changes 53 Issues 109 Comments 104 Reviews 20 Discussions 0
Methodology, Privacy & Opt-Out
Counting Methodology
Bluefin and Bluefin Utah use countme.projectbluefin.io. Classic is
ublue-os/bluefin, counted by ublue-os/countme.
All Bluefins adds Bluefin, Bluefin Utah, and Classic on each date. Classic uses the
recorded Bluefin badge history from ublue-os/countme; its last published weekly
reading is used until the next publication. Bluefin and Utah use their own daily
counts. Missing daily counts leave gaps. The badge values are rounded, so the
combined chart is an estimate, not a deduplicated device inventory.
First-party Countme Service & Privacy Guarantees
Project Bluefin Dakota and Utah images send a daily active-system ping from the
projectbluefin-countme systemd timer to https://countme.projectbluefin.io/v1/ping.
Other images do not send it.
- What is sent: a single string,
<image-name>/<image-flavor>:<stream>, where the stream is the booted image's tag (stable,testing, orunknown). Nothing else: no install age, architecture, machine ID, username, or persistent identifier. - How often: at most once per day per system, and never from a live ISO, installer, or container.
- What is stored: one counter per UTC day and image. No per-system rows and no IP addresses. A day's count is the number of systems active that day, not distinct devices over time.
Opt-Out Instructions
To stop Project Bluefin countme reporting now and across reboots, mask its systemd timer:
sudo systemctl mask --now projectbluefin-countme.timer
A mask of the previous bluefin-countme.timer or bluefin-countme.service units, and the
/etc/projectbluefin/countme/disabled opt-out file, still stop reporting.
To disable upstream Fedora countme:
To disable Homebrew analytics:
brew analytics off
See the Homebrew analytics documentation for additional details.
Contributor Metrics Methodology
These charts measure participation, not pull request throughput. A contributor is
one identifiable GitHub account with a recorded public contribution in a repository
currently owned by projectbluefin. Each account is counted once across the organization.
- Ways to contribute: code and documentation changes, pull requests, issues, comments, submitted reviews, and GitHub Discussions, including replies. Changes do not have to be merged to recognize their authors.
- Repository coverage: all public organization repositories, including archived repositories and forks. Commit authors are read from non-merge commits on non-fork default branches; imported fork commit history is excluded. Other participation in forks is included. Recorded history may predate a repository joining the org.
- Community growth: the cumulative number of accounts by their first recorded contribution date. This is surviving public history, not a claim to recover deleted contributions or activity in private repositories.
- Recent participation: distinct accounts active in the last 90 days. Monthly counts use UTC calendar months; the current month is incomplete. The same person may help in multiple ways, so the contribution-type counts must not be added together.
- Identity limits: known bots and bot account types are excluded. Accounts that cannot be linked to a public GitHub identity are not counted. Public GitHub data cannot establish whether an ordinary account used AI assistance, or whether two accounts belong to the same person.
- Freshness and gaps: the scheduled collector follows every required page of the original public GitHub APIs. A failed collection retains the last successful snapshot and its timestamp, with a visible reason rather than a partial total.
Sources: GitHub's repository API,
GraphQL repository reference,
and pagination documentation.
The precise local definition is implemented in scripts/fetch-contributor-metrics.js.
Community forum discussions at ublue-os/bluefin
are outside this organization and are not mixed into its totals.