Showing posts with label Debian. Show all posts
Showing posts with label Debian. Show all posts

September 15, 2025

Kleiner Rant gegen das Linux Mint Betriebssystem

 Linux Mint gehört zu den populärsten Linux Distributionen überhaupt, was die Anzahl der User entspricht. Für einige gilt es daher als Hoffnung um Linux auf dem Desktop populär zu machen und den Market share von Linux gegenüber Windows zu vergrößern. Es gibt jedoch auch einige gravierende Nachteile die im folgenden beleuchtet werden sollen:

Hauptkritik an Linux Mint ist, dass es stark auf den Cinnamon desktop fokussiert ist. Andere Oberfläche wie LXQT können technisch nicht nachinstalliert werden, während dies bei XFCE desktop zwar möglich ist, aber die Linux Mint community davon abrät. Man könnte daher sagen, dass Linux mint weniger eine Linux Distrubution sondern eher ein Linux desktop ist.

Der fokus auf den desktop erklärt auch die scheinbare anfängerfreundlichkeit. Wenn sich die mehrzahl der Fragen im Forum auf den Desktop fokussiert werden andere Themen ausgeblendet. So sind Mint answernder zwar Experten darin was die Layouteinstellungen von Cinnamon betrifft, haben aber wenig Erfahrung im Umgang mit der Kommandozeile oder mit alternativen Desktops wie Gnome. Dies ist keineswegs ein Vorteil sondern es ignoriert einen großteil des Linux ecosystems.

Die Sprache in den Foren ist ein weiterer Kritikpunkt. Dort werden selten technische Themen diskutiert sondern es wird emotionalierste Ausdrucksweise preferiert. Hier mal einige Titelüberschriften aus dem deutschen Linux Mint Forum:

- Akku anzeige Mint spinnt
- XFCE zum Laufen bekommen als Dummie
- zweite Platte einbauen
- der Schlüsselbund tut nicht immer was er soll
- wie kriege ich Dateien zwischen Linux Mint host und Windows 7 VM hin und her?
- Druckertreiber spinnen seit geraumer Zeit

Das gerade Neueinsteiger von Linux auf Problem stoßen in Bezug auf Druckertreiber, Dateiverwaltung oder dem Nachinstallieren von Paketen ist üblich, wenn aber diese Probleme umdefiniert werden in Linux mint bezogene nicht verallgemeinerbare Schilderungen in einer blumigen Sprache dann ist das ein Alarmsignal.

Obwohl der Cinnamon Desktop solide programmiert wurde, ist er keineswegs imstande vorhandene Alternativen wie Gnome oder Lxqt zu ersetzen. Cinnamon ist nur ein weiteres Linux package was man entweder mag oder eben nicht. Wenn man um dieses package herum eine komplette Linux distribution entwirft mit dem Versprechen der Komplexitätsredukation kann das nur scheitern.

Deutlich professioneller aufgestellt ist die Debian Distribution. Diese stellt smätliche vorhanden Linux desktops als pakete bereit und es obliegt dem User davon eines zu installieren. Selbstverständlich erzeugt diese eine erhöhte Komplexität nur diese ist auch bei anderen Software Kategorien vorhanden. So gibt es in Linux mehr als einen Texteditor sondern der Nutzer hat die Auswahl aus mindestens 10 unterschiedlichen Programmen wie nano, vim, geany, gedit, kate und VS Code.

Es kann nicht Aufgabe einer Linux distribution stellvertredend für den Nutzer eine Auswahl zu treffen und die anderen verfügbaren Programme auszublenden. Sollte ein bestimmtes Open Source Projekt eine größere Verbreitung genießen so muss dieses selbständlich in einer Universal Distribution auswählbar sein.

Criticism of Linux Mint

 Linux Mint is frequently discussed Linux Distribution which is sometimes introduced as a beginner friendly version of Debian. Instead of assuming that the user is already a Linux expert, the Linux community assumes, that the new user has a background in the Microsoft operating system and needs a similar experience in Linux.

To verify if this claim is correct or not it a working thesis is presented first which gets explored in detail. The thesis is, that Linux Mint is at foremost a desktop environment similar to XFCE and Gnome. The core element of the Linux mint distribution is the Cinnamon desktop, which is based on gnome2 and was improved with additional programs. What the user gets presented as Linux mint is a certain look&feel of the programs, a task menu on the bottom and a certain file manager with some other utility programs, e.g. for updating the system or change the settings.

It doesn't make sense to describe Linux Mint as a new linux distribution because it has many similarities with existing distributions. For example, the package format apt has its roots in the Debian ecosystem, the kernel if of course the normal Linux kernel and the display manager is the well known x.org system.

A true Linux distribution has its own philosophy and its own package manager. For example the Arch Linux project is working completely different from debian, because its organized around the pacman package manager. 

With the working thesis, that Linux Mint is mostly a desktop environment it possible to judge if the project fits to a certain user. If the user likes the Gnome2 environment and is familiar with some Linux mint enhancement, than he will become a fan of Linux Mint. In contrast, if the user prefers a different desktop environment like XFCE or gnome3, he won't be happy with the Mint project.

From a technical perspective, a debian user can install the Cinnamon desktop in Debian, this resulting look and feel comes close to the Linux Mint distribution which is usually delivered on an entire .iso file. Instead of arguing which of the Linux distribution is the best, the real question is which sort of desktop environment the user likes. There are multiple options like Lxqt, gnome3, KDE, xfce, lxde and so on.

