Plate 1 · Where they wandered off
GitHub forks with commits of their own. Outside the network: not plotted.
Plotting specimens…
Conservation status · click to hide or show
The census
- …
- forks on GitHub
The register
- Loading the register…
Report a sighting
Seen a Sunshine fork in the wild that is missing here? GitHub’s fork list only covers repos that still carry the fork badge. Anything that left the network, or lives on GitLab, Codeberg or a self-hosted Forgejo or Gitea, needs a pair of eyes. Yours will do.
The census checks whether the repo shares history with Sunshine, and a curator has a look before it is listed.
How the census is taken
- The fork network. A worker wakes every ten minutes and works through GitHub’s fork lists a few pages at a time: Sunshine’s own forks first, then the forks of every fork that has any, all the way down. Each family is walked again every six hours. A fork that was pushed to is compared with the repo it came from, and with Sunshine when GitHub can compare the two. Forks with no commits of their own are counted, not listed.
- Left the network. Big forks like Apollo were detached from GitHub’s fork network, so no fork list leads to them. A daily search and visitor sightings do. A repo counts as a descendant if its history contains Sunshine’s release commits; the newest one it has is shown as “has upstream to”. Their own forks are walked too, so Apollo’s offspring appear with Apollo as their parent.
- Beyond GitHub. GitLab.com and Codeberg are searched once a day, and a sighting can point at GitLab, Codeberg or any self-hosted Forgejo or Gitea. The same rule applies there: shared history or it does not count. Plain mirrors of Sunshine are left out.
- Lookalikes. Hosts that speak the same protocol without sharing any of the code, like Wolf or Moonshine, are listed separately. Same niche, different bones.
- Status. Borrowed from the IUCN Red List and judged purely on the date of the last push. Archived or deleted repos are extinct. None of this is a comment on code quality; the Latin names, however, are entirely intentional.