August 01, 2001

Do you need Linux?

Eventually the revolutionaries become the established culture, and then what will they do
-Linus torvalds

It is apt that I start such a topic with a quote from the man who was one of the biggest influences in the growth of the 'alternate' computing. If you are a person who keeps himself reasonably up to date with the world of the Internet, and the world of the computers in general, you would have heard that there is this thing called Linux, that is making quite a few, otherwise sane people, rather crazy.

You might also have realized that a lot of this crazy ire is directed at a company at Redmond, and at a person who is reported to have been the person who was in the garage that lead to the whole thing. What is all this? Why should you bother? Do you really need Linux?

A Revolutions Begins

Before we delve into questions such as these, a little background only helps develop a perspective. And it never hurts.

The commercial world that is prevalent in times such as now, have made a concept very important, "returns to investment". Such a concept has left in its wake a tremendous amount of muck and nonsense. Conventional wisdom says that if you spent some time doing something, then your effort must be adequately accounted for. It therefore does not make sense to give away hours of your time, which you could have spent in other ways more profitable, as a faceless, nameless entity who works so that others' world is made simpler and more productive.

That is what a number of people are now doing, as the many programmers for the present day miracle called Linux, whose users are an estimated 7 to 8 million. It all started in 1991, when Linus Torvalds a 21-year-old computer science student at the University of Helsinki, decided that his personal operating system, Minix, a Unix-look-alike operating system was not good enough. He was pretty sure he could write something better. So in a very brave and foolish attempt started to write his own. But in doing this he made am important decision, to involve people. He took the help of a number of the news groups at that time, to ask for ideas and guidance.

Then he did something unbelievable. He put up all his work on the Internet, source code et all, and asked for people to download the same and modify it to increase its functionality. What hap penned then was something that could not be predicted. The 'netlanders' decided to fall in love with this unique experiment of writing a fully free and multifunctional version of 'minix'. You will find a number of pre 1.0 release posts by Linus here. From a recognition of the fact that he needed the help of the unknown people to help him with his project, to the decision to put up the work as a tribute to all those who contributed, was the step that changed the face of things to come.

He was not alone in this. There were a number of other peoples' ideas hopes and aspirations he was carrying with him in his endeavor. But that was not what was driving him at that time. In fact Linus himself was very depreciatory of his work at that time. What started as a unique experiment of a man who was not satisfied with the way he found his environment and decided to do something about it.

With the help of hundreds of volunteers the progress of Linux continued. As the early 1.0 releases were completed and the kernel started of boasting of features of modern software. Parallelly continued the porting of the utilities of the GNU project to Linux. So now we have Linux/GNU as one of the best replacements of the standard desktop OS, Windows.

What is Linux?

Unlike commonly supposed, Linux is not the complete operating system. Somewhat like Windows not being the total system that you work on. Linux refers to the kernel that is run on the system. The kernel is the most important program in the Linux setup. It is a piece of very robust and beautifully written code that forms the interface between every other program and the hard work tat lies beneath. It is the most important component in the system, that does a number of tasks that allow the other programs to run easily without caring too much about various critical yet mundane tasks.

The Linux system on the other hand, that we normally refer to as Linux, is technically to be called Linux/GNU system. The GNU is a project that was started with a view to make the software totally free and to make it open source too. Many of the utilities that come bundled with the standard Linux installation are utilities written under the GNU project. Hence the combination of GNU and Linux is responsible for the revolution that is taking place now.

What revolution?

The trend of the PC was set by the company called Microsoft, with the release of the dos, which was a far departure from the existing scary entities running very powerful yet arrogant programs. The computer till then was limited to huge monsters, costing heaven and earth, manned by technicians, without having a concept called user friendliness. Into such an environment, coinciding with the advent of the smaller, cheaper, more powerful desktop machines, the disk operating system simplified the system so that everyone could use it. There lay the reason for the success of the modus operandi. With a focus so blinding on usability, somewhere along the line the basic reason for existence was forgotten. What started as a movement for the inclusion of the masses into computing, turned into a sorry excuse for sloppy programming, simple uniform interfaces and a general degradation of the entire computing cycle.

The world has seen in the form of the macintosh, an example of slick user interfaces. It had already seen in the Unix environment, power and stability. But under the guise of operability, it saw excuses. The Windows operating system, has maintained its look and feel since its first Windows 3.1 that came with the GUI. Its release of the Windows 95, was met with looks of astonishment by the members of the Apple tribe, who had that kind of operability almost 10 years ago. But for a sheer chance of location, Windows would not have made it to where it is now.

