(for anyone who do not know, bc is a “arbitrary-precision arithmetic language”. its syntax is similar to C)

Gavin Howard’s bc (bc-gh) is adopted by busybox, toybox, FreeBSD, Android, macOS for its robustness and superior performance. It is also shipped with Gentoo Linux; LFS also use bc-gh.

Even though bc-gh is more robust and updated, Linux distros other than Gentoo and Fedora do not package it it. bc-gh is not available on Arch (available on AUR), Debian and perhaps all of its derivative. The reason seems to be a licensing reason: bc-gh is under the BSD license.

bc-gh is clearly superior to GNU bc, Gavin Howard’s benchmark show that bc-gh is faster than GNU bc in most case, while bc-gh actually do more work than GNU bc.

Today I tested GNU bc and bc-gh. I let they do this operation: (1024*1024)^(1024*1024). GNU bc give me the answer in five minutes, bc-gh give me the answer in two minutes.

GNU bc do not have a repository. All development happen in private, and we can’t make sure it is still maintained. The latest version is 1.07 from 2017. bc-gh have a public repository and it is actively maintained.

So it is clear that other Linux distro not adopting bc-gh is purely licensing reason. They reject software not under the GPL license, even if they are more robust and more performant.

We need a campaign to raise awareness about superior software alternatives. We need to stop Linux distro for not adopting superior and updated softwares for licensing reasons.