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

  • scratchandgame@lemmy.mlOP
    link
    fedilink
    Tiếng Việt
    arrow-up
    4
    arrow-down
    1
    ·
    edit-2
    23 days ago

    I will change it to “licensing reason”. Thank you

    But the software you listed are used by many peoples. bc-gh is robust and performant, GNU bc is not actively developed, and benchmark shows that it is clearly slower than bc-gh in most case. But in most distros bc-gh is not available.

    • NateNate60@lemmy.world
      link
      fedilink
      arrow-up
      9
      ·
      23 days ago

      Did any distro give concrete reasons for why they have actively chosen not to package it, or perhaps they just haven’t given it much thought yet?