Unfurtunately, this huge amount of choices makes it hard for a former Windows user to become familier with Linux. The look and feel of cinnamon looks very different from Gnome3 which looks completely different from xfce. Even the file manager is a different program and the printer settings are located in another section. Unfurtunately, the prediction is, that future Linux desktops will look even more chaotic with additional forks of existing desktop systems. The introduction of the newly developed wayland display server has increased the amount of choices.

What is missing in the Linux ecosystem is a single one for all desktop system which is highly developed and has accumlated most of the users. Such kind of super-desktop is available for windows users and in the macos ecosystem.

But let us go back to the Linux Mint project. The assumption is, that the visual look and feel of a Linux system is highly important. That means, for Linux mint the cinnamon desktop is the core element and all the documentation and the tools are added to this desktop. The cinnamon desktop has the same pros and cons like other desktop systems. Some user like the design, while other not.

The problem with the "desktop is the Linux distribution" mentality is, that redefines reality and creates a bias. Let me give an example. Suppose the lxde desktop decides to start an entire linux distribution which promotes Lxde as default window manager. The assumption is, that all the users are prefering this single desktop but are discouraged to install alternative desktops like gnome3. Even if some users are prefering such an idea, it won't fit for other users. The better alternative is to see a Linux distribution only as a framework for different desktops.

September 03, 2025

Preinstalled gnome apps

Even there are 100 different Linux distributions available, there are only two Linux desktops available which are Gnome and KDE. Gnome is widespread used and should be explained briefly. It consists of a handful of apps in different categories:

- system tools: archive manager, gnome-disks, file-manager, gedit, terminal, screenshot, system-monitor
- document tools: scanner, pdf viewer
- office apps: video player, evolution e-mail

No matter which Linux distribution was installed on the PC for example Ubuntu, Arch Linux or Slackware, these gnome apps are available for sure. It allows to organize files on the hard drive, create new partitions, create text files, enter commands in the terminal or write an email. These tools are frequently used by the average end user so they are preinstalled on every system.

Of course, all these programs are distributed under a GPL License, which means that they are free of charge and without advertisement. They are nearly error free, because the tools were improved over decades and used by million of users.

September 02, 2025

Secure erase of a hard drive in Linux

Debian based operating systems have a graphical frontend for hard drive manipulation called gnome-disks. According to the selected hard drive, there are different options available in the menu. For older drives there is an option to overwrite a disk with zeros and for more recent drives there is a dedicated secure erase option available. What these options have in common is, that it takes multiple hours for doing so.

Unfortunately, the photorec recovery software is able to restore files from hard drive which was overwritten with zeros. Even if this sounds technically not possible some online forums are mention such kind of behavior. To ensure, that the data on the hard drive are really gone it makes sense to combine a secure erase operation with creating a newly encrypted volume. This ensures, that even photorec can't recover former data.

 The good news is, that Linux user doesn't have to use command line tools for formatting a drive and creating an encrypted volume. Such kind of operation is fully supported in the gnome-disks software. The program is so powerful, that even less known filesystems like F2FS (flash friendly filesystem) are supported which is a great choice for usb thumb drives. Of course, the user needs to interact with the software carefully, because a simple click on a button can shredder an entire disk.

January 05, 2025

Einstieg in Linux Mint

 Als die Ubuntu Distribution ab dem Jahr 2004 verfügbar war, wurde das Konzept häufig als zu oberflächlich kritisiert. Anders als bei Slackware oder Arch Linux brauchen Ubuntu Nutzer nur wenig Unix Kentnnisse zu haben. Auch ein selbst kompilierter Kernel ist unnötig.

Linux Mint kann man als Steigerungsform von Ubuntu betrachten. Zumindest hatten Ubuntu User vom Hören sagen eine gewisse Bereitschaft, sich mit der Open Source Bewegung auseinanderzusetzen und waren vertraut mit einfachen Befehlen für die Command Line. Bei Linux Mint wurde diese Einsteigshürde entfernt und der typische Mint User hat die Command Line noch nie geöffnet und war bis vor 2 Wochen noch ein hartgesottener Windows user. Dementsprechend verläuft der Diskurs in den Linux Mint Foren auch anders als die Threads in den Fedora/Arch Linux oder Debian Foren.

Irgendwelche Anleitungen wie man über die command line auftretende Probleme selber löst finden sich erst gar nicht, weil die Annahme lautet, dass der gemeine Mint User selbst einfachste Befehle wie top, systemctl, sudo oder man nicht kennt. Stattdessen werden die Systemeinstellungen ausschließlich über GUI Tools getätigt, genau wie man es von Windows gewohnt war. Und mit Vorliebe experimentieren Linux Mint user mit dem Aussehen des Desktops herum, das betrifft die Auswahl des Hintergrundbildes, über die Farbwahl bis hin zum Modding des kompletten Erscheinungsbildes, so dass Mint auf einmal aussieht wie das gute alte Windows XP aussieht.

Eine Bereitschaft, sich mit der C Programmiersprache auseinanderzusetzen, um dann aktiv sich in Open Source Projekte einzubringen gibt nicht. Die Mint User haben weder eine mehrjährige Erfahrung mit Linux als Server Betriebssystem, noch mit dem Schreiben von Bash scripten. Sondern Mint User befinden sich gedanklich noch in der Microsoft Welt, wo man auf bunte Menüs klickt, was ein tiefgriefendes Verständnis des Betriebssystems im Wege steht. Es ist durchaus üblich, dass User ihr System soweit kaputt konfigurieren, dass es bereits nach wenigen Tagen nicht mehr ordnungsmäß hochfährt um dann zu behaupten, das wäre durch einen Virus verursacht worden, obwohl es sowas in Linux bekanntlich nicht gibt.

