By now, everyone has used, or benefited from the use of the Linux operating system. It is found in everyday appliances in the home, to supercomputers that advance the study of protein folding in cancer research. It’s kernel drives both the Android tablet, and Google’s massive search engine network. Linux, with open source projects like Apache, PHP, and MySQL power a sizable chunk of the Web. With all of this pervasiveness, why is it that we don’t see more of it on our everyday desktops?
There are many answers to that question. Part of it is the incumbent dominance of Microsoft Windows. Part of it is the numerous flavours of Linux, thus what does one choose amongst the sea of variants? Part of it is the availability of applications. The biggest barrier I see is human inertia. People, as any other object, like to be doing what they are already doing. People have busy lives, they just want to use their computers like one uses a hammer or screwdriver – it’s just a tool. Why fiddle with them? Indeed, computing is going through a whole revolution of trying to take computers and make them as easy as possible to use – intuitive as opposed to having to be conscious of what it is you are doing. Apple Chairmain – Steve Jobs, looks at a computer and see’s it like a bicycle – a bicycle makes human locomotion more efficient. Computers, according to Jobs, should be the same. This philosophy drives his expectations of Apple’s design of products. It dictates the look and feel of the hardware as well as the software. The need to control the elements extend to the very specifics of the hardware, as well as the licensing restrictions placed on OSX distribution (there is no distribution beyond Apple). The results are clearly seen. Beautiful hardware and easy to use software – so easy to use in fact that it really makes computers into a consumer appliance – no different from a cell phone, a toaster, etc, etc. To be sure, you can certainly be creative with an Apple computer – photography, graphics design, computer programming, desktop publishing, etc, etc.
Apple products certainly get out of the way the user for everyday use. For those who like to explore, tinker, and hack, the tightly sculpted system can feel rather restrictive. Exploring the facilities and capabilities of a system through play and experimentation can be a refreshing change from just typing out a letter, or slapping together another music album for listening. For those who want a challenge, and also for those who want to discover many of the ideas of computing in an open and unrestrictive way, I suggest that you look at Linux.
The Linux Operating system follows a design philosophy of modularity, and a social philosophy of openness and community. The modularity aspect comes in the idea that you create a software solution that does one thing and one thing well – and you marshal the different elements together through scripting or using a user interface layer. This makes the Linux operating system have a noticeable “toolbox” feel to it. You can issue a command using the command line console to spell check a text file, or you spell check your text in a graphically based text editor which just happens to use the same command you use on the command line. This kind of modularity allows the computer user to automate tasks in any combination desired. The modularity of the system encourages and lends itself to a user becoming a system programmer, a designer of your own solutions.
The social philosophy of openness and community are designed to make Linux exist and evolve primarily at the hands of it’s users. The openness allows anyone to tinker, hack, and innovate on and within the system. Liberal software licenses such as the GPL and Apache license keep source code open for professional programmers and tinkerers alike. In Linux, changes and innovations to its code can come from anyone and from anywhere. The code is shared, peer reviewed, tested, and documented in an open fashion. There are companies that do work on and support Linux, but the software licensing insures that you have access to the code, should you, or a software developer you hire, needs to make changes for your own purposes.
So why should you use Linux? Simple, it’s good for you, and your community. It’s good for you as you will learn how to be a knowledgeable computer user as Linux is both open, and yet providing challenge. Why play the “memory enhancement games” and “brain enhancement” games on a Mac, where you can learn and explore computing for free with Linux – and get practical knowledge with superior mental stimulation in the process (I liken this situation to the physically active, who take the elevator in order to get to the gym “Stairmaster”) . Why let your school board spend considerable sums of money on software licensing, when they could be using Linux without licensing cost (and use the saved money for actual support), and give your kids the CD – legally – so that they could submit their homework using freely generated PDF’s and internationally approved document formats?
In this age of globalization, off-shoring, budget-cutting, and pay for everything you use, it seems at times that the whole system of convenience and instant gratification in our modern living is designed to suck us dry of every hard earned penny we earn. Linux – with it’s openness, community of professional programmers and volunteers, zero acquisition cost, and unmatched scalability, creates a virtuous cycle. The virtuous cycle of knowledge moving up and down, of using, sharing, and contribution – all the while, creating the next generation of programmers, system designers, and competent computer users. Linux is not beholden to a single shareholder, a single vision, a single philosophical limit. Life is evolving faster than ever, we need tools and systems that can evolve just as quick. Linux moves at the speed of it’s users lives – at all scales.