With its single minded fanaticism for easing things for the user, Windows has done something very peculiar. It has made the user end very easy and simple to use. It has also made basic programming so easy, that it is now possible for non-programmers to program too. Also with this heavy bias it has made the actual implementation by a professional programmer ridiculously complicated. The whole of the Windows software architecture, is so ridden with patches and workarounds that no coherent picture can be made of it.

The usability also introduces an important concept of backward compatibility. In a word this means that a windows programmer can never leave his past behind him and move on. No matter what he does he must support all that he has done, because of the remote possibility that someone might be using the software and might be inconvenienced. Add to this the sloppiness Windows code introduces. Not only do non-programmers program, they add to the headache of all those users of his code. The DLL based structure, supposed to make life easier became the trap that might just break up Windows.

This has introduced a vast intellectual gap between code developers and the users. This has necessitated such a difference in perception of the machine between the two, that the user hands over his machine to the developer, completely, when he wants to get a new program installed. With a lack of any credible system of security, it is possible for just about anyone to take control of a machine with a program written to do that. Getting a new program means running an installation program, and what it does is so transparent to the user, that he is not even aware it the program is a beneficial one or not. In fact even a discerning user might not have the means to know more. The sheer bias against involving the user in the maintenance of his own machine has led to phenomena such as the proliferation of the virii. No one knows, behind what interface lies what program that might be responsible for what damage.

The proliferation of the Windows environment has also led to a number of erroneous beliefs about the personal computer. One of them being the idea that a PC is personal, by implication no one else works on it, by implication no concept of privileges or restrictions. By a further implication, virii and trojans are a common place occurrence, one that is to be rectified rather than prevented. This hardly reflects reality. Even a truly personal system is used by more than on person at a time. And the lack of security safeguards has made it impossible for the owner to put in place any checks to safeguard his own machine.

A second one is the automatic acceptance of the irrationality of the computer. "It just happens that way", is a view a lot of Windows users keep. If restarting windows works, then that is the best method, and the only method. To work around a certain bug in the software, hit and miss policies are devised and stuck to. This gives the computer an aura of art, an aura of black magic. This makes the average user even more dependant on the system and hence on the vagaries of Windows.

And third, and a very serious idea, is the acceptance of the 'fact' that crashes and instability are an integral part of a system. Reinstalling Windows is a little trick right on the top of the charts. This has also lead to a sheer drop in the demands of performance of a system. "Too many windows cause a crash" is absurd because, being a multitasking operating system equipped with paging techniques, the Windows system was supposed to deal with such a demanding environment. Windows has been successful in shifting the onus of their programming blunders onto the users of the systems.

So why have we been accepting all this? A very valid question. There are several reasons. The first one being the fact that Windows was there first for the desktop users. Another is the tremendous job done by the Public Relations team at Redmond. What today go about under the name of Internet virii, email worms should effectively have been named Outlook worms and Windows virii. Any simple analysis would reveal that a host of these problems commonly associated with the Internet are in fact those that occur to those with Microsoft Software. Further if it were not for Microsoft's carefully worded user license agreement, which holds the company blameless for absolutely anything, they would probably have been awash in class action lawsuits by now.

This then is the revolution. The rebirth of the good old days of computing in a new avatar. The reincarnation of the power and stability of the good old Unix, on the desktop. The taming of the shrew so to speak. What was till yesterday a personal domain of the students of computer science is now being opened to the people at large. In short it is a chance for the average user to truly get the best he can afford. It is a chance for the user to be able to use the computer to its fullest capacity.

Does it effect me?

The development of the desktop for the Linux system is probably the main reason that has made this revolution a distinct possibility. Linux offers a lot, to every section of the computer user populace.

Are you a Novice user?

You will benefit from a new user interface. Linux offers all that you possibly want from the desktop. There are tools that allow you to create all the requirements of the office, that you have been used to.The Staroffice is a suite of tools that not only replicates all that you have been getting from the Microsoft Office suite, but will also help you in the process of migration by providing you with compatibility with the existing office formats, so that you can safely convert all your existing information to the new OS. There are also applications that allow you to create presentations, create and maintain spread sheets, and of course check mail. There are also a host of other applications like Personal Information Managers, that help you increase your productivity.

