“You wouldn’t buy an automobile that has the hood welded shut; it’s really no different in the software business.” — Tom Robon, Redhat Inc., USA
What, Why, From Where?
People want to believe they get what they pay for. Whether it’s a new car or a TV set, it’s easy to say than done; that you get quality if you pay a bigger price. It is not so in the world of software. The Linux operating system may prove that; sometimes, the best things in life are but free.
And this is pretty normal with open UNIX software compared to proprietary ones — the best stuff is free, the lousy stuff is what you have to pay for! I mean the best x86 UNIX (Linux) is free, the best C/C++ compiler including all other best development tools in existence (GCC, the GNU Compiler Collection) is free, the best publishing or text processing software in existence (TeX/LaTex) is free, the best editor in existence (EMACS) is free, the best console/text user interface (mc, the Midnight Commander) is free, the best mail transport agents (sendmail, smail, exim, postfix and qmail) are free, the best mail processing/filtering software (procmail, maildrop) are free, the best mail retrieval agent (fetchmail) is free, the best mail readers (pine, mutt and many others) are free, the best news transport agent/NNTP servers (inn, cnews and dnews) are free, the best news transport proxy/slave servers (leafnode and newscache) are free, the best scanner back-end/front-end software (sane) is free, the best image processing software (gimp) is free, the best file, print and resources server (samba) is free, the best web server software (apache) is free, the best HTTP cache/proxy server (squid) is free, the best relational database management systems/severs (MySQL and Mimer-SQL) are free, the best object relational database server (PostgreSQL) is free, the best and most versatile networking suite (TCP/IP) and the best network aware GUI in existence (X-Window System) have free implementations. And the best desktop environments (KDE and Gnome) including office suits are also free. I’m unable to make the story short, there are hundreds of thousands such packages like xmms, xine, mplayer, xmovie, jazz++, timidity, LesTif, QT, GTK, Perl, PHP, Python and Ruby require a definite mention over here, but wonder me due to lack of space. Linux/UNIX is like that — open and largely free.
But, what is Linux?
Linux is an operating system, which acts as a communication service between the hardware (or physical components of a computer system) and software (or application/user programs) which use the hardware of an underlying machine to do some task easy for you. The Linux kernel (the core, much like a popcorn kernel) contains all the features that you expect from any good operating system, in short.
In brief, Linux is a preemptive, multi-threaded, multi-tasking and multi-user operating system that runs on Intel’s 386 or later based (and many others like DEC’s Alpha, Sun’s SPARC, SGI’s MIPS, Motorola’s 68K, IBM’s PowerPC/Cyrix, AMD’s Athlon and even Amiga) computers and performs better then proprietary versions of UNIX and, or Windows NT/2000. It’s kernel, the base/central part, was developed in some early 1990’s by Linus Torvalds, a student at the University of Helsinki in Finland. Linux’s origins itself are strange: Dissatisfied with his choice of operating systems, Torvalds started the project, with the help of Minix, a UNIX like operating system, included in Andrew Tanenbaum’s book ‘Operating Systems: Design and Implementation’, and rewrote one that he liked. After he made the source code publicly available on the Internet, a vast community of developers arose that has built on, improved and expanded or extended his work tens of hundred of times and this loosely connected team of volunteers is still engaged in improving, polishing and, or making new additions to Linux and will remain devoted to do so in future too.
Although many companies and individuals has released their software source code for years, there never happened a great success like Linux. It’s needless to say that the organizations like Free Software Foundation (FSF) in particular and Berkeley University, Massachusetts Institute of Technology (MIT) and many others in general have played a great role in making this Linux in to a useful and complete operating system. It is believed (read — well known) that FSF under its GNU (Gnu’s Not Unix) Project was geared to make their own UNIX like OS ‘Hurd’ a dent in the Free Software (Copylefted software under General Public License - GPL) arena, Linux came in and became a success with the help of GNU’s development tools and libraries which were almost ready to be utilized for their operating system Hurd intended toward Motorola’s 68K machines. These FSF people have not only provided most vital parts or developed utilities but the foundation libraries and a compiler for Linux, that is why the whole system is known as and, or should be acknowledged as GNU based Linux or GNU/Linux in short. Please note that the Free Software should never be confused with Open Source Software (OSS), the later has nothing to do with GNU, FSF and, or GPL, but can be distributed under GPL.
The Linux now has evolved into a full-fledged POSIX complaint operating system and supports parallel and, or distributed processing too. The Linux has played a great role in bringing the world’s most economical super-computing (Beowulf) machines with the help of its Parallel Virtual Machine (PVM) and Message Passing Interface (MPI), in addition to this it is quite easy to build and maintain Clusters of Workstations (COW) with Linux. Current estimates of Linux users worldwide put the numbers of users between 18 to 21 million. Just from a single/hobbyist user to corporate and even Internet Service Providers (ISP) are using it in their production environments. Linux source code (the internal instructions that make up the software) is publicly accessible. This means that there are thousands of developers and, or supporters — around the globe — working often voluntarily on developing Linux and bringing you many flavors of distributions.
What is a distribution?
Linux is distributed by a number of commercial and non-commercial organizations who add to, or enhance the basic functions (or kernel) of the operating system and, or additional applications, for example there are Redhat’s commercial and Debian’s non-commercial distributions of Linux with almost all the standard features of core and latest Linux kernel and enhancements, which are specific to their precise distributions. Generally, Linux distributions come completely pre-configured to specifications set by that organization along with setup utilities and automated installers.
Can we network Linux machines?
Networking support in Linux is much more advanced and superior to most other operating systems. Since the people developing Linux collaborated and used the Internet extensively for their development efforts, so the networking stuff came early in Linux development. Release after release many people have contributed to the Linux networking — UUCP and then TCP/IP, Net-2, Net-2d (debugged), Net-3 and now not only a most versatile and almost a complete Net-4 suite is being shipped with current kernels, but you may find even the free IPv6 implementations also appeared first but for and from Linux development libraries.
The Net-4 Linux Network code offers a wide variety of device drivers and advanced features. Standard Net-4 protocols include SLIP and PPP (for sending network traffic over serial lines), PLIP (for parallel lines), IPX (for Novell compatible networks), Appletalk (for Apple networks) and AX.25, NetRom, and Rose (for amateur radio networks). Other standard Net-4 features include IP firewalling, IP accounting, IP Masquerade and IP tunneling in a couple of different flavors and advanced policy routing are supported. A very large variety of Ethernet devices are supported, in addition to support for some FDDI, Token Ring, Arcnet, DECNet, Frame Relay, ISDN, and xDSL, and even ATM cards.
So, Linux is very good, often outperforming other operating systems on the same hardware. Not to astonish you, Linux can be networked not only with UNIX/Linux machines but, also with MS-DOS, Windows 3.1, 3.11, 95, 98, NT and, or 2000, Mac’s, Amiga’s and even Netware. Moreover, Linux can easily emulate for all these and may provide them better (read wider also) file/print and scanner sharing services. Your client workstations won’t be able to distinguish whether all they are getting these services but from a Linux Machine!! Linux is frequently preferred by businesses for its superior server and networking performance.
Well, how about desktop?
Though, the Linux is a work in progress on desktop side, you however, may find not only one or two but many light weight and, or champion desktop environments based on it’s one of best and only network aware GUI, the X-window system. Ask for After-Step, KDE or GNOME environments or try using Window-Maker, Blackbox, Fluxbox, XFCE, ICEwm and, or MWM and so on and so forth. Linux has almost all the nuts and bolts you generally require for or from an office/home PC, office suits Abiword, Gnumeric, Koffice, SaigOffice and StartOffice from Sun Micro systems, free OpenOffice.org, Internet browsers like Netscape, Opera, Mozilla and Galleon and so on and so forth. And for multimedia mpeg123, XMMS, FreeAmp and many more WAV, MOD, MP3 and, or Ogg Vorbis players … and gMPEG Player, XINE and xmovie for video/VCD/DVD playback, and X-CD-Roast and K3B for burning CD-R/RW and so on. There are lots free implementations available for fax, telephoney, calling cards and every other thing you imagine under Linux. Yes there are lots of calenders, planners, calculators, schedulers if you need one. You can easliy find many personal and, or enterprise database systems from net or even bundled with installation CD’s such as MySQL, PostgreSQL and Mimer SQL or even commercial ones like Oracle, Informix, Sybase and now a days even InderBase from Borland or Inprise and these Borland people though jumped late in the senerio but have ported one of their best Rapid Application and Development (RAD) plateform Kylix Open Edition, though there were some such tools already available for Linux — Kdevelop, ColdFussion and MoonLight to name but a few. You will be glad to know that now you have Corel WordPerfect, Corel PhotoPaint and Corel DRAW available also for Linux in addition to GIMP, xfig and Killustrator and the (this) list is growing day by day and hour by hour.
And what about the embedded systems?
Yes, it already is being deployed in embedded systems too. BTW, what kind of qualifications you require to make it (Linux or your preferred OS) the best for embedded systems? For your kind information the Linux kernel can easily be compiled to such a small size that you can fit it into a ROM or wrist watch — IBM has already done one such prototype project. Any thing you need for embedded system programming is mostly and, or readily available for this Linux thing, including special Linux versions such as Embedix, Pocket/Linux, Micro/Linux, OpenWRT and that too free of any royalties.
What about support?
Extensive support is available, both commercially by the distributors or hundreds of thousands freelance consultants and, or by the huge Linux community. Companies such as Redhat, Knoppix, SuSE, Mandrake, and many others sell commercially supported distributions and Exocore, HCL, Sanbroz, Risenet and many others provide installation, configuration, tune-up and, or maintenance services in India. Unable to pay huge amounts for an AMC (Annual Maintenance Contract), I as a freelance consultant, shall be happy to listen from you, contact us for health’s sake of your Linux machines as well as yours, your family and, or friends.
Community supported Linux distributions (such as Debian, Ubuntu, Fedora, Slackware, Gentoo and many more distributed by magazines and, or books) are also available. If you wish to know more about such a support that too is available, please go to Linux-India.ORG site or the like nearest to your country and another great initiative by the magazines PC-Quest and Linux-for-You in India; you may find lots and lots of such useful information or try finding a LUG (Linux User’s Group) in your locality or create one such group in your own region, if you really want to deploy and, or enjoy Linux.
Last but not least, you must search Linux@GOOGLE for Linux resources, where you may find lots and lots of links related to Linux.
An article written by me, it was published in MicroIT.wizard magazine, Chandigarh, November, 2001 issue.