GPL Software in the Base System

One of the ongoing goals for the FreeBSD base system is a migration to modern, copyfree or at least more permissively licensed components. This page aims to summarise the aged or unmaintained GPL components in the base system, potential replacements, and progress.

Unowned Components

The following may have potential replacements but integrating them is not yet planned. If you are looking for a project, please evaluate how feasible the replacement is, or if there are any other alternatives.

Name

Potential Replacement

Comment

dialog

ndialog?, bdialog?, bsddialog (WIP)

LGPL. WITHOUT_DIALOG added in r306375 but removes bsdinstall, bsdconfig, dpv

gcov (kernel)

sys/gnu/gcov https://cgit.freebsd.org/src/commit/?id=5426539c71df582dc62bc9964255f0e83648af64

bwn (kernel)

sys/gnu/dev/bwn

Works in Progress

Staged

These components are ready or nearly to be removed, waiting on additional testing or an agreed-upon schedule.

Name

Replacement

Review

Comments

Responsible

Copyfree Migration

The process of migrating these components to a copyfree alternative is in underway - perhaps some CPU architectures still need to be switched over, or more work needs to be done before the default can be changed.

Name

Potential Replacement

Percent Complete

Comment

Responsible

Under Investigation

These components do not yet have a committed plan in place.

Name

Potential Replacement

Percent Complete

Comment

Responsible

diff3

OpenBSD diff3

40%

See GSoC 2012: BSD-licensed Text-Processing Tools and GSoC 2010: BSD-licensed Text-Processing Tools

bapt@

Sunset Components

The following are dependencies of other components, and will be removed when all dependent components are removed.

Name

Comment

Ports Impact

Reviews / Call for Testing

These changes are available for review and testing:

Description

Review Link

Retire WITHOUT_ELFCOPY_AS_OBJCOPY option

D7337

Disconnect objdump from the build

D7338

Switch to LLVM libgcc_eh, libgcc_s

D8189

Ports exp-runs are requested for these changes:

Description

Exp-run link

Remove /usr/bin/as

PR205250

Remove /usr/bin/objdump

PR212319

lld as /usr/bin/ld

PR214864

LLD_BOOTSTRAP on i386

PR225128

Notes

Completed

Name

Comment

addr2line

Switched to ELF Tool Chain in r276796

ar

Replaced with one based on libarchive

as (binutils)

Removed in r361880 after addressing ports and using Clang IAS universally

bc

GNU version replaced with OpenBSD's bc

c++filt (binutils)

Switched to ELF Tool Chain in r282285

cpio

Replaced with bsd-cpio

crt

Switched to bespoke 1-Clause replacement by default in r340841

cvs

Removed in r251794

diff

Switch to a BSD licensed version in r317209

diff3

Imported from OpenBSD in r318888

dtc

Switched to BSDL dtc, GPL dtc removed in r358468

gdbtui

Removed from base in r328925

gcc

Removed from base in r358454

gcov

llvm-cov installd as gcov in r340289

gdb

disabled by default as of r36844, pending removal1

gnu-sort

Replaced with bsdsort, and removed in r241511

gperf

Removed from base in r358454

grep

Replaced with bsdgrep in r368439, removed in 47d1ad2413da

groff

Removed in r319664

ident

Replaced by a bsd licensed version in r285890

ld (binutils)

Replaced with LLVM's lld, removed as of r359376

libf2c

Was unused, removed in HEAD in r212592

libgcc

Replaced by a combination of compiler-rt and LLVM libunwind in r308308

libgnuregex

Removed from base in 47d1ad2413da

libgomp

Removed from base in r358454

libobjc

libobjc2 is MIT licensed, but in the absence of any Objective-C code in base it was removed

libodialog

Remaining libodialog users (tzsetup, sade) converted to new libdialog

libreadline

Removed from base in r328928

libssp

Replaced with libc rebuilt for libssp in r356356

libstdc++

libc++ was imported and newer versions of libstdc++ are available in the ports tree

lmc(4)

Retired in r333144

nm

Switched to ELF Tool Chain in r276796

objcopy

Switched to ELF Tool Chain in r296096, backwards compat removed in r306649

objdump

Retired in r360698

patch

Replaced with an enhanced variant of Larry Wall's patch from the other BSDs

ranlib

Replaced with one based on libarchive

rcs

Removed from base in r307351

readelf

Switched to ELF Tool Chain in r280859

reiserfs

Removed in r300062

sdiff

Switch to a BSD compatible version in r298823

send-pr

Obsoleted by Bugzilla migration

size

Switched to ELF Tool Chain in r276796

strings

Switched to ELF Tool Chain in r276796

strip

Switched to ELF Tool Chain in r276796

texinfo

Removed in r268496

[z|bz|xz|lz]grep

replaced by a BSD licensed script in r332993


CategoryProject

GPLinBase (last edited 2021-07-28T18:40:04+0000 by EdMaste)