Is Linux obsolete?

A while ago, a talk was held with the title “Is linux obsolete?” in which the attempt was made to criticize the Linux ecosystem. The arguments were taken from the Unix haters handbook which is some kind rant against the UNIX ecosystem. The problem with these and similar talks is, that it remains open which kind of software should replace Linux, if everything is wrong with the kernel. The answer is simple: Forth.

Declaring Forth as the successor of Linux is bold, but it make sense. Even if somebody is not really familiar with Forth, it is possible to explain from a theoretical point of view, why Linux is obsolete and Forth is the better operating system. And even practical demonstrations are possible, the Bigforth OS was developed around the Linux kernel. With a bit enthusiasm it is possible to define Bigforth as a here to stay, and Ubuntu plus Debian as outdated.

Some Linux fanboys would argue, that it is too early to introduce Forth. And they are right. It is too early, to explain Forth as the new Linux. The reason is, that for most users, even Linux is some kind of exciting innovation which is unexplored yet. But let’s take a look into recent computer tradeshows. We will find, that Linux is everywhere. There are many dedicated Linux conferences out there, and at the Froscon and similar meetings, Open Source and Free software is everywhere. That means, Linux is no longer an obscure thing known only by experts, but Linux is a mainstream operating system. If we are focus on Android Smartphones, Linux is a mass market too with billion of users worldwide. So it make no sense, to argue that Linux needs an introduction and is some kind of valuable alternative.

In contrast, Forth needs a lot of introduction. On major computer events, Forth isn’t there and even in Internet only groups like Stackoverflow, nobody is aware of the stackbased programming language. So it is the right moment to declare Forth as the new Linux. It is some kind of esoteric system which is unknown in the mainstream and needs an introduction to explain the benefits. And Forth has a lot of them. The main advantage of Forth is, that the creation of a virtual machine is easy and can be done in around 1000 lines of code. Under Linux it is more complicated to create a Linux kernel from scratch and put the C compiler on top. The Linux ecosystem is grouped around open source software, but the sourcecode itself is large and bloated. In contrast, Forth is a slim system.

Some users are arguing, that Forth can’t compete with Linux because the amount of software is smaller and that it’s not possible to run a webserver with Forth. But this assumption depends on the perspective. With the correct attitude, it’s possible to promote Forth as a valuable replacement for unix-like operating systems. The funny thing is, that the Linux community has no arguments against Forth. Linux’s self-description is based on the Open Source ideology. Windows is a close source system, while Linux is open. Forth is an open source system too, but it has the better technology too. Linux is strongly connected with a certain paradigm what software is. The idea is, that every computer needs an operating system and that the kernel has to be written in C. A Forth user would argue, that this assumption is wrong and that a better alternative is available. The operating system is put into the firmware, the sourcecode is optimized into a minimum and this allows to speed up the system and fix the existing bugs effectively.

Linux is a reasonable well working operating system. It allows to develop software and brings webserver online. But Linux is not the best available technology in doing so. The example with the Android ecosystem shows the disadvantages of Linux. Android shows, what an operating system will look like in which everything is wrong. The problems are: too much energy consumption, lots of malware in the android store, malfunction apps and missing roadmap to advanced stackbased processors. These bugs can’t be fixed within the existing Linux ecosystem. ff somebody has decided to take the Linux kernel and put on top an Java interpreter the result will looks terrible. Android is perhaps the best argument, why a migration from Linux to Forth make sense.

Advertisements

Do we need operating systems like Linux?

According to the book “Just for fun”, Linux is more than only a piece of software, it’s a philosophy known as Open Source software movement. Unfortunately, Linux is a dead end because the idea of using an operating system itself doesn’t make much sense. So called hardware drivers and network interfaces are located in the BIOS, that is the basic input output system every PC is providing. There is no need to build on top of these working drivers another collection of drivers which is maintained by the GNU community.

