Most people don't understand how fundamentally important Linux is to their lives. Almost everything on the web and the vast majority of devices are powered by the Linux kernel. This is because Linux is fast, reliable, stable, efficient, open source and free to use with essentially no restrictions. Even Google's famous Android OS is Linux, using a modified version of the Linux kernel. It has been reported that the Linux code-base is one of the most complex workable structures in the existence of mankind. Even a massive company like Google couldn't even dream to match it - such is power of open source communities not to mention the brilliance of Linus Torvalds.
What we know as Linux of course isn't just the kernel, it's a fully functional operating system more accurately known as GNU/Linux. GNU is the original free (as in freedom) project started by the visionary genius, Richard Stallman. It is closely aligned with the Free Software Foundation which was also founded by Stallman. GNU's extensive software suite and the Linux kernel come together to form the fully functional GNU/Linux operating system. The beauty of course with open source projects is that they can be taken and modified (forked) by anyone and then made available to everyone under the same unrestricted license. This has led to many different distributions (distros) of the GNU/Linux OS that meet the specific needs of various users. Many of these have become large, long-term, open source projects in their own right (e.g. Slackware, Debian, Fedora), along with newer and highly popular distros based on the older ones (e.g. Ubuntu which is based on Debian).
Gnu/Linux has traditionally excelled as an OS for servers and dominates this space for reasons previously touched on. However, it has struggled as a desktop OS for various reasons including not being so user-friendly for non-specialised users, confusion in the broad diversity of distros, a lack of marketing, and a lack of broad hardware and software support (including games). Fortunately these problems are now almost non-existent with further development improvements and distros such as Ubuntu and Linux Mint focusing heavily on the user experience and with all the features people expect coming from other operating systems working straight out of the box. Hardware support is now also very broad and software available that can pretty much match anything you can do on other operating systems. On top of this, when you consider the cost, speed, stability, security and software management advantages you get with GNU/Linux, it makes a very compelling case for desktop use as well.
From a web developer's perspective, using the GNU/Linux OS on your development machines (and live/remote servers of course) is a great way to go, especially since the web largely operates on GNU/Linux and open source-based frameworks (e.g. LAMP stacks). Developing on a non Unix-based operating systems such as Windows, always seems to be a bit of a battle, having to install programs to provide Unix compatibility and having problems with functionality and feature use. Many developers of course currently use Apple's Unix-based OSX, but in time we may even see more of them moving over to GNU/Linux.
Of course if you're thinking of giving GNU/Linux a go as your desktop machine and/or for development, you don't need to jump in boots and all. You can start getting a feel for different distros by trying them out on a virtual machine such as VirtualBox, and then when you're more serious, moving to a dual boot set-up. For people that have never used GNU/Linux, it does take some getting used to, but the payback for this investment in time is definitely worth it.
In future articles I'll be covering the use of GNU/Linux and some of the best free and open source software available to improve personal productivity and business performance.