Leider hält das die Mint Community nicht davon ab, ihr zweifelhaftes Nutzererlebnis mit anderen zu teilen und so finden sich in den sozialen Netzwerken zahlreiche Berichte wo Mint auf älteren Laptops installiert wird.

December 03, 2024

Should software be updated?

Before this controversial question gets answered let us take a step back and describe the situation from a general perspective. Software development is usually done in the upstream which is technically realized as a git repository. Multiple software developers are commiting changes to the repository frequently. They are solving bugs, clean up the code and introducing new features. Its not possible to reinvent this workflow because the described combination of programmers who are submitting updates to the git repository is the industry standard.

The only open debate is about how frequently the upstream source code gets converted into binary production ready executable code. This question remains unsolved and its the major cause why so many Linux distributions are available. The first distribution in the ecosystem, Gentoo Linux, assumes, that the end user has a need to compile the code by itself, because his needs are individual. The second distribution, Arch Linux, assumes that the user likes to update the software multiple times per week because this will make the system stable. The third distribution, Debian Linux, assumes that the end user runs a production server which is updated once a month and only security updates are desired.
The simple question is: which strategy is recommended? Nobody knows, and because of this unclear situation lots of opposite Linux distributions and Linux users are available. In general there are two conflicting opinions: rolling release vs. stable release. Rolling release means to increase the update frequency. In the maximum case this is equal to install every day new versions of the packages. The opposite ideology, stable release, means in the extrem case to run an oldoldstable Debian system which wasn't updated since months and some major security updates were skipped because of individual reasons.
Even computer scientists are assuming that the world can be described with Yes and no, True and false, its pretty difficult to answer which of the update strategies is more secure and more recommended. What we can say instead is, that in the reality, the stable release principle is applied in the reality more frequently. Most production servers in the internet are running with a stable release Linux distribution but not with a rolling release system like Archlinux or Debian SID.
To understand the conflict we have to describe how an upstream release gets delivered to a downstream software package. Suppose on day 1 a new version of a software gets installed for the first time on a computer. On this single day 1 the upstream and the downstream is synced perfectly. Both layers are running the same software. A few days later, the git repository in the upstream was modified because of different reasons. And one month later, the upstream git repository was improved drastically because the developers have modified the code. Unfortunately, the code on the downstream layer wasn't affected so the layers are running out of sync. The version in the upstream might be v1.05 but the version in the downstream remains v1.00.
Even without doing something, the out of sync situation will become serious over the time axes. After 12 months, the downstream will run still v1.0 but the upstream has improved the code towards v2.0. This will generate a conflict between the parties. The upstream argues, that the downstream is in charge to update to the new version, but the downstream has no reason for doing so and argues, that he can't update because its a production server with no downtime window.
Resolving the conflict isn't easy. In most cases, the downstream will take a decision. He can update the system in a certain frequency, for example, each month, each year or never. Its not clear what the optimal frequency is and most computers are updated in a different interval. The only thing which is for sure is, that a longer duration between two updates increase the out of sync situation between upstream and downstream.

November 27, 2024

From rolling release to froozen release

 

The archlinux community is convinced that a production server has to be updated once a day. The philosophy behind the rolling release model is to convert new sourcecode from the upstream project into a binary file and use the result on a computer for production ready tasks. The idea is that bugs and critical security issues are fixed always in the upstream and after installing the new version the server will become more stable.
The answer – according to the archlinux project – to every problem in computing is to install the new version as soon as possible. Unfortunately there are some cons available. First problem is that updating the entire operating system every day costs time and bandwidth. Lots of new packages have to downloaded and installed. Another more serious problem is, that from time to time the update procedure fails. That means the newly installed package doesn't work or in the worst case the entire wayland server won't display something on the screen so the user has to debug manually with the help of the forum. These problems are the main reasons why the Arch linux project remains a relative small project. And even Archlinux enthusiasts are shy to use the operating system as a webserver.
The opposite philosophy toward arch linux is of course the debian project which creates a new stable version every two 2 years and then the software version remains the same. Only minor bugfixes and security updates are shipped to the production server. And these patches are mostly delayed so that they can be tested on a virtual machine first. This ensures, that a debian server is always in a stable condition which makes it a great choice as a server and a desktop machine.
There is a third philosophy not discussed frequently in the past which is a froozen release model. Froozen release assumes that even Debian stable isn't reliable enough. The user is forced to install new minor versions every 3 months which includes to reboot the machine for a kernel update. The self understanding of a froozen release model, to not deliver any updates and reduce the amount of updates to zero. Froozen means, that a new operationg system is delivered every 2 years and the duration in between the system never gets rebooted or has to update something.
This implies that at the end of of the 2 years period the user is running outdated and all the CVE vulnerabilites remain unsolved. The open question is, if this model is superior to Debian or not.
From a technical standpoint its the logical improvement over stable releases. The idea is that installing updates is the cause for all problems and only an uptime of 700 days ensures stability.
To make the point more clear we should compare rolling release with froozen release. Rolling release means, that the admin of a server installs updates every day with the pacman tool. In contrast, froozen release means to disable the pacman tool at all and the server works 2 years with the unmodified code. If a security problem was available in the original code, this problem remains open for 2 years.
Its a bit hard or even impossible to verify on a scientific basis which software distribution is more reliable. Even the comparison between arch linux and Debian is highly subjective. Introducing a seldom discussed third distribution into the comparison will make the debate harder not easier.