Somebody may argue, that Linux is providing the POSIX interface for network devices and without the Gnome environment it’s not possible to do any useful task with the PC. That is the story, told by Linus Torvalds to the public, but from a technical perspective it doesn’t make much sense. A graphical user interface has to be realized not in C but in Forth, and it should be programmed as near as possible to the hardware. In contrast, Linux and Gnome is some kind of anti-pattern which is not helpful in understanding what a computer is.

Many people are calling Linux an industry standard which is used in large datacenters to host websites. But is this story true? Nobody knows. The problem with Linux is, that it’s not based on a technical perspective, but it’s a plot about something else. Who exactly is using Linux in his daily life as a webserver or a database server? What are the people doing, is to follow a plot. They are downloading the Linux ISO image from a website, they are reading the Linux bible from an internet server and they are pretending themself, that on his computer the Linux OS is installed. But in reality, they don’t know, which kind of operating system they are using, who has programmed it, or how to use it. Most so called Linux users are located outside of computer science. They have a background in art, literature or philosophy but are not familiar with programming software or with designing hardware. Linux doesn’t provide them information what’s wrong with their knowledge, Linux is some kind of illusion that somebody is an expert for computer. If a user is proud of his Linux skills it’s the best sign, that he has absolutely no knowledge about computing.

According to the self-definition, Linux is a master control program which motivates the devices of a computer to run. It controls the harddrive, the graphics-card, the network card and takes care of the CPU. This story isn’t told because it make sense, it is told because the audience beliefs anything. If somebody has not enough knowledge about an issue, it’s very easy to manipulate him. The reason is, that if somebody is using the wrong knowledge he will do the wrong decisions. And Linux is part of this game. Perhaps an example make sense.

A magician shows a card deck to his audience. He is telling a lot of false information what he is doing right now. For example he says, that he shuffles the cards and that the user should take a one. In reality, the magician doesn’t shuffle anything, and the audience has no opportunity to detect the fraud. The reason is called a knowledge gap. That means, the magician knows something more than the audience and it’s part of his show to maintain this gap up and running. What he is doing is to utilize the uninformed user. Or to be more specific. The magician has created a hoax and he is laughing about the user who is taking seriously a card from top of the deck.

The question is not: what is Linux? The question is under which constraints it will become possible to provide an open source operating system to the enduser? How frustrated somebody must be to install the Gnu C compiler on his harddrive or to give Python a chance?

Why Linux is great

There are many reasons available why Linux is used so often as a desktop operating system. One of them is the ability to download files with command line tools. A famous example is the new ISO image of the Fedora Operating system. The filesize is 1.9 GB which is huge, even for modern broadband connections. how Windows users are downloading files is unclear, perhaps never or they are clicking on the Windows Explorer on the file and are getting upset if something happens during the download. A Linux user can take advantage of the following command:

wget --continue --limit-rate=20k https://download.fedoraproject.org/pub/fedora/linux/releases/29/Workstation/x86_64/iso/Fedora-Workstation-Live-x86_64-29-1.2.iso

There are three interesting features combined. At first, a textual command is used, which can be run in background without any GUI webbrowser. Secondly the downrate is limited to occupy only a small fraction of the possible connection, which means that the total download will need 26 hours. And third, the “continue” parameter is used for resuming a canceled download. That means, the user can download for one hour a bit of the file and stop the process. And two days later he can resume the downloading, this give him the maximum control over the process.

Isn’t it very slow to download a iso file in such a way? No, it isn’t because it is using the given resources in the optimal way. That means, if the user only wants to provide a small amount of his internet connection for that task he can do so. The download task is put to the background and it can be delayed for many days.

