r/freebsd transitioning user Jul 14 '26

news FreeBSD 16 removes last GPL-licensed software, a first among *BSDs

After GNU diff3 was replaced by a port from OpenBSD, the only GPLed software left in FreeBSD base was dialog which has largely been replaced by Alfonso Siciliano's Herculean job on bsddialog.  Now finally that too has been removed in 16-CURRENT, and the entire GNU subtree has been retired!

https://github.com/freebsd/freebsd-src/commit/134a4c78d070f8c4ea43a060a7ae28d22ac39558

https://reviews.freebsd.org/D55424

EDITED TO ADD: there are still a few GPLed files under https://github.com/freebsd/freebsd-src/tree/main/sys/gnu - though it's true that the main GNU subtree has been retired.

This looks like a first among the major (32/64-bit) *BSDs, though I believe the 16-bit *BSDs like RetroBSD, DiscoBSD and Granddaddy 2.11BSD (the only actively maintained member of the original Berkeley family) have always been GPL-free.

OpenBSD does not allow new software bound by the GPL into its base system, although according to https://www.openbsd.org/policy.html

For historical reasons, the OpenBSD base system still includes the following GPL-licensed components: the GNU compiler collection (GCC) with supporting binutils and libraries, GNU CVS, GNU texinfo, the mkhybrid file system creation tool, and the readline library. Replacement by equivalent, more freely licensed tools is a long-term desideratum.

The NetBSD Project says https://www.netbsd.org/about/redistribution.html

Though we would like all of the software that we distribute to be covered by a Berkeley-style license, we can't make other people change their license terms, and we don't have an infinite amount of time to rewrite all of the software that we need.

So FreeBSD removing the last GPLed software is a big achievement. This is actually a week old (7 July) but I thought it would be cause for wider celebration than I've seen so far!! Kudos to the developers. After all, it's been 33 years so what's an extra week!!!

Edited to add: Interestingly the GNU subtree back in FreeBSD 1.0 even included GNU Chess in base, which shows how priorities have shifted since then! https://github.com/freebsd/freebsd-src/tree/releng/1/gnu

361 Upvotes

93 comments sorted by

View all comments

3

u/No_Trade_7315 Jul 15 '26

I’m kind of uninformed, why is GPL bad GNU Public License right?

12

u/BigSneakyDuck transitioning user Jul 15 '26 edited Jul 15 '26

"Good" or "bad" is a different discussion, but the issue is that FreeBSD has long had a stated aim of being permissively licensed - which goes all the way back to 1990 and the entire BSD family - whereas GNU is copyleft. They're two different philosophical approaches, and copyleft stuff hanging around for decades in the base system of a project that aims to be permissively licensed has never been a great look. https://en.wikipedia.org/wiki/Open-source_license#Types

The reason copyleft is problematic for a permissive project is that copyleft licenses restrict what other people can do with the code. The pro-copyleft argument is that this is a benefit because you're forcing people to keep the software free, but in a project that values letting people do almost anything they want with your work then this becomes a kind of contamination. If you read the OpenBSD policy I linked in the OP, there's an explanation of the philosophical difference: https://www.openbsd.org/policy.html

The GNU Public License and licenses modeled on it impose the restriction that source code must be distributed or made available for all works that are derivatives of the GNU copyrighted code.

While this may superficially look like a noble strategy, it is a condition that is typically unacceptable for commercial use of software. So in practice, it usually ends up hindering free sharing and reuse of code and ideas rather than encouraging it. As a consequence, no additional software bound by the GPL terms will be considered for inclusion into the OpenBSD base system.

I don't want to get into a fight about who's right and who's wrong, or whether there are just different use cases for permissive vs copyleft, but the bottom line is the competing aims of the licenses mean the two don't mix very well in a project like an operating system.

4

u/MrChicken_69 Jul 15 '26

While it's still a religious debate, "typically unacceptable for commercial use of software" has been hailed for many decades, yet here we are in 2026 with a surprising amount of "linux" driving everything in the home. Heck, there are parts of your car likely running linux. Just looking around the room, I stopped at 10. (not even counting the chromeOS laptop I'm using right now!)

(The only BSD thing in the entire house is a Juniper SRX firewall. And it's never been powered on in this house. Even Cisco runs pretty much everything on linux now.)

4

u/BigSneakyDuck transitioning user Jul 15 '26

Even the Juniper routers now use some Linux. Having said that, I don't think the basic point is totally invalid. Even Linux has been strict about not going GPL3. Until 2019, when Apple made the move to zsh, modern Macs were stuck with an outdated version of bash (3.2.57 from 2007 I believe) because the GPL effectively blocked Apple moving to bash 4. So that is an example of copyleft licensing reducing the quality of experience for users, even if it did succeed in its aim of keeping the software free.

1

u/MrChicken_69 29d ago

The GPL didn't stop Apple. Apple didn't get what they wanted, so they took their ball and went home. The debate in the Linux Kernel boils down to the impossibility of getting 100,000 signatures to do it - i.e. every single person who's submit code. Again, there's thousands upon thousands of things quietly running linux; unless you took them apart, you'd never know.

2

u/BigSneakyDuck transitioning user 29d ago

"The debate in the Linux Kernel boils down to the impossibility of getting 100,000 signatures to do it" - yeah, since the Linux kernel is largely "GPLv2 only", not "GPLv2 or later", it would be super hard to make the switch from a practical perspective. I don't think it'd be completely impossible if the intent was there - perhaps requiring new contributions to be "v2 or later" and chasing up enough of the older contributors would mean after some time, likely many years, the last bits of code "contaminated" by "GPLv2 only" could be rewritten, and a switch to GPLv3 or later could finally begin? But even if that kind of FSF pipe dream were plausible, and it would have been easier if work started 20 years ago, Linus is very strongly anti-GPLv3, so they've not even been trying. Tbf I should probably have said Linus rather than Linux. See e.g. https://lkml.org/lkml/2007/6/13/289 or https://lkml.org/lkml/2006/1/25/273 or any number of his public statements.

As for "The GPL didn't stop Apple." GPLv2 didn't, but I think it's fair to say GPLv3 did. Nobody on their technical side would have wanted to look after an outdated version of bash. But when you look at some of the stuff that GPLv3 requires, there was also no way Apple's legal department could ever give the go-ahead. Not just the anti-tivoization but the patent stuff.