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.

Advertisements

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.

The problem is called networking

Sometimes the two major operating system Linux and Windows are compared against each to other to identify the better piece of software. This doesn’t make much sense, the better idea is to declare the war over and declare Windows as the winner. Now we can discuss seriously about operating system. Let us focus on a detail question within the Windows OS, called networking. The question is: which programs are available to connect a windows PC with other computers in the internet, with a fileserver, with routers and which config files has to be edited to make the system protected against threads from the network.

The surprising answer is, that the task of networking has to do with manual configure webserver in Windows ini-files, with learning command line switches and writing shell scripts. That means, using Windows for networking looks very equal to what Linux users is doing all the day. They are booting their kernel, connect the network card and testing out different configurations. Can we make the task in WIndows more easier, perhaps with a nice looking GUI? No it is not possible, because everything around networking is horrible. That means, the protocols are making not much sense, the options are endless, and the ordinary user is lost. Sure, Windows is superior to Linux, but in configuring the networking this advantage isn’t much valuable. Configuring a network is not a Windows specific problem, it is a network problem. That means, it is located outside of the PC is an area called intranet, cloud, or TCP stack. It is something which has to be handled differently then installing a game.

The good news is, that the Windows operating system is well equipped in handling these tasks. The bottleneck is, that the amount of knowledge the user needs is very high. Books about networking in Windows are hard to read, and they are containing lots of vocabulary unknown to ordinary users. It is way more complicated then only pressing buttons, it has to do with ethernet drivers, packet switching and latency.

Linux doesn’t work and nobody cares

For the newbie it might be surprising how many problems the Linux operating system have but their fans are not switching to more advanced software. The Android OS for example has a low framerate and lots of unfixed security problems. In the Ubuntu OS it is not possible to install the latest games in Wine, in Gentoo the nvidia drivers doesn’t work and in Fedora it is not possible to switch the language in Libreoffice from English to German. If such problems would occur in Microsoft Windows or in Apple products the customer would boycott the ecosystem and force the vendor to fix the issue. Not so in Linux. Nobody cares of the problem and there is no effort to improve LInux.

The best example it GTK. GTK is some kind of GUI framework which is able to display applications on the desktop. The GTK library is bad documented, it is not possible to use it in normal programs and the documentation is missing. Suppose the ordinary user is open a troubleticket in the GTK bugtracker. What will happen? After a day, the admin will say, that the question is not written very nice, after a week the bug is put on hold, and after a month the posting will get deleted. That means, the other side is not motivated to research the details or even to talk about it. The result is, that the GTK library are some kind of work- in -progress and compared to their Windows equivalent their are inferior.

But why is nobody interested in fixing the problems with Linux? The answer is, the priority in Linux is different from WIndows operating system. Linux is not a desktop OS which is able to run programs. Instead the focus of Linux is networking and software development. That means, the top priority in the Linux ecosystem are Ethernet cards which are detected by the kernel and the ability to use this cards for connecting other computers in the same network. That means, the networking capabilities of the Linux distribution are the most important one, and all features like the framerate in Android have a lower priority.

Let us make a thought experiment. Suppose, the Linux kernel has a problem in detecting a certain network device. The user created a bugticket. What will happen? After 2 minutes, the ticket is answered by Linus Torvalds in person, who has figured out the problem, discussed the issue with his team and developed a fix. After 24 hours, the fix is distributed to all major Linux distributions. The reason is, that such a problem has top priority. It is an issue, which is everybody in the Linux ecosystem is interested in and the motivation is high to fix it.

Has Linux any problems in the domain of networking? Not really. As far as i know, the Linux kernel is able to detect any kind of networking hardware, understands any kind of Internet protocol and is able to act as a server, client or whatever. The network through output is higher, than with any other operating system and the features are well documented in thousands of books.

Why is that so? I’ve mentioned it before, the top priority in Linux is networking and software development. That means, Linux supports the latest networking devices and the latest Internet-protocols. The idea is, that a device which runs LInux can connect over a lan cable to other devices. Other features which have to do with an operating system for example the GUI, the ability to run software or a German translation of the office suite are not important for Linux. It is something which is done, if the developers are bored and have too much time. They are not focused on that issue.

The open question: does it make sense to select networking as a top priority? In the time before the Internet the answer was no. Because in the 1980s networking hardware was expensive and nobody was interested in. The situation changed in the 1990s, in which networking cards became affordable. And even today, it is an asset if a computer is well connected to a network. That means, if the “ifconfig” command shows, that the hardware is detected and the connection is stable.

Somebody may ask how can a network card become so complicated. The device itself costs around 5 US$, and with a driver the networking is great. The problem is, that networking features are very complicated to program. If somebody is trying to understand how this is handled in MS-DOS, Windows, Apple or Linux he will notice that a lot of knowledge is used in that domain.The main problem is, that networking is not restricted to a single PC but it is a protocol family which interacts with other devices. Managing a network card and the connection to an Intranet is not a trivial task. The reason, why many people are fans of Linux despite the problems with nvidia graphics driver is, that Linux is great in networking. Linux is superior to all other software, for example Windows Server 2016. If we combine this feature with the advantages of an open source operating system we get the explanation, why Linux is so successful.

