this post was submitted on 03 Nov 2024
-15 points (22.2% liked)

Linux

48185 readers
1107 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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

top 15 comments
sorted by: hot top controversial new old
[–] [email protected] 14 points 1 week ago (1 children)

This is not what I would consider a "political reason". A political reason would be something like refusing to package it because of what political party Howard supports.

There is plenty of software you'll find in these repositories that aren't under the GPL. CMake uses BSD, the Apache web server uses the eponymous Apache license, LibreOffice and Firefox use MPL, Godot and Bitcoin Core use the MIT license, and I'm sure there are plenty of other software licenses that I haven't thought of yet.

[–] [email protected] 3 points 1 week ago* (last edited 1 week ago) (1 children)

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.

[–] [email protected] 9 points 1 week ago (1 children)

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?

[–] [email protected] -4 points 1 week ago (1 children)

perhaps they don't care about bc. I think they don't even notice that GNU bc haven't been updated since 2017.

[–] [email protected] 14 points 1 week ago

"perhaps" "I think"

In short you've got no clue.

[–] [email protected] 9 points 1 week ago (1 children)

Seems like a whine, bc is an interactive tool and it's unusual to use it for anything where its response isn't instant.

GNU bc is one of the oldest GNU tools and it uses an MP library that RMS banged out in an afternoon or two, I think. It could probably be adapted to use GMP which is very high performance.

Preferring GPL to other licenses seems fine with me, unless I want to work for Amazon without getting paid.

[–] [email protected] -5 points 1 week ago* (last edited 1 week ago) (1 children)

GNU bc is unmaintained for years. The latest version is from 2017. It don't have a repo or a mailing list.

bc-gh started in 2018 and it is still actively developed. It is adopted by many projects I've listed in my post.

[–] [email protected] 17 points 1 week ago

Does gnu bc have outstanding bug reports? If not, it doesn't need updates. Its spec was frozen 30 years ago, more or less. Rather than unmaintained, I'd call it maintenance-free. BIFL software as it were. Sounds great to me.

[–] [email protected] 1 points 1 week ago (1 children)

No offense but your post sounds like chatgpt

[–] [email protected] 2 points 1 week ago

There are errors in my post, so it must not be chatgpt ;)

[–] [email protected] 1 points 1 week ago (1 children)

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.

[–] [email protected] 4 points 1 week ago

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

[–] [email protected] 0 points 1 week ago (1 children)

This has been the story of Linux since the 1990s.

BSD does the same thing. They famously stuck at the gcc 4.2 series about a decade too long because of licenses.

Nothing new under the sun.

[–] [email protected] 1 points 1 week ago

But there are technical reason too. IIRC, gcc > 4.3 drop support for some architecture?

[–] [email protected] 0 points 1 week ago

I wish you luck with your campaign!