After the iso-file is downloaded to the harddrive the next step is to copy it on an USB Stick. Under Linux this is possible with the dd command but there are a plenty of GUI tools available too. With such a prepared usb-stick it is possible to boot any notebook into a Fedora Live system. That can be an ordinary standard Windows 10 notebook, a MacOS PC and even a 7 years old refurbished notebook with 2 GB of RAM. Fedora Live is comparable to Google Chrome OS but only with more feature. Additionally to a webbrowser many other tools like Python interpreter, LibreOffice application and soundtools can be started. That means a simple USB stick will transform the notebook into a workstation without paying anything.

So what is the disadvantage? There is none. Fedora on an USB stick is superior to any other operating system. It is the right choice for low budget user who have a standard Notebook but it also the right choice for power user how are using a 2500 US$ notebook with a 4k display and SSD harddrive. Some users are asking which kind of manual they can read to become familiar with Fedora. The simple answer is, that they can take a look into a MAC OS X handbook and most information are the same. If somebody like the Apple desktop operating system he will like Linux too. That means, the network gets configured the same way, the handling is equal and the software quality is great.

A short history of network operating systems

In the 1980s the only available network operating system was Novel netware. They have hold the top position until the 1990s. A typical pool of PCs in the mid 1990s was a combination of NE2000 network cards, the novel netware operating system and on top some kind of MS-DOS / Windows. Microsoft was trying to fight against Novel and they have won. Today, the Novel company is nearly unknown, instead the Microsoft Server product can be used alone to handle all network related issues.

But let us go back into the 1990s. In that time, many companies were in the business of a network operating system. OS/2 from IBM was another famous example of software which was able to connect PCs to a LAN (local area network). That means, it was not a fight for the best operating system, it was about about networking. That is everything which has to do with TCP/IP, IPX, Netbios and network cards. The interesting fact is, that network operating systems have the tendency to become quite complex while at the same time, the user doesn’t recognize a difference. If we compare a WIndows 3.11 installation which is standalone on a PC with a WIndows 3.11 installation which is ontop of Novel netware, the user will see no difference. It is the same file manager and the same programs. What is the different is, that network features like filesharing, printsharing and sending messages is available. And dedicated network hardware like a token ring and a server is needed.

In 1994 Microsoft introduced the WIndows NT server product. It was the attempt to provide an alternative to OS/2 LAN server and to Novel netware at the same time. Windows NT can be called a success. Today the OS/2 project is dead, also Novel netware is no longer available. But the NT series (which evolved into the Windows Server product) is alive.

Today, there are only two vendors of network operating systems available: Microsoft and Red Hat. Both have a product for connecting PCs into a LAN.

The interesting fact is, that the timeperiod in which Novel netware was strong is not very old. In the mid 1990s Novel was the market leader in LAN PCs. It was the time before the Windows NT product was available. Novel netware in this area looked like an improved MS-DOS. It consists of hardware drivers for the network card, and some software-implemented protocols. Even in the beginning of the 2000s Novel netware was used by many companies and universities. It was a common choice to use Windows NT or Novel network or both. With the upraising of the Windows 2000 server line the situation changed. In the mid 2000s the Novel netware series was replaced by Microsoft only software.

On the first look it might be surprising why large organizations have a need for a novel netware like operating system. Isn’t it enough to boot the PC and play games on it? No it is not, because what large organizations have is usually a huge amount of computers which are used at the same time. That means, a LAN is some kind of standard which is needed everywhere. It is the backbone on which all the applications and printer requests are executed.

The role of a moderator in an opensource project

According to news-websites, the Linux founder Linus Torvalds is leaving the project. Some rumors are going on, that the reason why he quits has to do with his continuous violation of the Code of conduct. The code of conduct is a language system which clean the slang on the Linux Kernel mailing list. The problem is, that with the leaving of Torvalds the situation will not become better. Because Linus Torvalds usually speaks not for himself, but he had the social role of a group moderator. That means, his rant against Nvidia which was recognized by the public as rude was some kind of group behavior of the Open Source community against nvidia.

Perhaps it is important to make the role a manager in a software project more clear. A moderator is according to the definition not somebody who is contributing to a project with sourcecode, but his role is make sure, that the team members in the project are motivated. A moderator is some kind of proxy which sends messages back and forth with a certain spin. His obligation is enrich information with a context and make it easier for new members to become part of the team. Usually, the moderator doesn’t speak for himself, but he is the personification of the group. Not Linus Torvalds has used rude language, but the Linux kernel team was doing so.

The reason why is known. It doesn’t to be explained in detail. What I want to make clear, that the new moderator of LInux will use the same language like the previous one …

Let us go back to the video recording in which Linus Torvalds has made the rant against Nvidia. It started with a question of a woman who was upset about missing graphics driver on their notebook. What Linus Torvalds has done was to hear actively to that customer, has recognized that her problem was serious and amplified the speech. That means, in reality the woman has said that she doesn’t agree with nvidia and Linus gave her a stronger voice. To reducing the rant to Linus Torvalds in person, ignores the social aspect. Not Linus himself had a problem with nvidia, but the customers who are using Linux.

The question is not, which kind of language Linus Torvalds is using, the question what the language code of the Linux customers is. That means how emotional they want to express their anger about companies who are boycotting Open Source software. If the customers are friendly and calm there is no need to given them a powerful voice and vice versa.

The game which is played on the Linux kernel mailing list is called “chinese whispers”. That means a message is routed through different stations and the last one (which is Torvalds) has the obligation to speak it loud. The question is not, why Torvalds is using a certain kind of vocabulary, the question is who was the sender and how does look the original message? It can be sure, that Torvalds didn’t figured out the slang by himself, he is according to his social role only the manager of Linux but not the driving force behind the project. That means, somebody else delivers the source code and the requirements. The question is, which kind of software projects needs a rude language? Perhaps the reason is, that Linux is young project which was initiated by students which are rebels? Using a certain kind of slang is normal in such groups. That means, the members in the Linux team have asked Torvalds to speak in such a tone, they wouldn’t tolerate somebody else as their speaker.

Is Linux the best network operating system?

A network OS is a piece of software to connect computers in a LAN and sometimes to connect computers with the internet. Another term which is used is “Server operating system”. Linux is the best one, especially the RHEL distribution which is shipped by Red Hat. It can be called the most advanced network operating system today. At the same time it is the cheapest one. Even the user has decided to use the original RHEL system he will save compared to Windows Server a lot of money.

Why Linux is strong in networking has to do, that it was created for that purpose only. Linux wasn’t created for gaming or for video-editing, Linux has it’s priority on computer networks. It supports all protocols available and the user can install any kind of monitoring and server software in his Linux distribution. If he has questions about the usage he finds an endless numbers of books in all languages he wants.

In theory it is possible to beat even the RHEL server operating system. This is possible with the Forth language and the OSkit meta operating system. It is possible to use OSkit to generate a truly unique operating system which is created from a template and modified by Forth sourcecode. http://www.cs.utah.edu/flux/janos/ For most users this approach isn’t practical because they doesn’t have the needed amount of knowledge and because Forth nor OSkit is well documented. But for the protocol it is important to know of this candidate to bypass even Linux. For most users, a normal off-the-shelf RHEL system by Red Hat is everything they need. They can install the software on their computers and it will run without any problems.

RHEL vs. Windows Server 2016

It is rare to compare both Network operating systems against each other. Both systems can be called called expensive. The standard subscription of RHEL server is 800 US$ per year, while the Microsoft WIndows server 2016 can be calculated with 800 US$ for the overall lifespan. That doesn’t mean, that Microsoft is cheaper, because the enduser gets in case of Red Hat the sourcecode and he has the opportunity to test the product with the Fedora distribution which is shipped for free. But what is the reason why some customers are choosing RHEL while other are preferring Windows?

The main reason why RHEL is prefered by Internet service providers and other professionals has to do, that Linux was developed as a networking operating system. It was created with routing and webserver capability in mind. In contrast, Windows Server is derived from a single user operating system and his networking capabilities are not very high developed. But there are also reasons, why somebody would prefer Windows Server, especially in the business environment. It has to do, that WIndows Server is working great with GUI-applications written in C# for Windows clients. That means, if a company has already code for business applications they can be executed easily on Windows Server, that is not possible on RHEL.

Let us focus on the weakness and the strength of Linux. His strength is the networking feature. If the focus is to connect computers to a computernetwork which includes wireless lan, fast gigabit access, and server capabilities, Linux is unbeatable. It has the greatest amount of documentation and all the tools are working out of the box. I’ve never heard of a case in which a user was not satisfied by the networking capabilities of Linux. The software provides much more feature than the average user will need. On the other hand, Linux has a weakness in GUI support. The integrated GUI API is called GTK+, which is nearly unknown in mainstream computer market. The so called “GIMP toolkit” is bad documented and it is very complicated to use external programming languages like C++ to write an application for it.

That doesn’t mean, that Linux is a bad choice. If Red Hat would put more energy in the GTK+ API, provide more beginner friendly tutorials and improve the API to other languages, GTK+ can be used in the same way, like in the C# world programs are developed. A interface designer (Glade) is available and the ressource consumption of GTK+ apps is reasonable well. But, if a mainstream user doesn’t want to wait and needs now an operating system which supports GUI desktop application the best choice would be Windows Server.

Networking GUI Apps

Let us describe what the mainstream company is doing with Windows Server. On the lowest level they are connecting computers to a network. That means, they have clients, servers and the TCP/IP protocol. Linux would be a great choice for this job, but Windows Server provides also the ability to connect computers. The interesting fact is, that the normal business user isn’t satisfied by connecting PCs on a physical level, he wants to run on top of the network business applications. That means on the client has a program, and this program retrieves data from a server database. In most companies these programs are created for the Windows operating system. C# makes it easy to program such applications. They can be run on Windows and they are able to use the networking features.

In contrast, in RHEL and Linux environments, such a feature is missing. The only way to create business applications in RHEL is GTK+ which is poorly documented. Another option would be Java, but Java isn’t accepted as an advanced technology. What most programmers prefers is either C# or C++ and both is supported very well in WIndows environment. The reason why the mainstream customers doesn’t want to install Linux has to do, that Red Hat didn’t make their homework. They are not explaining to their customers how they can create networked business apps with Linux.

Is it possible for Red Hat to fix the problem? From a technological side this is possible. A valid alternative to .net and C# is C++. C++ is an accepted industry wide standard for programming applications. If C++ is used together with the GTK+ framework it is possible to created businesses applications for the Intranet. That means, the gui can retrieve information from a server database. In theory, this is possible right now, but Red Hat doesn’t promote this capability very much. Not a single book with a title like “Business applications with the GTK+ framework” is available, and without tutorials it is hard for the ordinary programmer to figure out the details. If Red Hat would engage in this area a bit more, they can beat Microsoft in the future. All what is needed are some presentations, some tutorials, a better documented API and some demo applications which convince business users.

Using Linux to create business web applications

Suppose, somebody is interested in Linux and he doesn’t want to use ASP.net, C# or Microsoft products. Which kind of technology can he utilize for creating business web applications? The basic elements are web forms, that is a HTML formular which contains data. Webforms are comparable to a formular in a desktop application, it can visualize data for example the address of a customer. It is possible to create and show webforms in a Webbrowser like Firefox and Chrome. A possible language for creating webforms on the fly are C++ (recommended and very fast) or PHP (mainstream serverside programming language). The idea is, that not a desktop application is created but a website which is visible in the browser.

Understanding Linux is very easy

A while ago, I explored the networking category in the FreeDOS operating system. And this gives an insight view what Linux is about. Understanding Linux is possible if we reduce the operating system to its networking feature. That means we reduce the feature downto TCP/IP, network drivers, DNS resolution, FTP server and SSH. The surprising information is, that networking in LInux is similar to what is known from FreeDOS, Apple Mac OS X, Windows, Solaris and any other operating system. No matter, if the operating system is Open Source software or not, the networking section works all equal. That means, n Linux the user has to learn the details about ipv4 and in MS-Windows the user has to learn the same stuff. The surprisingly, the WIndows users have also config-file which they edit with a texteditor at the command line. That means, in reality the difference between Linux and Windows is very small …

In general, networking is very complicated. That means, there are endless number of books available and the user can configure his Server in dozens ways. WIthout any doubt, Linux can be called the king in networking. Most books are using Linux as an example operating system to explain what TCP/IP is, and Linux has the most features and the fastest connection. But even if somebody has decided to stay away from the penguin operating system he is not really in a different position. The topic networking is some kind of OS-independent knowledge, it is the same for all computers from 8bit Commodore homecomputer, over 64bit workstations until Android devices and rack based routers.

What i want to make clear is, that a comparison like LInux vs. Windows doesn’t make much sense. If we want to compare software from different vendors we must ask for the networking features in WIndows and compare them with the networking features in LInux. And if we doesn’t doing so and leave out networking, there must be good reason for doing so. What most comparisons “Windows vs Linux” are doing is to compare everything else apart from networking, for example the support for Games or the GUI environment. The idea is, that the internet was not invented yet, and the PC runs without an ethernet card. Under such a condition, Windows is superior to Linux, because the games are running faster.

The reason, why nobody in the Linux world is interested in such a comparison has to do, that for Linux users the networking feature has the top priority. That means, if an operating system doesn’t perform well in a Lan, the comparison is over. Let’s make a simple example. We are taking the newest Windows 10 version and install it on the PC. Now we are trying to plug in a network card and install a webserver. If this task doesn’t work or it takes to long, Windows 10 is out of the game. That means, we are not intersted how well the system performs in a desktop environment or many many games are running on the machine. If the networking feature doesn’t work excellent it is a k.o. criteria.

But why runs Linux so great in a network? The reason is, that from the beginning in the early 1990s, networking was the top priority in the Linux ecosystem. Linus Torvalds and Red hat ignored everything else for example a fast GUI, nice graphics drivers, and industry support for spreadsheet applications, but they set the maximum priority to the networking feature. That means, a PC which has a network card plugged in, will run great with the Linux OS in a network. The system is the perfect client, the fastest server and the most easy to configurable router. Linux was from the beginning designed as network ready. It is an out-of-the-box feature. All the energy of the programmers was focused on this important task.

Potential alternatives to Linux, for example Windows 10, Apple, OS/2 Warp or Windows Server had a different kind of priorities. They are designed as standalone operating systems which boot the PC and run applications. The networking feature is only a subsystem which supports the PC, but it is not the core ideology. Sure, it is possible to use an Apple imac as a webserver. The user can install the correct device driver for the ethernet card and can install a webserver like Apache. But this feature is not documented very well and it works not very stable. In contrast, Linux was born for this task. Here the priority is the other way around. In theory, it is possible to use Linux for editing JPEG images in a GUI, but Linux is not very well equipped for that task and it is poorly documented.

Networking computers

Standalone computers are easy to understand. The PC has a bios, it boots up, and then the GUI is visible. The user presses some button and stores the result onto the disk. A computer network is something which is more complex. The ordinary network contains of hundred of computers. Some of them are Linux PC, others are Microsoft driven, some are Apple and also smartphones can be in the network. The question in a network is not, which operating system is better, but the problem is, that all possible operating systems are there and must be managed. Some of the users are using for example outdated Windows XP systems. That means, it is not a legacy system, it is visible in the network.

Managing a computernetwork is different from managing a single PC. A PC contains of RAM and a harddrive. And the software can work great or not. But a computer network contains of computers who are plugged in into the network and others not. It is some kind organic system which is the pure chaos.