This website, in addition to providing regular Linux and open source related news and tutorials for people who already know something about Linux, is also a starting point for people who know little or nothing about this operating system and search for a place where they are helped in their voyage of discovery. Through a large number of tutorials you as a novice Linux enthusiast will be guided in a friendly way through the most important aspects of this environment, so that you can eventually continue your own way. But before we continue with the tutorials on distributions, desktop environments and download and setup procedures, it’s good to first explain in a simple way what Linux is and how it originated.
The choice for Linux
Linux, somewhat like macOS from Apple and Windows from Microsoft, is a piece of software that makes it possible to use your desktop computer or laptop in a user-friendly way. For almost no one, Linux will be the first operating system with which they have ever started their computing experience. Since most mainstream computers that can be purchased from the local computer vendor or from an Apple Store, are pre-installed with macOS or Windows, for most people these operating systems will automatically be the most logical choice, or a choice that is a logical consequence of the direction other influencers in their social environment have maneuvered them into.
Some people have a preference for Apple equipment and say that Apple’s operating system works much better than Windows. But the opposite is said by Windows enthusiasts. And in both camps many people will say that Linux is a difficult operating system, but Linux users say it is simple and very user friendly. So what is true?
Probably the most important reason why most people won’t choose for Linux is not about the quality of this operating system, but is mainly due to the lack of good information and the way that information is presented to them. This results in ignorance of that other world that is not yours. And since many people sail on convenience, most people do not really care to try a third alternative Linux as long as they are not convinced that it is a viable alternative. And that is a pity because Linux is a formidable platform and with the right user-centered approach Linux could get a much larger footprint.
For only a relatively small group of people, change is a goal in itself and thus an adventure and they can enjoy the fact that the world continues to develop over and over again. But a much larger group of people sees change as a necessary evil that can only be justified if there are really good reasons for it to change with it. So in this series of tutorials I will come with some good reasons that hopefully helps people out of their comfort zone and have a look at the Linux operating system.
What is Linux
Linux is, just like Windows and macOS, but also like Android and iOS, a piece of software that is located as an approachable, adaptable and influenceable layer between hardware and the user. Where the steering wheel and the accelerator pedal are located between the driver of a car and the engine, there is Linux between the user and a desktop computer or laptop. But you will also find Linux in modern washing machines, your mobile phone, supercomputers, your drone, but also in the International Space Station.
For most non technical people Linux is seen as a complete operating system, similar to macOS and Windows. But based on a definition like that Linux gets a little too much credit, since it is actually only the core of the operating system. This core is what we call a kernel in information technology terms. In addition to the kernel some additional components are required before we can call it a complete operating system, or in Linux terms, a distribution. But without that kernel there is nothing to control, while on the other hand not all other components, such as a graphical desktop environment, are needed to be able to control your computer. So in a nutshell the kernel is, although other components are needed as well, probably the most important part of the operating system. Linux is the spider in the web or the traffic controller that manages and links all commands from the user, the connected devices and all related software components. The kernel is continuously engaged in activities such as handling hardware and software signals, assigning memory to processes, managing processes and interpreting and managing input and output signals and associated rights.
History of Linux
The reason for the start of the development of Linux was MINIX, which is a very small Unix like operating system, which was created by Andrew Stuart Tanenbaum. Tanenbaum is a professor emeritus at the Computer Systems department of the Vrije Universiteit (Free University) in Amsterdam (which is a kind of special to me because I got my masters degree in Information Technology Sciences from the same university). His sole purpose for creating this small MINIX operating system was supporting his lessons on operating systems and his book Operating Systems: Design and Implementation.
In 1991 Linus Torvalds, a student from Finland specializing in computer sciences at the University of Helsinki, was very interested in the work of Tanenbaum, but was a bit upset that MINIX was licensed software. So he started a kind of a hobby project to build his own operating system kernel inspired by MINIX, but based on his own code After a relatively short period of coding on 25 August 1991 Linus announced his kernel to the newsgroup comp.os.minix with the following message:
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki
Hello everybody out there using minix –
I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I’d like any feedback on things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system (due to practical reasons) among other things).
I’ve currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I’ll get something practical within a few months, and I’d like to know what features most people would want. Any suggestions are welcome, but I won’t promise I’ll implement them 🙂
PS. Yes – it’s free of any minix code, and it has a multi-threaded fs.
It is NOT protable (uses 386 task switching etc), and it probably never
will support anything other than AT-harddisks, as that’s all I have :-(.
From the last paragraph it seems that Torvalds own limited expectations have not come true and that it has become much much bigger, both in size and importance, than initially thought by him and others. When we include all devices Linux runs on and manages nowadays, like Android phones, web servers, Internet of Things devices and normal computers, it is the most used operating system in the world. And more than 28 million lines of code is not a small operating system as well.
What is open source
In addition to Linux, chances are that you have also heard or read about open source. Linux and open source have an important relation, so let us also briefly dwell on the backgrounds of open source.
Simply put, software based on the open source principle is a form of software creation and distribution in which the source code is freely accessible to everyone, can be viewed, changed and used as the basis for a new variant, without there being any copyright to be able to stop this freedom. That is why they use sometimes copyleft instead of the well-known copyright. This is a good contrast with commercial software that is mostly closed source and therefore not freely available to be viewed, copied and adjusted. The development of open source applications is done by a huge joint partnership of both individual programmers and large companies.
Open source has its advantages, but also disadvantages. Because the source code is completely transparent, everyone can look at it and can react very quickly to, for example, risky issues and security breaches. When a problem is discovered, in principle a large community of passionate programmers can turn to the problem and problems are often solved very quickly. This in contrast to closed source software, where we are often dependent on a commercial party that has to weigh certain things before proceeding to take action, which can lead to delays. But on the other hand, the open nature has the disadvantage that many variants of software and distributions can be developed that can make the landscape unclear and make decisions about which software to use a bit more difficult.
So to summarize. Linux is a piece of software that makes it possible to use your desktop computer or laptop in a user-friendly way. The reason for the start of the development of Linux was MINIX. In 1991 Linus Torvalds, a student from Finland who was very interested in MINIX, started a kind of a hobby project to build his own operating system kernel inspired by MINIX, but based on his own code. Linux is only the core of the operating system, also called the kernel. The kernel is continuously engaged in activities such as handling hardware and software signals, assigning memory to processes, managing processes and interpreting and managing input and output signals and associated rights. Open source software is a form of software creation and distribution in which the source code is freely accessible to everyone, can be viewed, changed and used as the basis for a new variant.
Now that we have laid the foundation for Linux, in the following tutorials we can focus on how to choose, download, install, set up and use a Linux distribution. Lots of fun!