What can we learn from Hyperbola Linux?

What can we learn from Hyperbola Linux?

There have been 3 topics in which I have examined

  • how to install Hyperbola
  • how to get X windows and a Window Manager running in Hyperbola
  • how to get a Desktop Environment in Hyperbola

These 3 steps are things that are generally taken for granted in most Linux distributions. Why so much difficulty in Hyperbola?

The answer is that there are a large number of packages which are not present in Hyperbola, for reasons related to the philosopy of the Free Software Foundation and the GNU Free Software Movement.

https://wiki.hyperbola.info/doku.php?id=en:start#if_hyperbola_is_a_fully_free_distribution_is_it_following_the_gnu_free_system_distribution_guidelines_gnu_fsdg

So the thing that most characterizes Hyperbola is the list of things that are missing. Lets have a look at these.

What packages are missing from Hyperbola Linux?

There is a full list of available packages here

https://www.hyperbola.info/packages/

and a complete list of packages-not-included here

https://wiki.hyperbola.info/doku.php?id=en:philosophy:incompatible_packages

The missing packages are systemd, dbus, openssl, bluez, xorg, gtk-doc, libcanberra, avahi, zstd, protobuf, libatasmart, java/openjdk, rust, sudo, gettest, mono, nodejs, npm, pip, conan, cargo, flatpak, chromium, qt-webengine, youtube-dl/yt-dlp, electron, midori, gp, cdrtools, kodi, pulseaudio, libhandy, imagemagick, directx-headers, directx-shader-compiler, redis, syslog-ng, libsecret, polkit, udisks2, gvfs, pam, retroarch/libretro, qt-location, php, sbc.

Those are Arch package names, I believe. The full reasons for omitting each package are given in the above link. For nearly all of them there is a reasonable fully free alternative, eg it uses OpenRC instead of systemd, xenocara instead of Xorg, graphicsmagick instead of imagemagick.

To give some idea of the amount of code removed, I recorded the RAM used by Hyperbola and some other distros

Distro Ram Used(Mb)
Hyperbola as installed 76
Hyperbola/IceWM 108
Hyperbola/LuminaDE 145
Antix/IceWM 168
MX21/Xfce 610
Debian12/Gnome 1412
Mint21/Cinnamon 1315

Those are all as installed, without added software. Hyperbola is smaller than Antix, but it is more than 10x smaller than Mint or Debian.

The question of whether Hyperbola can function as a normal desktop with so many things missing has been answered by the previous 3 topics. There remains the question of what is the point of struggling to do things in this totally free way?

The real message behind Hyperbola

If you study the list of missing packages carefully, and look at the reasons, you will find that it is not just a matter of Licencing and Open Source. There are issues of software quality. Many of the packages on the banned list are the result of coorporate projects which tends to introduce unreasonable complexity and to compromise free software goals. Some are languages (go and rust) and some are package managers (pip and cargo) which tend to undermine the integrity of the main Linux package manager.

So what they are saying is that the goals of some of these rejected packages tend to compromise the goals of a fully free Linux or a clean coded Linux, that the implementation is poor quality, and that there is unreasonable code bloat.

So the real message is this. Modern Linux has accumulated a good deal of ‘rubbish-ware’ and it is time to pause development and conduct a ‘pruning’ phase.

The future for Hyperbola

Hyperbola have announced that future releases will use a BSD kernel, instead of LinuxLibre. So we may have our first GNU/BSD distro. That in itself will be interesting, but it does not change the arguments presented above, which are mainly about non-GNU packages, not the kernel.

There is no suggestion that an average Linux user should install Hyperbola and expect it to be better than any other distro. It is not for that, it is for the future.

Links

https://www.hyperbola.info/

https://wiki.hyperbola.info/doku.php?id=en:manual:beginner_installation

https://wiki.hyperbola.info/doku.php?id=en:philosophy:incompatible_packages

https://www.hyperbola.info/todo/xenocara-migration/

3 Likes

Hi Neville, :wave:

what a great summary of your efforts. :+1:

Combined with the links to your previous work on the subject of hyperbola this is a very useful compendium and how-to.

Thanks a lot for your time and work. :heart:

Many greetings from Rosika :slightly_smiling_face:

1 Like

Hi Rosika,
Thank you. It is nice to know someone cares.
I think Hyperbola is like a canary in a coal mine… alerting us to a creeping problem.
Did you notice the ram sizes.?

Regards
Neville

2 Likes

Hi Neville, :wave:

you´re welcome.

Yes, I did. This is really great, especially for me, as I cultivate some sort of “RAM fetish”. :wink:

Hyperpobola - in theory - would be a very good OS for my PC with its 4 GB of RAM.
Antix seems to be very modest in this respect as well. But to beat even Antix…
… that´s to be admired. :smiley:

Many greetings from Rosika :slightly_smiling_face:

1 Like

We need to look closer at Antix. It has some nice features.
You can do Antix in 15 mins… Hyperbola will take you a week or more. There is also Parabola.

2 Likes

Thanks Neville, :wave:

yes, Antix seems inetersting.
DistroWatch even characterizes it as being a distro “From RAM”.

What I don´t quite get is, its release model is characterized as “Fixed, Semi, Rolling”.
So ist ist fixed or semi-rolling, or rolling?
Or are there indeed three alternatives of this OS available… :thinking: ?

Cheers from Rosika

P.S.:

Thanks for mentioning Parabola.

It seems fixed to me… rather like MX… you get all updates (not just security like Debian) but when a new release comes out you need to reinstall ( or inline upgrade).

There are not 3 distros.

2 Likes

Thanks Neville,

fixed seems good.
Sometimes I don´t get the nomenclature used by DistroWatch. Sorry.

Cheers from Rosika :slightly_smiling_face:

I am not sure they even understand.

Hey Neville,
I don’t agree with the sentiment, at least in terms of RAM usage. You have a good argument in terms of Free Software philosophy.

First, RAM is pretty cheap, especially DDR4 RAM. I recently bought 32 GB of it back in spring for like 50 or 60 USD.

Second, while I am glad you like Hyperbola Linux, for most people, this distro would probably not be good enough for consideration. Even for me, someone who likes Linux/FOSS software enough to spend time on this forum, would not ever consider it for anything else than a fun side project to get running.

The reason for this I think is pretty simple: there are a ton of missing features and programs due to their dedication to their goals, as noble as they are. I know you are aware of this, but I am mentioning it to say that some of the extra 1 GB of RAM usage on startup are due to these programs and features that people generally want. That means that this extra 1 GB is not 1 GB of RAM wasted, but being put to purposeful use.

Additionally, in comparison to Windows, Linux’s resource usage is positively tiny. I would say that Linux software, in general, seems to do a good job of managing resources appropriately. Could it maybe do better? I mean, if you put in enough effort you can probably make just about every program more efficient. The question is: is that effort better spent elsewhere? Most of the time, considering how well Linux is already doing in this regard, I have to say yes.

The exception to what I am saying might be SystemD - I am still not sure what I think of it, but it does seem like it would be better if it was at least split up into different programs, if not a several completely different programs.

4 Likes

Hi Jimmy,
Oh yeah, it is not about ram, I was just using ram as a rough measure of the amount of code removed.
Pruning Arch down to 10% of the size of Debian is a substantial reduction.

As you say, even Debian or LM are tiny compared to Windows. The Win situation is impossible…having to buy a new desktop every time they release an upgrade is crazy .
Linux does not want to go there.

I am happy for people to use things like LM or Ubuntu with piles of software. This discussion is more about future development of Linux, and do we start from where we are today, or do a bit of pruning first?

Systemd is an extreme case. I have used OpenRC and Runit and the old SysVinit and to my mind they are all simpler to learn and use. Runit even has a GUI… you can see it in Antix with Runit. I agree systemd should be split up.

There was a Linux Magazine article on runit.
One of the comments was
“I could master runit in half an hour, systemd would take me a lifetime”
That really says it all.

One of the most interesting things I learnt was how much one can get out of a Window Manager, without going to a full DE.

I would not say I particularly like Hyperbola. I enjoyed the challenge, and I learnt a lot about window managers and about pacman. What I liked was the Free Software Dogma.

It is going to be interesting to see what Hyperbola does with a BSD kernel . They already have a BSD version of X11. I think BSD will bring a new simplicity into their distro.

Thanks for the interest Jimmy.
Regards
Neville

5 Likes

Not necessarily the first - there was a hybrid Debian some 10 years ago using the BSD kernel…

4 Likes

Yes. I think there may have been a Gentoo too.
The purists might say Debian is not solely GNU and therefore not completely free. I has lots of non-gnu packages and some of them break the rules.
Example Xorg. Hyperbola uses the OpenBSD xenocara version of X, which is much closer to the original X11R6 we all used to use with SunOS and Solarus.

1 Like

I think I misunderstood what you were saying then, apologies.

I agree - certainly we do not want Linux to be anything like that. I built this computer for Windows 10, and I cannot even say that it runs it well with 8 GB of RAM, at least not compared to Ubuntu. Part of the reason why I haven’t gone back to my Windows 10 side, even after I bought the extra RAM.

I have some interest in trying these - I haven’t done much research. Currently I’ve only used a few Linux distros and they all happen to use Systemd. It does seem that at best, Systemd’s continued development is ill-advised. I know you can make Arch run without Systemd, but Systemd is still the default.

That seems to be the main appeal. And it is cool that it runs as well as it does with those restrictions. But I think its a long way off from being anyone’s daily driver, except maybe the most ardent follower of Free Software philosophy.

I have heard of BSD, but I have never tried it. I am curious too what it will change about their distro. The Linux kernel has a lot of advantages, but simplicity is certainly not one of them. Out of curiosity, Neville, can you use any GPU drivers with Hyperbola? I know the open-source drivers for Nvidia GPUs aren’t ready yet, but AMD GPUs have had open-source drivers for quite a while.

I think its a bit too broad a subject to even make a general statement about. Some software obviously needs some pruning and some doesn’t. Of that software that needs it, some is going to be worse than others (as we previously mentioned, for example, Systemd). Some software probably undergoes regular pruning and some doesn’t as well. If the suggestion is that the decentralized nature of open source software leads to less pruning, I could see that. However, with my experience working with a company, I can also say it is quite rare for that kind of software to be pruned as well, as usually companies aren’t paid for pruning software unless it is really necessary.

I think what would be best, would be to make a list of the most important software that should be looked at - e.g. most people wouldn’t care if like a calculator app is a little inefficient (because it doesn’t use many resources anyway), but even a small gain in efficiency to something core to a distro could have a big impact.

1 Like

Hi Jimmy,
Antix is a good place to try alternate init systems.
You can get it with either OpenRC or Runit.
it is small, and an easy install, and has a familiar Debian base.

True. It might make it in and old PC with limited resources.

Bsd has different filesystems… zfs, ffs, ufs.
You cant have ext.
It also has a different package system

I used it in a VM (virt-manager) , so I avoided those issues. When you look in /lib/firmware in Hyperbola there is nothing there… no binary blobs. The drivers are there… it has amdgpu for example.
I am guessing but I think my amd video card would work but may not be accelerated.

That is a good idea. I might try, although I am hardly qualified to say. Lets see if we can come up with less than half a dozen priority packages for pruning/rewrite.

Cheers
Neville

2 Likes

My personal take is that any decisions about where to go from here should keep in mind the most fundamental of Linux philosophies, “Do one thing, and do it well”. As I learn about systemd and other fundamental components of a GNU/Linux distribution, I see that nearly all of them seem to have lost sight of that philosophy. I want to see that change going forward, if at all possible.

Ernie

2 Likes

Thanks Ernie,
That is indeed an important part of what Hypdrbola is about.
Do-everything packages are a blight. They seem mostly to arise from coorporate projects.
Linux today is not really GNU/Linux
it is GNU/coorporate-addons/Linux.

We truly have lost site of the original Unix philosophy.

It seems to be driven by the assumption that users like to live
inside one piece of software and do everything with mouse clicks. No concept of having a toolbox and putting things together to build an application.

Regards
Neville

1 Like

That’s why I added my 2Cents worth. I want a boot loader that manages the boot process very well and nothing more. I like how systemd manages system services, but If its going to do that I don’t think it should be having anything to do with the boot process, and on Solus (and a few other distros) it does. That should be handled by a boot loader. If systemd wants to be a boot loader, it shouldn’t be having anything to do with managing system services etc. I appreciate corporate contributions but I wish they understood the original Linux philosophy. Maybe that should become a requirement for contributions - do one thing, and do it very well. Our philosophy may even help corporations manage their operations better. After all, one person doing one thing very well would provide an excellent responsibility path when something goes wrong. :slight_smile:

Ernie

Nice thought.
The problem seems to be accountants. The whole idea of management seems to be to get to some production target as soon as possible, then cut off the money drain in that direction. So a programmer has little time for research and planning, and no time at all for cleanup afterwards. The result is code bloat.
The same management style seems to have invaded the scientific research world. The result is a whole lot of trivial results from defined projects, and nothing original or simple or innovative.
Did you see the FOSS news note on Denis Ritchie? We should all be grateful that there apparently once was a time at AT&T when people like Kernighan and Ritchie could be free to innovate. Their C and Unix work is unique. Could it happen today? I doubt it. That is sad.

Unfortunately (because I wish things were different), I agree with everything you’re saying. Since we’re where we ate today, I suppose we have to start from here and try to find ways to make things better. Do you think any corporate developers will read this? I sure hope so. They may be the folks who can make the moves that get us all back to where the original philosophy really means something again . . . or maybe I’m engaging in a pipe dream :slight_smile:

Ernie

1 Like