The FreeBSD-CURRENT codebase, on which the FreeBSD 16 branch is based, has been updated with a change that removes the last remaining GPL-licensed components from the base system – diff3 and dialog utilities. The diff3 program was replaced with an analogue from the OpenBSD project, distributed under the BSD license, and for the replacement dialog utility bsddialog was developed specifically for FreeBSD. The installer was transferred to bsddialog four years ago and the last program tied to the GNU dialog was the dpv utility, which was declared obsolete more than two years ago, and now removed GNU dialog. The release of FreeBSD 16, scheduled for December 2027, will be completely freed from code under the GPL license.
The main motive for FreeBSD getting rid of projects under GPL licenses is the transition of GNU utilities to the GPLv3 license, which was considered unacceptable for the basic components of FreeBSD. FreeBSD developers were forced to remain on outdated versions of GNU utilities released before the transition to GPLv3. In 2012, in FreeBSD, the GNU patch utility was replaced by a version of the patch utility, supplied under the BSD license and based on the developments of the DragonFly BSD project. In subsequent years, the gdb debugger was removed from the system (replaced with lldb). The GNU grep utility was replaced by bsdgrep, Clang was used instead of the GCC compiler, and the binutils utilities were replaced by analogues from the LLVM project. The dtc (Device Tree Compiler) utility has been replaced, the amd automatic mounting process (autofs is enabled) and the ctm utility have been removed.