networking

Does it make sense to switch the focus away from a standalone PC which runs software to a networking device? Yes it make sense. Most people are not aware how powerful the internet is. The limits of a single computer are defined by the combination of hardware and software. For example a 486’er PC can handle a certain type of games. Or the system can be programmed to display a Word-document. What is not possible with a single computer is to copy a file to a second computer. This is a task for a network. The funny thing is, that only with putting the wire into a 486’er PC their capabilities are much more higher. And this without upgrading the hardware or install new software. The same PC can be used to retrieve or provide information. A simple webserver and even a intranet database can be run on such a device.

The only minor problem is, that a normal operating system like GEOS, MS-DOS, GEM, WIndows and so forth are not able to handle networking capabilities. The classical operating system from the 1980s were great in using computer hardware itself. That means, to use the graphics card together with the main memory to display overlapping windows on the screen. That was the great feature in the first Apple computers and for the same reason Microsoft has sold millions of copies of the Windows 95 operating system. The feature to display windows on the screen is useless if somebody want’s to connect computer together. Or to make it more visible. A text based operating system which is great in networking is more powerful than a graphical operating system which can display games but doesn’t provide internet access.

If the Linux developers give to bugs about non working nvidia graphics card and non working games in Wine a low priority they are right. It can be ignored if the graphics cards works or not. A Linux box is at foremost a networking device. Only if the TCP/IP stack is broken or the network card isn’t detected a major bug is there. It make sense to concentrate all the manpower on the networking stack and ignore the other features an operating system provides. That means, Libreoffice user who have problems with a menu can wait, gamers who want to play in Wine World of warcraft can wait, and people who run into problems because of pulseaudio become also a low priority. All what they are trying to do with their machine is a waste of time (compared with the networking feature of Linux). If they need software which has different priorities they can switch to Apple or Windows. In both cases, the GUI applications will run great and are handled with a top priority. What Linux fans expect from their system is well working network stack and the ability to compile C++ programs.

Linux without the Linux Kernel

Often Linux is called an operating system which contains of the Linux Kernel, the GNU Userland and third party open source software. This definition is not completely wrong but it is not exact enough. I want to describe Linux from the user perspective, that means which kind of tasks a Linux system is used for.

It might be a look surprising, but the FreeDOS website can help to explain what Linux is. FreeDOS comes with some tools for connecting computers together, this is called “Networking”. It is only one feature in FreeDOS but it might be interesting to focus on it. Here http://wiki.freedos.org/wiki/index.php/Networking_FreeDOS is the official documentation given. On the first look, this has nothing to do with Linux. Because the FreeDOS kernel works different, and Linux doesn’t have programs like mTCP. But reading the documentation makes sense, because it makes clear what the usage scenario is.

In the first chapter it is explained how to install the networking tools. This is made with a GUI based package manager who provides a dedicated networking section. The user can select some or all tools from that category. After pressing the Install button important software like FDNET, mTCP and wget is installed. The funny thing happens if the FreeDOS system reboots. It looks very similar to a LInux bootscreen. Not on the first look, because the output is different and the reason is that FreeDOS and LInux are different systems. But the ideology behind is equal. What FreeDOS is doing after reboot is loading first the FreeDOS kernel and then loading some networking drivers for LAN card and he is trying to set up the DHCP connection.

I want to describe the situation from a more abstract level. If FreeDOS reboots with networking capabilities the idea is, that the PC is foremost part of a larger computer network. That means, the PC is not seen as a standalone PC which boots up the himem.sys file and loads the command prompt, but the idea is, that the computer has a lan card, is connected to a router, is able to ping other computers and that the kernel is using device drivers to speak with the ethernet devices. That is the same ideology known from Linux. The surprising information is, that it is possible to see FreeDOS from the same perspective.

In most cases, Linux is compared against Windows or FreeDOS. The better approach is to compare FreeDOS with FreeDOS, or to be more explicit, to compare a FreeDOS which is used for playing games, with a FreeDOS used for networking purposes. In such a comparison, Linux is out of the loop. That means nobody is interested in the software developed by Red Hat and GNU, instead it is a FreeDOS only show. The normal way of using FreeDOS is with the purpose of a standalone PC. That means, the computer has a floppy drive and a harddrive and the user starts from the command prompt games and a wordprocessor. This use case is the scenario most people are familiar with it.

