Trafficshaping in Fedora

At first we need to know, which network interfaces are available: ifconfig. Then the throttling is activated: sudo wondershaper enp9s0 400 800 The first value is the upload speed, the second the download speed. In some older tutorials the values are different. If we want to remove the brake, the following command is right: sudo wondershaper clean enp9s0

The change is not permanent, only for the current session, on the next bootup, the normal values are used. The main purpose is, to consume less bandwith. The effect is for example, that youtube loads very slowly and uses only the lowest quality. It helps to consume less download bandwith. The values are given in kbit/s but they are not reached exact, it is only per average.


Fedora as a professional operating system

At first I want to introduce the opposite, a consumer operating system. That is software which is used to play content already there. The iOS system for iPhones is a good example, or Windows 10 for a PC. The main idea is, that the user can install a game or an application from the app-store and this will fit to his needs. Also the playback of youtube content and podcasts is possible. For 99% of the users, Windows 10 and iOS will satisfy their demands and there is no need to switch the operating system.

A professional operating system is used to create the content. It is used by musicans, programmers, engineers and video artists. Fedora is a professional operating system. Explaining the usage is a bit complicated. In most cases the user has to learn something otherwise the result is not possible. A web developer would perhaps install the Apache webserver plus the PHP suite for running a backend application. A java programmer can use Java 8 together with Eclipse for programming sourcecode. And a video amateur can install Kdenlive (which is not available in the package manager) to create extensive movies. That sounds not like fun, but like demanding task? Yes it is, that is they reason why 99% of the users, stay on the user side and will never get interested in Fedora. For the rest, it is the perfect choice. For example, if the video professional has a bigger file and realizes his need to use an external harddrive with 5 Terabyte for storing a raw file. With Fedora no problem. He plug ins the harddrive, formats it with ext4 and thats it. He will never get any problems with it, and work the next 2 month with this setup until his important video is ready.

A game designer can install Box2d plus C++ and will get a perfect development system. He can invest years, until his program is done. In all of these cases, Fedora is used as a tool, like a typewriter for an author. Apropos typewriter: if somebody want’s to try out Lyx … Fedora is also the perfect choice as an underlying system.

I wouldn’t call Fedora a PC operating system, it has more in common with a workstation. That means it was designed for 24/7 work on the computer making content available. The main problem with Fedora and other workstation OS is, that at the beginning the author starts from scratch. After booting up the system there is no video or textfile, and the author has to make something until he can see it. Sure, it is possible to use Fedora as a consumer PC, for example for playing a song or a video. But in reality, it doesn’t work quite well. The mp4 format can not be played by default. Most Windows games will not start, and Wine has problems to run a modern Windows application. If the user identifies themself as a user, then Fedora is the wrong choice. He will not has any advantages over iOS or Windows.

Welcome Fedora 28

A new version of the best operating system is out there. It runs on PC and Mac, it runs on expensive PC but also on a 300 US$ netbook. It is called Fedora 28, was programmed by Red Hat and the main feature is a package manager which give the user access to many thousands of Open Source software, for example Chrome, Lyx, C++, Java and LibreOffice. The only point in which Fedora 28 is weak is gaming, the Steam client is technically available in the package manager, the wine program to play old Windows games too, but in reality nobody is using it. The reason is, that modern games are running better in Windows directly. But for everything else from playing Games like Webbrowsing, programming and desktop publishing the Linux-like operating system works great. There are no known problems with malmare or security problems and a powerful bash-shell is supported out of the box.

The best feature is the price. The software costs not 200 US$, not 100 US$, it is provided for free. No, it is not a joke, the Fedora 28 iso file can be downloaded without any costs from the internet and get’s regular updates for improved stability. The business model is called freemium Open Source and has as a longterm vision to change the software-industry and make advanced software global available, especially for countries which are focussed on low entry costs.

tool of the month: gst123

The program gst123 is not known in mainstream computing. It is available in the fedora repository and is a video player like mplayer but uses not it’s codec but the GStreamer one. But let us go a step back. Podcast player for the GUI are many available in Linux for example Rhythmbox. The problem is, that they are complicated to used. They have to much buttons and it is unclear how to create a playlist. The better idea is to use a commandline player. Here we can give the playlist as a textfile and seeking forward and backward can be done with cursor keys. All this is provided by gst123.

The nice thing is, that it is no longer necessary to download physical a podcast to a pc instead a command like “gst123 https://url” is enough to play the file remotely. If we are jumping 10 minutes forward the duration between them is not beeing downloaded, which saves download capacity. Overall, the tool is very useful, +1 from me.

How does Red Hat earn money?

The first impression is, that the business model of Red Hat makes no sense, because they are posting new developed sourcecode to the internet for free. How does the model works financially? Open Source software is not grouped around a product, for example a box with a CD-ROM in it, instead is build on companies. On the market, we see companies like IBM, Intel, Red Hat and Apache. For example, Red Hat has 10k employees, they get their paycheck from Red Hat Inc. The question is now: where get the company Red Hat the money from? Red Hat is comparable to a staffing firm like Manpower and Adecco. That means, they have employees which they are train, support and selling to the public.