Are you an Inquisitive user?

You will benefit from the tremendous amount of information that is available on the topic of Linux and the related information about programming, and API calls etc. If you seriously do want to learn more about the machine that you are dealing with, Linux offers you a look beneath the hood, and lets you unleash the power of your box. It is a hands on approach to building your own personal machine. Also the stability of the system allows you to experiment. As a user you will have access to all those programs that are normally out of bounds for a Windows user. You get to install and administer Web and FTP servers, Mail servers, and a host of other applications that help you have a glimpse of the true power of Linux. For the icing of the cake, you will be privileged to look at the actual source code that runs your system.

Are you are Power user?

You will fall in love with Linux. The early Unix machines were built with networking in mind. All application were written without the assumption that its execution will be limited to a single terminal, and one user. You will have a host of application that allow web access. You will be able to run and maintain servers for Internet usage. You will be able to configure a variety of services that can be used by others, even if they are those unfortunates that run Windows. Web, mail (pop and smtp), FTP, telnet, rsh, proxy servers and others are some of the services that can be configured to run across networks. Given the status of Linux as an alternate Operating System, it comes bundled with a number of tools that allow cross platform access, including remote administration etc.

Are you are Programmer?

In spite of what Redmond tells you, you believe, as a true, hardcore programmer, that programming in C is the best way to do it. Or you may indeed have imbibed in you, the classic ways of Larry Wall. What ever be the case, Linux offers you a programming options that compare with the best in business. That old simple program, in C, that you believed was the most important thing to ever find its way through a keyboard, is suddenly useful again. Not only does Linux offer one of the richest set of API calls that an OS can offer, with the evolution of the new graphic interfaces, it also has a number of functions that allow you to program in the tremendously flexible and powerful graphical interface. Tool kits such as the gtk+ allow programmers to access the power of the GUI through native C code. And if you though you were better off without having to write code for all the mundane tasks like creation of interfaces etc, Linux comes in with tools to generate the interfaces with a click and drag approach, ala Visual Basic or Visual C++.

Can I afford it?

A tricky question really. Depends on what you mean by afford. But the answer can really be 'yes'.

If by 'afford' you mean the time required to change into a new Operating System, the answer certainly depends a lot on you as the user. There are currently a number of distributions that make the process of installation and maintenance an easy chore by providing user friendly and graphical interfaces wherever possible. Work in this field still is in progress, so even as we talk there would be newer more friendly interfaces released that probably take user friendliness to a new level.

All said and done there do exist problems to users. Linux still is under development. All that you get is the work of a number of people who did it in their spare times and have allowed you to use it for free. But it is these people who are always available to help you. There is a lot of information that is accessible regarding all the aspects of the Linux system. If you can afford some time to look up and solve your own problems, there is nothing to beat that pleasure. A little bit of information, a little bit of spare time and a little bit of creativity and the heart to experiment are all that is required for you to use Linux.

If by afford you mean the price, well what can I say. Other than the fact that whole of the Linux system is available free of charge. Most components are available under a very flexible licensing scheme called the GPL. This scheme does not prevent the commercialization of Linux components, but provides a mechanism that will protect the rights of the creators and at the same time allow you to tinker with the source code. There are a number of commercial versions also available that allow you to order a Linux distribution at a very reasonable price (Unlike the heaven and earth you have to pay for those from Redmond) and also provide you with a limited amount of after sales service too.

When do I start... now?

You do not need to be an expert to use Windows. At the same time no matter how much you use Windows, you will never be called an expert. This is because the Windows environment was not created to give you expertise of any kind. Again you do not need to be an expert to start using Linux, but once you are done with it, you will be one hell of an expert.

Some of the early pioneers

In the early 1980s, Richard Stallman founded the GNU Project, an attempt to build a free operating system based on Unix, and the Free Software Foundation, dedicated to promoting open source software. He's also the brains behind the GNU General Public License, or "copylefting."

Larry Wall wrote the first version of Perl in 1987.

Andrew Tanenbaum released Minix, upon which Linux is based, in 1987.

David Greenman served as principal architect on the FreeBSD team in 1993.

Brian Behlendorf was the chief engineer of the team that built the Apache Web server in 1995.

Document Changes
August 01, 2001: First version.
April 02, 2009: Minor updates & corrections.

No comments: