FreeBSD Copilot binary commit triggers ports repository freeze
FreeBSD froze its ports repository after a Copilot CLI binary broke GitHub mirroring and raised licensing concerns.
By Renata Fuchs · Policy Reporter
· 3 min read
FreeBSD froze its ports repository after a FreeBSD Copilot binary was committed to repository history, breaking the project’s GitHub mirror and raising licensing concerns. The project announced the 2026 Ports Repository Freeze on July 21, and the freeze was still in effect the following day, according to a message on the freebsd-announce mailing list.
The FreeBSD announcement did not name Copilot directly. It said the relevant commit “severed” ports tree mirroring to github.com because of GitHub’s 100 MiB file limit and also added a blob with “questionable licensing” to the repository history. GitHub’s documentation says it blocks files larger than 100 MiB.
The issue was not that FreeBSD lacks a way to install Copilot. The project already has an official FreeBSD port for Copilot. In FreeBSD usage, however, a port is the packaging work needed to build or install software through the ports system. In this case, it is meant to let the Linux Copilot binary run through FreeBSD’s Linux compatibility layer, known as the Linuxulator.
The actual Copilot CLI binary was not supposed to be committed into the ports repository. The binary is covered by its own custom license, which is why FreeBSD developer Kyle Evans referred to the licensing problem as “questionable,” according to the mailing list note.
Why did FreeBSD freeze the ports repository?
FreeBSD froze the ports repository because the commit created two operational problems at once: it exceeded GitHub’s file-size limit for mirrored repositories and put a licensed binary into the repository’s Git history. Removing a file from the current tree is easier than removing it cleanly from history once it has been mirrored and distributed.
The ports tree is automatically mirrored to several locations, including a read-only GitHub mirror. Once a file larger than GitHub’s limit entered history, the GitHub mirror could no longer accept the repository as usual. That is why a single commit was enough to interrupt a workflow that FreeBSD depends on for public distribution and review.
The project did not describe the incident as a security breach or as data loss. The stated concern was repository hygiene: keeping the ports history mirrorable and avoiding the inclusion of a third-party binary whose license did not fit the repository’s expectations.
What the incident says about Git-compatible tooling
The mishap also landed as developers continue to experiment with alternatives that remain compatible with Git while trying to make version control less error-prone. One such project, Game of Trees, released version 0.127 the day before the FreeBSD incident became public.
Game of Trees, also called Got, is a Git-compatible version control system developed by contributors to the OpenBSD Project. Its project page describes it as prioritizing ease of use and simplicity over flexibility. Its FAQ says Got does not aim to replace Git and can be used instead of Git for some tasks or alongside it.
Other Git-compatible tools include Gitless, which describes itself as a simpler system built on top of Git, though its last release came in 2019, and Jujutsu, also called Jj, which has extensive documentation and assumes users already understand version control and Git concepts.
For FreeBSD, the immediate issue is narrower: the ports repository freeze remains a cleanup response to a misplaced binary, a GitHub mirror limit, and a licensing concern inside repository history.
This story draws on original reporting from The Register.