01. What is Linux?

Linux is a free, open-source kernel used by wizards and geeks, published under the GNU General Public License. It is free for use and its code readily available for contribution. The Linux kernel is what allows GNU shell utilities and other free application softwares to communicate with the hardware components of your system and make up the Linux Operating System.

Some may group the term "Linux" as an umbrella term that covers all Operating Systems that use it, but in reality, the term only refers to the kernel. Here, we'll reference the Linux Operating System as the system that contains the Linux kernel with free GNU software utilities.

History of Linux

In 1964, Bell Labs developed an OS called MULTICS (multiplexed information and computing system). This was a multi-user, multi-tasking system that could network with the Internet. The main developer on the job was Ken Thompson, who wrote this on his PDP-7 computer, an assembler and other utilities. This platform was later dropped to give room for UNIX, which inherited many of its features.

Adoption and spread of UNIX

As soon as UNIX was rewritten in C, it gained popularity, as it was compatible with a variety of platforms. With this, UNIX dominated universities with students and professors at adopting to the platform for classroom use. This allowed for more features to be developed and added onto UNIX.

GNU's not UNIX (GNU)

In 1983, Richard Stallman began work on the GNU Project. The goal was to make a UNIX-like operating system, but have it completely open-source and free of charge. Stallman and his team were able to create a full operating system, but development in their main kernel (Hurd) was lacking, preventing the system from being complete.

Richard Stallman, creator of the GNU Project. GNU's logo
Richard Stallman started the GNU Project in 1983.

Linux: a fun project, nothing serious

In 1991, a student named Linus Torvalds thought he could do better than MINIX, another UNIX-like operating system for academic use. What started out as a fun project eventually led to the development of a kernel which would eventually be named Linux. This was later incorporating into Richard Stallman's UNIX-like operating system, which is now called Linux OS.

Linus Torvalds, the creator of the Linux kernel. Tux, the official mascot of Linux.
Linus Torvalds, the creator of the Linux kernel, alongside Tux, the official mascot of Linux.

Recursive Acronyms

Within Linux and the computer science world, you'll come across acronyms that are confusingly recursive. Examples include GNU (GNU's not UNIX), WINE (Wine's Not an Emulator) and RPM (RPM Package Management).

Open-source philosophy

When we say Linux is free, we mean free as in free beer, and having the freedom to customize each piece of the system. All code is open-source, meaning that you are able to view the source code and edit it. The only restriction is that if you add any features or fixes on any bugs, you make the changes available to everyone else, free of charge.

This approach to software building has encouraged collaborative effort. Especially with the inception of the Internet, we now see a decentralized, not-for-profit model of production that promotes universal access and a push towards creating the best software.

Open Source Software.
Open-source software advocates and licensing types.

Open-source software and licensing types

There are some other open-source licensing types out there that you may come across. Take a quick read-through of them and their description.

FSF (Free Software Foundation) is a nonprofit organization whose mission is to promote the freedom of computer users and to defend the rights of all free software users. This group envisions a world where any user can study the source code, modify it and share the program with anyone. FSF supports the GNU project and its family of operating systems.
The Open Source Initiative's purpose is to protect and promote Open Source software.
GNU's General Public License claims that one may alter the code to a particular code, but any derived must be made freely available under the same license.
BSD (Berkeley Software Distribution) covers a family of permissive free software licenses that has minimal restrictions levels on the redistribution of softwares.
The Creative Commons License allows users more freedom that regular copyright laws would allow. By claiming a work as CCL, authors are giving people the right to share, use and edit the work they have made.
Free/libre Open Source Software is software that is not only free in terms of no cost, but also are free to do whatever you want with it. Volunteers and users are encouraged to build upon the works and share it.

You may think that free and open-source software would contain many security vulnerabilities, since the code is available to everyone and no one's getting paid to fix anything. However, this is not the case. Each bug and vulnerability is constantly being fixed and patched by one of the many community members, making the software more secure and stable. One of the hallmarks of open-source software is encouraging and empowering the users to not just report the bugs, but fix them as well.

Business models with open-source software

So how does one make money developing open-source software? We may still see viable business models for an open-souce software. Developers can be consultants for a certain company that uses the software, or they develop additional features and charge for these proprietary add-ons.

Who uses Linux?

Even without directly using Linux as an operating system, you have most likely enjoyed its implementation. Over 95% of servers worldwide operate on Linux, meaning that whenever you surf the web, check your email or download a file, a database that is powered through the Linux server is serving you content.

Other common uses of Linux include Android, which is based on Linux. Furthermore, Linux is used in embedded consumer electronics systems such as smart TV's and vehicle entertainment systems that are based on the Linux Kernel.

Linux in Industry: Virtualization

As mentioned above, Linux is used in servers to provide data and allows for cloud computing. Industry is able to provide this through virtualization, which is the technology that allows for multiple operating systems and applications to run simultaneously on a single device. With multiple Linux systems on one computer, users are able to make the most of their hardware components, increasing efficiency and flexibility.

Want to avoid becoming a code monkey?

The Productive Programmer

Want to avoid becoming a code monkey? Try Good Practice

The Productive Programmer offers critical timesaving and productivity tools that you can adopt right away. The book offers advice on the mechanics of productivity - how to work smarter, spurn interruptions, get the most out your computer, and avoid repetition - along with valuable practices that will help you elude common traps, improve your code, and become more valuable to your team.

$ Check price
39.9939.99Amazon 4 logo(41+ reviews)

More Good Practice resources

Take your Linux skills to the next level!

The Linux Command Line

Take your Linux skills to the next level! Try Linux & UNIX

The Linux Command Line takes you from your very first terminal keystrokes to writing full programs in Bash, the most popular Linux shell. Along the way you'll learn the timeless skills handed down by generations of gray-bearded, mouse-shunning gurus: file navigation, environment configuration, command chaining, pattern matching with regular expressions, and more.

$ Check price
39.9539.95Amazon 4.5 logo(274+ reviews)

More Linux & UNIX resources