I want to give a small example. Suppose, we want to have Linus Torvalds as a speaker for a conference. We are not talking to Linus directly, but to Red Hat, because Linus is the employee of Red Hat. We are paying money to Red Hat, and Linus comes to us. Or suppose, we want that Alan Cox creates a new cpu scheduler which supports hardware invented from Intel. Then the game is the same.

What is the alternative to use a staffing firm? Intel may have the idea, that they need somebody who is writing kernel code in C, and the name Alan Cox sounds familiar to them. They want to hire Alan Cox permanently. But it is not possible to make a contract with him, because he is employee of Red Hat.

Open Source works like a staffing firm for producing intellectual goods. It is a contract over many edges which increases the freedom of the stakeholder. Earning money is possible, because the different people are doing work and demand for work. Again, it is not about the Linux product, it is about the invested time of the programmer and the demand for that time from the customer.

Founding an opensource company is equal to become a hub for work distribution. Red Hat doesn’t produce software, they are pairing between software developer and companies how need software developer. On a formal level, Linus Torvalds gets his paycheck from Red Hat, but in reality he is an employee of Intel, IBM, Apache, Oracle and most other tech companies. Red Hat is a laborlaw construct for getting all the different customers satisfied.

Let us observe the founder of Red Hat, Bob Young a bit in detail. Is he only a programmer, is he only the CEO of a software-company, is he only a lawyer? What Bob young really looks like is the boss of an staffing agency. That means, he is not interested in products or technology but in people. He knows, which companies have a demand for programmers, and he knows which people can fulfil the demand. Bob Young sits in between them.

Red Hat – the unknown Linux distribution

Even after writing some papers about Red Hat [1] [2] the distribution itself is a mystery. The first impression is, that RHEL is simply yet-another-linux-distribution. It has the Linux Kernel, the Gnome GUI, and programs like GCC and Java. But something is special about it. I would call it the collective ignorance of the so called community. The community is the sum of weblogs, online-forums, podcasts, magazine and dedicated Linux conferences. Let us investigate hundred, random selected podcasts about Linux which has the newbie or the expert user as the target. The surprising fact is, than in 99 of them any other Linux distribution like Ubuntu or Gentoo is presented but not Red Hat. Red Hat is in the contrast the big elephant in the room who is ignored by everyone. That means, it is hard to find information about it. If we are searching not explicitly for the new version of RHEL, we can be part of the Linux community for many years without even notice it.

Why is RHEL special? The reason number one is, that it is not used by private users. Red Hat earns money with Linux, around 2,4 billion US$ per year. If the ordinary customer pays 500 US$ per year per RHEL PC, than the operating system is installed on 4.8 million PCs worldwide. Most of them are servers and workstations in big companies. The operating system is out there, it works great, but it is unknown by private users.

The typical Linux beginner is migrating from Windows to Linux because he wants to surf in the internet, improve his programming skills and likes games. So the natural choice is Ubuntu or a similar distribution. That RHEL is not on the list of favourite operating system for home-users is not very surprisingly. If the media doesn’t promote it, the end-user will not use it.

In my opinion the imbalance of public reception and the technology itself is a sign for an information gap. That means, RHEL is well suited for the Linux beginner, it is only uncommon. In reality, the newest version of Fedora is well suited for installing the chrome browser, Opensource games, and every programming tool available for Linux. The reason is, that the distribution is very stable, the dnf-package manager works and the system gets the latest security patches. If Fedora is bullet-proof for business needs it is also the right choice for amateurs users who want to have fun with their machine. The only problem is, that this usage scenario isn’t very widespread. That means, I have found no podcast, no blog or no book which describes “Fedora for home users”. RHEL can be called an elephant without any advertisement. It is unexplored land.

But what makes Fedora special from all the other Linux distributions? The main difference is, that RHEL is not for free. That means, if somebody wants to use the software daily for his business he must pay real money. According to the latest pricelist it is 350 US$ per year for the workstation version and 700 US$ for the server version. In my opinion this paid-model is the reason why the Red Hat distribution is superior. Because it is a serious distribution, which is not programmed by enthusiasts or people who hate Microsoft, but by a company who has financial interests. On the first hand this sounds familiar with Microsoft. But Red Hat is different. Apart from the EAL4+ certified RHEL version, there is also the Fedora community distribution out there which has all the feature but can be downloaded for free. And apart from Microsoft, the software-development is done inside opensource projects like Apache or Gnome. RHEL is only the marketing-term to bundle all the software into a product and makes it easy to use.

Linux for education

Explaining what Red Hat is, can be done with a reference to the Minix operating system. Minix was developed for higher education. It was embedded in a university course about operating system. Minix is similar to Xinu only a theoretical operating system. It makes sense to print out the sourcecode and write a paper about it, but it is not ready for daily usage on a webserver. Linux is different. It was not designed with education in mind but with business-oriented daily usage. That means, Linux is not a university project but has a financial background. Alan Cox and Linus Torvalds earning money with their work and their are not part of higher education system.