August 10, 2022

Pros and cons of debian linux

 

Debian is a well known but seldom used Linux distributions. Especially newbies in the Open Source community are preferring alternative Linux distributions like Fedora, Arch Linux, Ubuntu and Suse. To understand the mismatch better why Debian on the one side is great but is seldom used it makes sense to analyze the distribution from a beginner's perspective.
Suppose a computer user has logged into a preinstalled Debian in a computer room at the university or has installed the system in a virtual environment on his home PC. After entering the command “uname -a” the user will notice that not the recent kernel version from kernel.org was installed but only a longterm kernel. The same picture is there after testing out the python3 interpreter. It will shown in the interactive mode that the installed python version is around 1.5 years old and was compiled with the previous GCC Compiler. Even if the user won't need the current software version the impression is, that the system is outdated. In the next step the user will try to playback perhaps a video in the H.265 format which is running fine in Windows and MacOS but in Linux there are some codecs missing.
In summary, the user will come to the conclusion that the distribution is working with outdated software and in addition is not very powerful. So the chance is high that the newbie will deinstall the system and prefer a different operating system. Which is maybe a Linux system but in a different distribution.
It is hard or even impossible to explain to the user why most of software is outdated and at the same time it is the most recent version available. Even if the explanation contains a detail description about the advantage of stable release management and the hint that that the software is working bugfree, the newbie won't agree to the Debian advocacy.
But let us try to take the challenge more serious and explain in a single version why Debian is using outdated software. Suppose, the software installed on the harddrive is never older than 1 week. The logicial consequence is, that the system maintainer has to run a complete reinstall of the software every week. That means, every sunday evening the local adminstrator has to run the update script which will download around 3 GB of new and fresh sourcecode from the internet, is processing all the updates for around 3k packages and then a short function test is made. The overall procedure will take even with a quadcore cpu and a fst internet connection many hours and requires manual intervention. Nobody likes to do so. And that is the reason why Debian is updated only every 2 years in such a way.
It is not possible to deliver an to date Linux distribution which doesn't need to be updated. It is a contradiction and only one objective can be realized. Either somebody can simply work with the system or the user has to manual update the system every week which includes the chance of a reboot failure.
The advantage of Debian over other Linux distribution is especially visible in larger computer rooms which have 30 and more workstations and it obvious for a server system. In both cases the admin of the computer is not motivated to run every week an entire update which includes to download gigabyte of .iso files from the internet and install the packages over the older versions. Such a complicated update should be run only once a year if nobody is using the machines.

November 03, 2021

Upgrade to Debian 11 makes trouble

 

On some blogs in the internet it was suggested that the upgrade from Debian 10 to 11 is very easy. No it isn't. First problem is to fix the /etc/apt/sources.list file. There are different tutorials how to do so. Theuser has to change the name of distribution, but also the URL to the security mirror server. But suppose the user has carefully recreated the file and has run the “apt upgrade” command. What he can expect then is that only the kernel was updated. After rebooting the machine important programs like the e-mail software evolution or the matplot library doesn't work anymore. But at least the gnome environment seems to be stable. So the user will run for sure the apt full-upgrade command but this will make things worse. After the next reboot the icons on the desktop are missing and it is not even possible to start the terminal program. That means a simple attempt to upgrade the operating system has caused a system wide failure.
Only after manual login into a text only session next to the gnome X11 session and updating the system again will solve the issue. After many reboots, autoremove commands and fixing lots of minor problems it is some sort of miracle that the gnome session is running normal. That means the new Debian 11 system is booting and at least major programs like the Terminal and the Firefox browser can be started.
What we can say for sure is that the upgrade to debian 11 is working with lots of trouble and it is compared to Windows 10 not recommneded for beginner computer users. Linux (especially Debian) remains a construction site and the chance is high that after rebooting the machine the user can't login anymore.

July 12, 2021

Will Microsoft take over Debian?

From time to time it is interesting to observe what the Debian community is doing. The upcoming Debian 11 distribution has found many fans and some of the users have installed the .iso file already even it wasn't released as a stable version yet. This behavior is common, because Debian is by far the most reliable Linux distribution and it makes sense that Linux enthusiasts are trying out new versions.
But one thing is new. It seems, that especially since the announcement of the Debian 11 distribution many new users have discovered the Debian ecosystems which were used in the past the Windows operating system. in addition, Microsoft plays a more active role in promoting Free and Open Source software. Similar to google they are explaining on their own website how to download and install a .deb file which contains the latest version of the Visual studio software Visual studio is the most important IDE for creating software under the Windows operating system.
We can only speculate in which direction this development will go in the future. What we say for sure that the former conflict between Linux and Windows has lowered a bit. That means, that at least some users are switching back and forth between Windows and Debian and recent versions of the package managers are making such attempt very easy.
To understand the importance better it makes sense to give some background information about the Debian ecosystem. in contrast to the Windows world, Debian is missing of third party applications. The amount of software (games, applications and edutainment programs) for the Debian operating system is low and even very very low. Debian has not something which is comparable to the Windows store or the Android store. The only thing what Debian users can install on their machine is a small amount of flagship software which is mostly gimp, gcc, apache and libreoffice. If somebody needs more applications he has to leave the Linux ecosystem and has to boot the Windows OS.
This missing software for Linux is the main reason why the market share on the desktop is around 1% worldwide. inventing a software store for Linux which provides thousands of games and desktop applications is equal to make Linux great again.

