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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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
Command Line Kung Fu is packed with dozens of tips and practical real-world examples. You won't find theoretical examples in this book. The examples demonstrate how to solve actual problems. The tactics are easy to find, too. Each chapter covers a specific topic and groups related tips and examples together.$ Check price