(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.

  • eldavi
    link
    fedilink
    arrow-up
    1
    ·
    21 days ago

    is the syntax the same?

    some common things that have a better version; like sed; are ignored because of licensing and i’m convinced that if the syntax were the same we would all be using it anyways.

    • scratchandgameOP
      link
      fedilink
      Tiếng Việt
      arrow-up
      4
      ·
      21 days ago

      Yes, the syntax is the same. It also support various GNU and BSD extensions.