Short answer – Linux is a kernel.
- Linux = a Kernel (no shell, browsers, compiler included or installer to install it on the system)
- Linux = The term used to describe UNIX like free and open source operating system.
- Linux Distribution = a Linux kernel + Shell + Browsers + GUI + Media Players + Tons of other apps +Installer etc. In short, various operating systems built on top of the Linux Kernel. Red Hat, Debian or Gentoo all are Linux distribution built on top of the Linux kernel.
Few interesting facts about Linux operating systems
- UNIX like OS : Linux is UNIX like free and open source operating system. However, Linux do not seek UNIX branding. Most Linux distributions prefers not to brand their distro as UNIX dues the the costs for certification. Also, most business are well aware of the Linux brand.
- More about the creator : Linus Torvalds is the creator and chief architect of the Linux kernel. He now acts as the project’s coordinator. The name “Linux” comes from the Linux kernel, originally written in 1991 by Linus Torvalds. However, initially Torvalds wanted to call the kernel he developed as Freax. Torvalds owns the Linux trademark, and monitors use of it through the non-profit organization called Linux International.
- More about Linux kernel code: About 2% of the Linux kernel was written by Torvalds himself. Today the Linux kernel has received contributions from thousands of developers across the globe. Torvalds remains the ultimate authority on what new code is incorporated into the standard Linux kernel hosted at kernel.org. However, Linux distribution modifies the kernel as per their users requirements. For example, Red Hat, often backports patches to stable kernel version and distributes to millions of subscriber using RHN paid service.
- Linux mascot : Tux has been widely adopted by the Linux community as the mascot of the Linux kernel.
- More about copyright: The Linux kernel, GNU utilities and software are licensed under the GNU General Public License (GPL). The GPL make sure that anyone who distributes the Linux kernel must make the source code (and any modifications) available to the recipient under the same terms. However, other software included with Linux distribution may be licensed under BSD, MIT, or any other open source License. For example, the X Window System uses the MIT License.
- Programming language and tools used to write Linux kernel: Linux is written in the C using GNU/GCC compiler set. A small number of sections of code written in the assembly language of the target architecture. Most Linux drivers are written in C itself. However, you can use many other languages such as Perl, Python, and various shell scripting languages to manage Linux systems.
- Portability : Linux kernel runs on wild verity of hardware including mobile phone, handheld computer, mainframe server, supercomputers, desktop and many small and embedded devices. Linux is now considered as one of the most widely ported operating system kernels.
- Linux adoption : Linux is growing very fast and adopted by many users around the world. The Linux market is growing rapidly, and the revenue of servers, desktops, and packaged software running Linux is expected to exceed $35.7 billion by 2008. Linux operating system used by students, business, homes, organizations, companies, and governments. Please note that the Linux desktop market share range from less than one percent to almost two percent. In comparison, Microsoft operating systems hold more than 88% market share. However, Linux has larger share in servers, netbooks and embedded devices.
- Graphical user interface : A number of desktop environments are available, of which GNOME and KDE are the most widely used.
- Command-line interface : A number of command line interface environments are available, of which BASH is the most widely used. There are a lot of small and specialized utilities (such as awk, sed, cut, paste and so on ) meant to work together and to integrate with other programs. This is called the toolbox principle.
- Process Scheduling : Linux kernel 2.6 once used a scheduling algorithm favoring interactive processes. However, Linux offers other process scheduling alogs such as Completely Fair Scheduler.
- Support: Linux is mostly supported by community using online forums or mailing lists. Red Hat, Canonical, Novell and other major distributors have paid phone support available as well. There are also paid local Linux techs available.
- Documentation and Training: A Wealth of information is available free online in forms of blogs, wikis, tutorials, or in books, as well as on vendors own support page. Detailed documentation for specific commands, programs, functions, libraries, files, and file formats are available through the man pages, which are accessed through the command line, or through graphical viewers. Training available via many computing university courses in programming and computer science. Also, vendor specific certifications are provided by Linux Professional Institute and some distributions, such as Red Hat and Ubuntu.
GNU/Linux vs Linux naming controversy
- The Free Software Foundation ask that such operating systems be referred to as GNU/Linux as it uses GNU utilities and compiler.
- The media (like this blog or newspapers or TV station) refers simply as Linux.
- Most Linux distribution uses term like Red Hat Linux or Debian Linux or sometime simply Linux. Some distributions such as Debian use GNU/Linux term.
- Linus Torvalds the creator of the Linux kernel, is against the GNU/Linux naming, stating that Linux is not a GNU project.
- FOSS and GNU enthusiast community member ask and uses GNU/Linux term.
A note about Proprietary Software under Linux
Proprietary software is the legal property of one party and usually it is govern by contracts or licensing agreements. These terms may include various privileges to share, alter, dissemble, and use the software and its code. Well known examples of proprietary software include Microsoft Windows / Office, Adobe Photoshop, Mac OS X, some versions of Unix and drivers.
The Free Software Foundation (and most Linux distributions such as Fedora) follows the rule that by default users cannot install any proprietary program on your computers except temporarily for the specific purpose of writing a free replacement for that very program. However, nobody insist that users of GNU, or contributors to GNU, have to live by this rule. In some case you need to use proprietary software or driver to finish the work or use the hardware device such as Nvidia graphics card.