But what happens, if we use FreeDOS for networking? At first it is necessary to install dedicated networking hardware which is a ethernet card, a modem and a wifi card. Then we need device drivers which have to be loaded by the FreeDOS kernel. And then the overall system has to be configured. That means, we have to define, that the localhost is equal to 192.168.1.1 and that for testing purposes a router in the same network provides the DHCP address. This use-case is from a technical point of view possible, but most users are not familiar with it. They never heard of ethernet or IPv4.

From a technical point of view, a networking ready FreeDOS installation can’t be called Linux. Because the system is not able to execute ELF binary files, it has not a bash but a prompt, and the device drivers are not open source. But from the use case itself, it looks very similar to a linux box. Because the idea is the same: to connect a standalone PC with other computers over the Internet. The question is: does the ordinary user need such networking capabilities in FreeDOS?

I wouldn’t call Linux an operating system. It is more a behavior pattern which is equal to networking. Any PC which is connected to the Internet and uses kernel drivers for accessing ethernet hardware can be called a Linux box. Or to be more specific: the user is trying to use the computer like a Linux box.

Minimalistic Linux

Let us try to reduce Linux to it’s core feature. What is not important for a Linux operating system? Everthing which has nothing do with networking or software development. That means, things like a GUI, computergames or the ability to play sounds and videos are obsolete. In it’s core feature, Linux boots up the kernel, detects network devices and connects to other computers. Does this description fits to what is known about Linux in the mainstream? Yes, very well. All the other features Linux has to offer can be seen as additionally. In it’s core philosophy Linux has it’s strength in the use case networking and software developing. Such a feature is not part of the system itself, it is more the use case what people are doing with Linux.

The use case of MS-DOS and Windows is different. Here is the idea, that the computer is first a standalone PC which has applications. For example a game or a spreadsheet while the ability to connect the computer to a network has a lower priority. Is that the reason, why Microsoft Windows based smartphones were never a success? Because a smartphone is according to the definition a networking device. And features like a GUI or the ability to play games are created on top of this layer.

Let us explain under which conditions, Linux will work without major problems. Suppose, the graphic subsystem in Linux is broken, because the latest nvidia driver isn’t working well together with the X-Window system. The surprising information is, that the user will not recognize the bug, or if he is aware of it the priority is low. But what will happen if the networking subsystem of a Linux system is broken? That is a major incident. The user will try to fix the problem as fast as he can because he is using LInux primarily as a networking device.

In MS-DOS and Windows environments the situation is the other way around. If the network card of a WIndows PC isn’t recognized, no major bug report will created. The problem can be ignored, because all the games and desktop applications are running great. The network device is a less important aspect of the overall system, comparable to the C compiler. Most people are not aware that such a feature exists. That means, if the admin of a Windows PC will deinstall the C compiler, most user will not recognize the missing software, because they never used the program in the past. In contrast, a Linux user will recognize the missing GCC compiler after a day, because he want’s to compile the LInux kernel or his own application.

The main difference between Linux and Windows is not the software itself (open source vs. proprietary) and it is not the kernel (Microsoft kernel vs Unix like Kernel). The main difference is the use case: networking/softwaredevelopment vs. desktop applications/games. Migrating to Linux doesn’t mean to install the Linux operating system instead of Windows, but migrating means to switch the use case into the direction of networking and software development. This can be done also in Windows. There is no need to switch to Linux physically. If a user is compiling c programs within WIndows, and is installing a fileserver too, he changed his behavior.

Networking in WIndows

Suppose we don’t Linux very much and want to make a bit advertisement for Microsoft Windows. How would look a book like, which is about networking and software development in Windows? It would contain perhaps chapters about the TCP/IP stack, about network cards, about IPv6, about the C standard library and so forth. The most interesting aspect of this book is perhaps, that even it is dedicated to the Windows operating system it will look like a Linux bible. And even if the author avoids to reference to Linux, there is a need to explain the situation in both worlds. That means, at the end the title would be similar to “networking and software programming in Linux and WIndows”. That means, there is no real difference in the operating systems, the task is in both worlds the same.

The book “Gilbert Held: Windows Networking Tools: The Complete Guide to Management” is a good example for this dilemma. Suppose the user doesn’t like Linux very much and is not motivated to use the shell for configuring network cards, tracing TCP/IP packets or using snort for protecting the network. The problem is, that the user will confronted in the book with all these evil things which are usually located in the Linux domain. According to the title, the book is about Windows networking, but the book has the same language style used in the Linux community. That means, if the user hates Linux, he will hate this book as well.

On the first pages, the book starts harmless. There are some screenshots given which shows the MS-Outlook application which contains E-Mails. The idea is, to introduce the reader into what is possible with a networked computer. But in the following pages the difficulty is increasing rapidly. The user becomes screenshots of a command prompt, and diagrams with abstract networking charts. In chapter 8 the user has to memorize commandline switches for the snort tool for example the “-A switch”, “-b switch” and so on. That means, even in the title the Windows term was used, the book doesn’t feel like windows. It looks similar to a hardcore networking bible for Linux experts.