Most of us have heard of Linux term and thought of it as some high-level term used by IT nerds. If not Linux then you would have heard ‘Ubuntu‘ or ‘Mint‘, which are variants of Linux. Basically, it is just a desktop operating system, like Windows, OS X (MacOS), Chrome OS, etc. It was developed by the Finnish Software Engineer, Linus Torvalds. The most popular and widely used OS in the world of mobile phones, Android is based on Linux. As Linux is usually thought of as an OS used by IT professionals and is considered to be complicated. But, that is not at all true. Linux today is as easy to use as Windows and OS X.
Evolution of “GNU/Linux”:
“GNU/Linux?” Actually, Linux is NOT an operating system. Linux is the name of the kernel and is based on UNIX, another operating system. What is the kernel? For now, you can think a kernel as an engine of an OS. The ‘Kernel + System Softwares‘ make up an operating system. The OS that uses it as the kernel is ‘GNU/Linux‘. Linux would have been incomplete without software of the GNU project and vice versa. Richard Stallman, an American software freedom activist, and a programmer is the founder of the GNU project.
To get a clear understanding of the term ‘GNU/Linux’, let’s go back to 1971. Near the end of his first year at Harvard University, Richard Stallman became a programmer at the MIT Artificial Intelligence Laboratory. In those times, there was a well-formed community and sharing of code was a usual practice, which he considered as common as sharing a piece of the recipe. But, in the early 1980s, the situation was changing. The modern computers of the 1980s, now had their own operating systems, and none of them were free software and one had to sign a nondisclosure agreement. Stallman found this whole idea of not being allowed to share and change the code, as unethical and antisocial, dividing the public and keeping users helpless.
As a programmer, he had an easy choice to get a job in any company and live a well-settled life, but he wanted to do something for the good. What was needed first was an operating system, without which software is useless. With a free operating system, he wanted to create a community possible once again. The operating system UNIX was grown widely in the 1980s. Therefore, he chose to make the system compatible with Unix so that Unix users could easily switch to it and named it GNU, a recursive acronym for “GNU’s Not Unix.” In 1984, he quit the job at MIT and began writing GNU software. Slowly, people were getting involved in the GNU project. In 1985, they created the Free Software Foundation (FSF), a charity organization for free software development to seek funding. However, in the 1990s they were having problems developing kernel. The kernel, which they had named Hurd, was not working and without a kernel, an operating system is useless.
This is when one of the most famous messages of the computing world was posted:
“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…”
– Linus Torvalds; Posting to comp.os.minix; 25 August 1991.
Linus Torvalds was a 21-year-old student at University of Helsinki, Finland with a PC based on an Intel 386 processor and a 16-bit MINIX (A variant of UNIX) to run on it. He was a user of Unix and Unix-like systems were very much interested in kernels and OS design and had a very strong understanding of how Unix functioned. He thought to try to write his own Unix-like OS kernel, just as a ‘hobby‘. He succeeded well enough and released it to the public. He had wanted to call the kernel ‘Freax’ ( ‘Free’ + ‘Freak’ + ‘X’ to indicate that it is a Unix-like system), but his friend named Torvalds‘ directory ‘Linux’ and the name stuck. Torvalds first published the Linux kernel under its own license, and later in January 1992, he released version 0.12 under GNU Library General Public License (GPL). More and more people started to contribute code to Linux. And two years after Linus’ post, there were 12, 000 Linux users. This is how the ‘GNU/Linux’ was born. Torvalds had written the kernel of the system and the software used to complete the operating system were of the GNU project. So, the term GNU/Linux is used to express the operating system as the combination of the GNU system with Linux as the kernel. Hence, calling the whole system like Linux is unfair and GNU should also be given equal importance.
Since then, there are been hundreds of distros based on GNU/Linux, thousands of software engineers contributing daily to improve it and millions of users living free’.
- First and foremost reason is it’s free, free of cost and free to change and share. Of course, the user needs a working internet connection to download, a bootable USB-Drive or a GNU/Linux CD to install it. With GNU/Linux everything is free. You don’t need to pay for the key. There some premium versions of GNU/Linux, which offer some additional software, but normally you won’t need it. You are free to change it as you want, share the code with anyone if you notice any problem you don’t have to wait for an update to get it solved. You can do it yourself. No, that doesn’t mean that you will need to learn all the code and you have to fix it yourself. That’s the power of community. All you have to do is visit the community forum, post your problem and within hours you’ll get the number of fixes or it may already have been asked and answered.
- It is light, speedy and requires a lot less in terms of hardware, doesn’t get slow with time and it comes with an all-in-one package, all drivers come pre-installed with the kernel, along with most of the basic software. Nowadays, the graphical user interface is improved a lot, you can install it quickly by just a few clicks and do all your usual (as well as unusual) stuff, without having to type a single command.
- There’s one thing you can not ignore, virus. If you use PC just for fun, then you would be browsing and downloading a lot of stuff, songs, videos, movies, games, etc. Surely, you would have been infected by the virus (of course not you, your system) and you would be paying for antiviruses. Again, in GNU/Linux, you don’t need to pay for antivirus, because you don’t need an antivirus! It is highly secure, immune to the virus and you will rarely encounter one.
- Gaming has always been a downside of Linux. Of course, gaming is not impossible on GNU/Linux. Many popular games, as well as native GNU/Linux games, are available, but they are less in number. Although some windows games are not available at all, there are ways to play, using emulators. Emulators let you run any windows applications in GNU/Linux. Wine, CrossOver and PlayOnLinux are the popular emulators, available for free, except CrossOver. But, still, they have performance issues. The situation is improving these days with ‘Steam’ the popular gaming platform being available on GNU/Linux.
- Another problem is that there is not a single standard edition of GNU/Linux like Windows XP, 7, 8 & 10, which makes it difficult to find out which is best for your piece of hardware. Though it’s getting easier nowadays to use GNU/Linux, there surely comes a point where if you want to do more stuff then you will have no other option, but to learn some of the commands and have a bit of trouble implementing them.
Conclusion: There are hundreds of GNU/Linux distros available, suitable for all types of people, ranging from beginners to experts. With so many distros, with so many versions, with so many desktop environments, it seems difficult to get started. Starting with Linux Mint 18.1’s (Mate) is a good choice, for moving from Windows, as its interface is similar to Windows and it is quite stable as well. You can dual-boot, which means installing, without having to remove windows. And by the way, don’t be worried by the name, 18.1 is the version number and Mate is the name of the desktop environment. Installing is pretty much simple, just download the .iso file from the official site of Linux Mint, make a bootable USB-Drive and install.
- Linux Kernel Module Programming: Hello World Program
- Puzzle | Minimum planes to go around the world
- Linux Virtualization : Linux Containers (lxc)
- while command in Linux with example
- Fun Commands in Linux
- Different Shells in Linux
- who command in Linux
- SED command in Linux | Set 2
- du Command in LINUX
- od command in Linux with example
- Run Levels in Linux
- Linux | Nmon
- The Linux Kernel
- 10 Best Linux VPS Hosting
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.