April 27, 2020

First look into Debian 10

Debian 10 was released in mid 2019. Installing it on a virtual machine make sense, but the more interesting idea is to install it on a phyical notebook. I have done so and it works reasonable well. The most obstacle was the installation proecudure itself. After booting the USB stick, the user has the choice between a Gnome based installer, a graphical installer and a text install. I have choosen the graphical installer but it was a bit complicated to browse through the options. After a bit reading the manual an installation was possible, but especially newbies will find the installer difficult to use.

The more elaborated way is the modern gnome based installer. Which works better but needs more system ressources. In the next installation it is the better choice. After the system was installed on the PC the first bootup was using the wrong graphics settings. The user has to manual install the non-free driver which fits to the graphics card. Selecting the correct package has to be done manual. That means, the user has to know that the resolution problem can be solved with a non -free driver and then he has to read the wiki section to identify which driver needs to be installed. Similar to the installation software this step is a bit hard for newbies.

After mastering the step the system runs great. All the programs are available which means that firefox, Spreadhseet programs, python 3 and all the other open source software runs out of the box. The system requirements are on the same level like in Fedora and Arch LInux, which means that an idle PC will need around 2 GB of RAM and the Debian OS occupies around 15 GB on the harddrive. Compared to early Linux systems for example slackware the hardware requirements are high, but in comparison with Windows 10 it's a midsize system with moderate requirements.

What is important to know that before the user will accept the Debian philosophy he has to understand the advantages of a stable system over a rolling release distribution. If the user isn't familiar about the details of git branches and how a stable branch is monitored for security issues, he won't like the Debian philosophy very much. The reason is, that a short look into the version history of all the software will show, that Debian is outdated. Firefox is obsolete since 6 months, the Linux kernel is an older one and Python is not the current version.

The main advantage of Debian over other Linux distributions is, that all the Debian users have installed the same software. On 2020-04-27 it Debian 10.3 which means, that the user will need for exactly this version a handbook, security patches and updates. This makes it more likely that after installing an update the system will run without interruption. In contrast, the situation at Gentoo Linux and Fedora is, that every user has installed a slightly different Linux system which makes it hard to trace errors back. Therefor, Debian has much in common with Windows 10 in which all the users have installed the same version. This is important to blame the right opponent. That means, if the user has installed Debian 10.3 already, and something isn'T working it the fault of the Debian project but not of the single user.

April 25, 2020

Debian Release management

A short look into the Debian release schedule https://wiki.debian.org/DebianReleases provides helpful information for the endusers. In general, each version is maintained for 2 and a half year which means, the user has to install the Operating system once and can use it very long. If the 2.5 years are over the user can update to the next release with a simple command line. This brings the user in a very comfortable situation.

What is not answered in the release chart is how to program all the software. The Linux operating system contains of hundreds of programs and it's unclear how these programs are working together. From the users perspective this is a mnor problem, but it's up to the developer to program and test the code.

Perhaps this is the most obvious difference between Debian and other operating systems like Arch Linux. In Debian there are two conflicting social roles: normal users vs. developers. The social role of the user is installing the software and then it is using all the code without doing anything in return. While the social role of a programmer has to do with fixing issues, compiling sourcecode and monitor security issues.

The simple explanation is, that two conflicting roles are equal to a professional Linux distribution. If a linux distribution has only one role which is the developer, it can't be called a serious distribution. A wrong assumption is, that the conflicting roles are only available in closed source ecosystem in which the user has to pay 100 US$ for the operating system while the other side takes the money and programs the code. The surprising situation is, that the same social roles can be imited in the Open Source world as well. The idfference is, that Debian users aren't paying money. The result ist, that the quality of the software is lower. The latest Debian 10 software has a weaker quality than the latest Windows 10 version. In Windows 10 the graphics card is working better, the PC needs less energy and the installation works more smooth. These disadvantages have to be accepted by the Debian users because they get the .iso file for free.

The advantage of Debian over other LInux distributions like Gentoo, OpenSuse and Fedora is, that in Debian it's possible to become a normal end user. An end user is somebody who doesn't write sourcecode nor he fills out bug reports, but he is using the software. Very simlialr what most users are doing with Wikipedia. They type in the adress into the URL bar and read the content which was written by other.

Most Debian experts are arguing that their operating system has a greater stability than other linux distributions. What are they talking about? A naive assumption is, that stable means, that the software is secure or has no bugs. This is only partly true. The current Debian 10 stable has a lot of security issues, and some minor bugs too. What stable means more concrete is, that the development is done in a stable branch. That means, Debian contains of a unstable branch and a stable branch. The existence of a stable branch allows to publish longterm versions which are running 2.5 years on the computer. In contrast, Linux distribution which are not stable like Arch Linux or Fedora need to be updated once a week and in case of doubt, the system won't boot after the update.

The term stable is referencing to a publishing schedule in which every 2.5 years a new release is available and during this period the user is running the same version on the computer. The stable branch is a technique to provide this release schedule.

April 24, 2020

Understanding the concept of Longterm releases

In the Open source software development model there are long term stable versions available. For example Firefox ESR, Debian stable, Ubuntu LTS and Linux kernel LTS. What most users doesn't know is what the difference is to the normal version. In most cases, the long term version is older which means, it is not the latest update but its outdated. If the aim is to update the system to the latest sourcecode, LTS versions doesn't make much sense. On the other hand, Firefox ESR and Linux LTS are available as an option so why are LTS versions are available if they are a poor choice?