Let us investigate some of the Linux distributions out there. Most of them were created with an education purpose. For example, Debian, Gentoo or “Tiny core Linux”. The idea is not only create the distribution, but to explain the people how they can make their own distribution. In the ArchLinux project for example, is a powerful meta-distrubution-creator part of it, which downloads the sourcecode of programs and creates of that an iso-file. Gentoo works with the same principle. The best example for a teaching-only distribution is perhaps “Linux from scratch”. It is like Minix created with the purpose in mind, to explain the people what a distribution is, and how the booting process works.

From a practical point of view this knowledge has no top priority. If somebody is interested in using Linux on his workstation or on the server, he is not interested in getting knowledge about how to create a distribution. He do not need another Andrew Tannenbaum who is explaining to him, how to compile a piece of code or how to careful select the components of a distribution. What the user wants is a ready-to-run distribution, created by somebody other and optimized for daily usage. RHEL is such a distribution. And according to my research it is the only distribution out there which can be used in real life. All the other examples like LFS and Debian have an educational purpose. That means, if somebody is interested in the distribution building itself than it is the right choice.

From a historical point of view the evolution of Linux-like software can be summarized in the following timeline:

1. Minix, educational unix-clone -> Debian, educational distribution
2. Linux, daily usage kernel -> RHEL, daily usage distribution

Let us investigate potential alternatives to RHEL a bit in detail. I understand the concept behind LFS and Gentoo very good. “Linux from scratch” was created with a special purpose in mind. The idea was, that an Opensource kernel alone is not an operating system. If somebody downloads the latest tar-ball from he is not able to run his computer with it. Because apart from the kernel, additional software for the command-line and the boot-up process is needed. “Linux from scratch” provides these programs. Or better, they are distributing knowledge how the user can find these programs and creates his own operating system. The information inside the LFS project are valuable, it is one of the best books about creating a distribution. LFS is similar to the Minix operating system and it is very well suited to teach the knowledge in higher education.

But, what LFS is missing is a practical usage. That means, if a company needs a ready to run workstation, LFS is the wrong choice. Even in 10 years, the user will get with LFS not a Linux distribution up and running. And even the system will boot, it has too many problems in the daily usage. The LFS project knows about the problems. And they won’t fix it because LFS was created with a different purpose in mind. The same reason Minix can’t be used as a workhorse, LFS can’t be used too.

With LFS, Gentoo or Debian nothing is wrong. They are like Minix very well suited to explain the people how an operating system distribution works. But using Gentoo on a productive server is not a good idea. Because, there are certain requirements which have to be fulfilled.

Teaching vs. usage

At first, it is important to define what the user wants. If he is interested in learning Linux, than he should look at Minix and LFS. The minix-documentation gives him a good introduction how a kernel has to be programmed in theory, while the LFS documentation gives him background knowledge how to create on top of the kernel a distribution which includes other projects like a bash-shell and a package manager. I would go a step further and would call Minix the definitive resource for learning purpose and the official LFS book the most important book about how to build a distribution.

But “Learning Linux” is not the only aim a user may have. Apart from it, he can also be interested in using Linux as a workstation for private usage or in a company. In the same way he uses today MS-Windows or Apple. Then, Minix and LFS are a poor choice. That means, it is not able to use LFS productive. The system updates don’t work, and even the user has read the book he has no Linux-distribution. For this purpose the RHEL/Fedora distribution was created. It is the right choice for people who are not interested in learning Linux but using it as a server or a workstation.

Migration from Ubuntu zu CentOS complete

In July 2017, I decided to migrate from Ubuntu to RHEL. At first, I switched only to CentOS because according to the docs the system is more stable than Fedora. But after I while, i noticed that CentOS has more bugs than Ubuntu. .That means, after adding extra repositories the dependencies broke each other. So I switched from centOS to Fedora. Until now, I found no major bug in the distribution. It works out of the box very stable, is for free, and gets all the latest security updates.

Ubuntu itself is also a nice Linux distribution. Most of the time the system works and every software can be installed. The ubuntuusers wiki is very helpful especially for beginners like me. The main problem with Ubuntu is, that it is based on Debian. Either Debian nor Ubuntu are business ready. That means, it is only an amateur project, driven by volunteers and if something is broken, nobody is responsible. It is not possible to use it in small or big companies and this makes it unusable for private usage too. Red Hat instead is a real company. That means, if the newest version of RHEL doesn’t boot, this will be noticed at the stockmarket. The reason is, that RHEL has real customers who are paying money for the product, so Red Hat has constraints which they must fulfil. I think this helps a lot to prevent ideology based discussions like the in FreeBSD or Archlinux project.

Apart from it, Fedora has some major technical advantages like a working Gnome environment, the dnf package manager which has produced no error so far and with Java a business friendly middleware which makes it easy to see RHEL as an alternative to MS-Windows.