To understand the situation we have to take a look into closed source software development. All the commercial software is published in long term version. The Windows XP Operating system is available only in the LTS version, the same is true for Windows 10, Mac OS X and so on. The most obvious difference between a rolling release and a long term release version is, that in the LTS version some components are missing. That means, the Firefox ESR browser is a feature reduced version of the latest Firefox browser. If the normal Firefox software has a menu with 10 menupoints, the ESR version is equipped only with 8.

The decision pro or against a LTS version has to do with the missing features. Its the difference between 8 menupoints and 10 menupoints. From the development perspective the interesting question is, why are the missing 2 menupoints not available in the LTS version? It has to do with stability. Improving a software with additional features needs a lot of work. If the manpower in terms of programmers is small, it will take some time until the missing 2 menupoints are added.

All long term versions have in common that with a time delay all the missing features are added. If the endusers waits a bit, the imaginary Firefox ESR version will have 10 menupoints too. The only question is how long does it take. In most projects, the time gap is 1-2 years. That means, the developers have programmed all the 10 menupoints already, but they are only available in the trunk branch but not in the production version. If a software contains of a long term version plus a trunk version at the same time it's a positive situation. It means, that the development team is improving the software and another team is testing the changes for stability and security. On the other hand, if a software project contains only of a trunk branch and doesn't offer a LTS version it's a toy project. That means, the software is programmed just for fun but isn't used in reality.

Let us analyze this hypothesis in detail. Suppose a development team is trying to improve the security, the stability and the amount of features in a software. The only way in doing so is by creating additional branches. One feature branch, one security branch, one stable branch and so on. After these branches are created a time lag is the result. That means, the security team will analyze version 1 of the software, but the feature team is implementing version 2 of the software. The security team is testing something different from the development team.

Let us imagine, the software project contains of a single branch which is called trunk. It is not possible to establiish a quality control on a single branch development model. The reason is, that all the latest updates are commited into the trunk branch and it makes no sense to ask if a certain version is secure. Because the version is changing twice a day. The result is, that a trunk-only repository isn't tested for stability nor security. Instead it's the development version which isn't recommneded for productive usage.

Let us investigate why some software projects have no long term version. The reason is, that the software developers want to minimize their effort. Its a one man team or a two man team which is programming the sourcecode. No quality control is available. Such a software development cycle isn't used for commercial software. Because most customer are paying money for the software and in return they are expecting a high quality. Only open source developers are bold enough to publish the trunk version of the software.

Point releases
Software development consists of two conflicting roles. The end user of a software likes to install the program on the PC, needs a documentation, and is interested in a bug free system. The needs of the software developers are the opposite. A software developer likes to modify the code twice a day, he is testing out new modules and he doesn't like to waste his time in writing a documentation.

Two conflicting roles means, that if the end user is happy, the developer isn't and vice versa. It's only possible that one social role in the game wins. The reason why long term versions were invented is to fulfill both needs at the same time. Let us first describe the end users perspective. The end users is downloading the LTS version of the software. This version is bug free, is well documented and runs out of the box.

From the developer perspective the LTS version is useless. The developer has no need for a documenttation because he has written the sourcecode himself, and he has no need that the software can be installed easily, because he compiles the sourcecode from scratch. What the developer is prefering is a trunk branch in which new commits can be applied. Because of the different needs, there are two versions of the same software available. The LTS version which is adressed to the enduser, and the trunk version which is the playground for the developers. Between both versions, there is a time lag. That means, they are out of sync. This allows that both social roles are happy at the same time.

Switching to Debian isn't easy

After experimenting with the Debian 10 operating system in a qemu enviornment, i have decided to install the software on a physcial machine. Unfurtunately, the installation menu was a bit complicated. First thing to mentioned was, that the touchpad wasn't recognized, so all the settings has to be made with the keyboard only.

Second problem was that after the first boot up the display resolution was wrong. Only a vesa mode was shown which was below the normal resolution. After experimenting with different grub settings (none of them are working) the answer was hidden in the debian wiki https://wiki.debian.org/AtiHowTo What the user has to do is to install a non-free AMD graphics driver. After the next bootup the normal display resolution is shown.

It's unclear how other Linux distribution are handling the situation. Perhaps they are installing in the background the non-free package and doesn't ask back. So nice, the resolution is now improved.

One thing which isn't working yet in debian is the edge scroll of the touchpad. It seems that with the new wayland display manager the settings aren't recognized. Perhaps it's possible to find a workaround or in the worst case the touchpad is working below their optimal quality.

Let us describe a unique feature of debian which has to do with installing outdated software. The standard webbrowser in Debian 10 is Firefox 68.7 ESR. In contrast to the normal Firefox software, this version was released in 2019 and then it was improved slightly. So what is the difference? The interesting situation is, that for most users the ESR version makes more sense. The story told in the version history looks predicatable. That means, a year ago the software was programmed, and then it was improved by security updates.

Now it is possible to compare this story with the trunk branch of Firefox and Chrome. In the trunk branch the story is, that the user has to check twice a week for an update, and if an improvement is available he has to install the latest version of Chrome within 24 hours, otherwise the system becomes vulnarable to attacks. Or let me tell the story a bit different. Suppose a user has installed the latest Chrome browser and hasn't updated the software since a week. From the perspective of the Chrome development team, the user has made something wrong. He was adviced to check for updates twice a week, he wasn't doing so, and as a result the user has made mistake.

Rolling release webbrowser are blaming the user if the system becomes vulnarable. In contrast, Longterm versions like Firefox ESR are blaming the upstream. That means, if something with the Firefox 68 ESR is wrong it's up to mozilla to fix the issue. And if Mozilla isn't able to fix the problem, the next question is why does a certain compoenent was introduced in the ESR version which needs so frequenetly an update?

Touchpad in XFCE4

After playing around with a different display manager the problem with the edge scrolling has been solved. In XFCE4 the touchpad can be configured differently than in gnome. Which allows to even scroll the content on the screen with the touchpad itself.

February 24, 2020

Comparison of RHEL with Debian

The Red Hat based Linux distribution has made everything right. They are earning money by selling the software to large companies, they have a free version Fedora distribution to offer which demonstrated the power of Linux and they have a professional community who is well organized. They are maintaining the issue tracker and fix all the bugs.

In contrast the Debian ecosystem is working quite different. The annual conferences are the pure chaos, the Debian software isn't working as expected and they have too much packages in the repository. One of them is fuzzylite, which is a C++ library for creating Fuzzy logic applications. This kind of package is no longer needed, but it seems that the Debian community has a different point of view to this problem.

In general we can say, that Fedora is a here to stay, while Debian blocks the Linux ecosystem. Without Debian, Linux would become a success on the desktop. It seems, that the combination of a non commercial project plus a stable release distribution isn't the best choice. The problem is, that it's not possible to argue against Debian instead the project should be ignored completely. After a while the users will recognize that Fedora is much better than Debian.

The problem with Debian is, that they the community is convinced that they are part of movement. Debian is arguing against Red Hat.

February 21, 2020

Why Debian is better than Arch Linux

Debian Linux increases the gap between upstream and downstream. This become obvious, if an upstream developer tries to submit the latest version of his sourcecode. The debain maintainer prevent him for doing so, because only security fixes are applied to existing debian installations. In contrast, the Arch Linux distribution works very close with the upstream. After starting the package manager the upstream sourcecode gets compiled into the latest Arch Linux binary file.

The obvious question is, why should somebody increase the gap between the upstream and downstream? Because it can be filled with a community. This community argues for the Linux distribution and against the upstream. The result is a long running debate held on conferences in which the aim is not to solve conflicts but to increase the misunderstanding. The principle is known from Wikipedia in which all the editors are in a permanent conflict with the admins. The opposite social roles is the strength of Wikipedia and of Debian as well.

In the Arch LInux distribution such a community isn't available. Instead the pacman software is connecting the user with the upstream releases. Pacman doesn't understand English and he won't recognize that the latest kernel will introduce new security problems instead of solving the old ones. Only the Debian community is able to do so.

February 16, 2020

Debian is dead

The amount of subjectives judgements about Debian is high. The problem in the past was, that no alternative was available and the arguments were not based on academic standards. A user from the docker community has changed the situation and published a paper, in which a newly developed tool was used to scan docker images for security problems.[1]

Especially debian based images were scanned and lots of unfixed security problems were found. Nearly 100% of the debian docker images which are hosted in the cloud are vulnerable to attacks. In the same paper a possible alternative was mentioned, which is Alpine linux [2]. Alpine linux is different from Debian or Fedora and was developed with a docker container in mind. It's a security hardend, slim down version of an operating system and runs in the cloud but also on a rasberry pi computer.

The study [1] has shown very concrete what the problem with debian is. According to the debian manual, a typical websever has a debian sticker on the front panel, consists of a CD-ROM drive and minor updates are left but only important updates are installed every 6 months. This kind of description was correct in the early 1990s but fails to describe the current situation. Basically spoken, it make sense to argue against Debian, and the only thing which is important is to bring the argument on an academic level.

[1] Zerouali, Ahmed, et al. "On the relation between outdated docker containers, severity vulnerabilities, and bugs." 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER). IEEE, 2019.

[2] https://nickjanetakis.com/blog/the-3-biggest-wins-when-using-alpine-as-a-base-docker-image

February 14, 2020

Github has replaced debian

The first debian release was published in 1993. In that time, the github repository wasn't available. It was founded in 2008. Let us imagine who bugtracking and patch submitting was handled by the Debian community before the advent of github.

Suppose, a user has identified a bug or a security issue in one of the debian packages. What he needs is a higher instance to report the error. This is equal to the debian mailing list. The maintainer who is receiving the bug has access to the sourcecode because it's stored in the debian repository. So the maintainer can take a look into the code and create a patch. Then the patch is submitted to the upstream.

Bascially spoken, Debian was a manual version of the github repository. It was a layer between bug reports, patches and the sourcecode. Since the year 2008 the github project was available. The consequence was, that the debian layer was no longer needed. A common workflow which includes github is working the following way: the user sends the bug not to the debain maintainer but creates the ticket in the github repository. He has also access to the sourcecode and the user can checkout the code and create a patch.

The interesting feature is, that github doesn't need human intervention but it's working with commands like git clone and git commit. Basically spoken, github has replaced debian.

The consequence was, that from 2008 on many so called rolling release distribution have become popular. The famous one is Arch Linux. The interesting point in Arch Linux is, that the users are not sending bugs to the Arch Linux mailing list and they do not sending patches to the Arch Linux team. If they find a bug or like to fix a bug, they will submit the commit direct to the github repository.

Or let me explain it the other way: Suppose, there is no github website available. Then it make sense to invent a debian like distribution which is based on bugtracking, stable releases and maintainers. Not Red Hat has killed debian but it was github. The thesis is, that the github website acts as a Linux distribution.´ There are places for the x11 sourcecode https://github.com/mirror/libX11 and the geany texteditor https://github.com/geany/geany If the process of bug creation and patch creation are handled by the git tool and the github website, the amount of work located in the linux distribution itself is lower. A rolling release distribution is doing nothing else than taking the latest github sourcecode and compiles this into a binary file. All the communication between users, maintainers and upstream is handled on the github platform but not within the debian distribution.

The funny thing is, that Arch Linux and other distribution are stable release distributions as well. Stable release means, that the code was freezen at a point in the past and then only security bugfixes are provided. The feature of freezing the code is called in the github website “creating a new release”. The github owner is allowed to copy the code on a certain time into a zip file which has become a stable version. This stable release of the github repository is used by a linux distribution to compile the sourcecode.

The funny thing is, that github is not only a website but they are creating conferences as well. In the year 2000 the debian maintainer has meet each other at the debian conference and in the year 2017 they are meeting each other at the github universe conference. Bascially spoken, github has become a universal operating system which bridges the users, developers and maintainers from different operating systems like Linux, Apple, Windows and Android.

According to the latest stats, the debian community consists of around 1000 developers worldwide plus a large userbase which goes into millions. And the github community contains of 40 million users, 100 million repositories and nearly all the programmers in the world.

What's wrong with debian 5 lenny?

Debian 5 lenny was released in 2009, which was 10 years ago. A short look into a screenshot will show that the Linux desktop looks very similar to a current desktop. Instead of ext4 the former filesystem was ext3 which was working great too. So what exactly is the difference between Debian 5 and Debian 10? It's the same operating system, only minor improvements and security issues were fixed. Apart from the security topic, the average user can work with Debian 5 lenny very well. He won't miss anything. All the programs like webserver, gimp, webbrowser and OpenOffice were available 10 years ago.

The good news is, that most LInux user have updated their system because it costs nothing. So there is no problem with outdated Debian 5 workstations who are vulnerable for security issues. The problem is, since the last 10 years no improvement is visible. That former story of highly innovative software development is broken.

To understand what is different we have to take a look into the past. A computer in the year 1980 looks very different from a computer in the year 1990. In the year 1980 no software was available and textual interfaces were the only choice for the user. While ten years later a large amount of software plus graphical user interfaces were the standard. I would go a step further and compare the year 1990 with the year 2000. The difference he was that the price was lower. A typical computer in the year 1990 costs a large amount of money. The price for the average workstation was similar to buying a car. While in the year 2000 the same computer system was sold in mainstream computer stores for low amount of money. That means, the customer has seen a large improvement and the story of a highly innovative computing industry was valid.

This plot is broken since 2010. It was no longer possible to provide an added value for the customer. Today's computer are looking the same, and cost the same like computers ten years ago. The improvements are nearly invisible. And in most cases, the consumers are rejecting the improvements at all. One example is the introduction of 3d desktops which is possible with today's computer but all the customers are prefering normal 2d desktops because they run faster.

So the question is, what are the future plans of the PC industry? Are any improvements plans which makes the computer in ten years from now an highly advanced system? No such things are available. The PC industry which includes hardware and software companies are done. They have made their homework and the market is saturated. That means, the PC industry has built over night in the 1980s the market and now the situation is relaxed. Innovation means, that something is different from the past, and this is no longer the case.

PC companies are similar to the car industry an old buisiness. They have developed their workflows, they are producing a high quality and they have no need to reinvent themself.

The last big attempt of the PC industry to develop a new product was the iphone from Apple. The idea was to provide to the customer something which is new and which makes sense for him. The first iphone was released in 2007, which was 13 years ago. Since then the PC industry has failed to develop any new kind of products. The problem is, that technology can be invented only once. If somebody has programmed an operating system and manufactored a cpu already, it's not possible to promote this technology as something which is new and exciting.

The question is what will comes next after the PC industry? The first thing what is needed is the self-description of software companies that they are done. The products they are developing are known and they are products are very similar to what was available 10 years ago. In some niches like the programming language C/C++ the software is the same since 30 years. That means, the first C++ compiler was invented in the mid 1980s and since then the C++ language was used. Pretending that the next iteration of the C++ compiler will revolutionize the PC industry makes no sense.

Instead of describing the situation too negative. It make sense to see the positive sides. The PC industry has developed affordable computer technology for the masses. The internet has replaced former television and radio networks and the normal user is invited to become owner of his own youtube channel online. Thanks to search engines he has access to more information than in the past and a modern PC needs less energy than a light bulb. It's not the fault of the PC industry that they have done everything right. The problem is, that the world is different than in the 1980s. There is no need to program software or invent a 32bit cpu. Because these tasks are solved already.

Let us describe a well known phenomena. A user in the year 2020 comes to the conclusion, that he likes to reinvent the PC industry. He is programming his own operating system and build in the fpga device his own CPU. The result is software and hardware which is not new but is repeating the tasks from the past. If the user has made everything right, he has invented his own 16bit cpu whicn can run his own MS-DOS operating system. This is not the future, but it's learning from the past. It's similar to playing a game, if user is already familar with the game. He knows what is needed to solve the puzzle.

The interesting point is, that larger parts of amateur tech-enthusiasts are operating under this mode. 90% of the questions on Stackoverflow are about issues which were solved already. The users are solving problems from the past because they want to feel good. What the users are not doing is to solve more complicated tasks which are not researched very well. The reason is, that complicated tasks are resulting into failure and this is equal to frustration. Frustration is something which holds programmer down and it doesn't fit to their self-awareness of a competent programmer.