"Linux Gazette...making Linux just a little more fun!"

Linux and Windows 95
The Best Bang for Your Buck

By Leonardo Lopes

Many Linux users tend to think of Windows95 as a competitor to Linux. In mailing lists and in Usenet it is common to encounter comments that portray Windows95 as the materialization of evil and Linux as the savior of all cybernetic souls. While it is my belief that only a small portion of the Linux community believes the source of all darkness is Redmond, it is easy to get caught by passion and forget to analyze this situation through a more technical light, which would definitely be more productive in promoting the growth of Linux, through it's own merits.

Of course Microsoft has thrown more than it's share of low blows over the years. But it is hard for me to believe that any other company in the position Microsoft was in would act much differently. And in any case, the Linux community has nothing to gain by confronting the Goliaths of the software business in any field except the technical one. The media attention we have received lately is totally funded on the quality of Linux, which by the way separates us clearly from the pack. This attention will only grow in the future, especially if we present ourselves as mature albeit idealistic developers, which most of us are.

We know all too well that Windows95 and it's applications are not as stable as we would like, that support is very poor and expensive, how inflexible and insecure it is, and all the other perils that plague it. People in charge of supporting it are familiar with error messages like: "Consult an Expert" and "Reinstall Windows95".

But if you can put up with that, what you have is an extraordinary operating system: It is very easy to use, install and configure; It is inexpensive; It has impressive internationalization support; it has excellent development tools; it is supported by nearly every major hardware manufacturer; not to mention the tremendous amount of high quality software available in almost every category for the platform.

Linux, on the other hand, has a different set of advantages. It is rock solid, has excellent support, is extremely flexible and secure, is free, is open, and so on. From a technical point of view, it is incomparably superior to Windows95.

The problem is that companies have invested billions of dollars in software and training for the Windows platform. And Linux does not run Powerpoint, or MS Word, or Delphi. Also, most end users will not take advantage of the extra flexibility and security offered by Linux. It is not that they have no use for it, it is just that they are so used to working with what they have, and so wary of changes, that they don't really care about the advantages they may get. It is sad, but true: They would rather not save sensitive information than learn about permissions; They are so used to rebooting their machine all the time that it has become as frivolous as clicking a mouse button.

Most end-users spend the whole day performing parametric transactions on their machines. In many cases, even management will prefer to wait days or weeks for their IS department to prepare a GUI interface to a query than to learn SQL and get the information immediately. Of course I and many people use Linux for most of my personal computing needs. When I use Windows95, I really miss the things we take for granted in Linux, like powerful command line tools, permissions, stability, etc... But unfortunately most users are not like that nor are they likely to be.

Linux is best exactly where Windows is lacking. It is strong in support for different software platforms. It is designed to be sturdy and take heavy workloads day in day out. It has marvelous internet tools, and picks up the security buck where Windows passes it. Nobody wants a web server or for that matter any server in which you can't have 100% confidence on.

For all these reasons, looking at Linux as an alternative to Windows95 is in my opinion a mistake. It's greatest potential will be achieved as a server and manager for Windows, complementing Windows' weaknesses and guaranteeing a high level of service to the enterprises who select it. If at all possible, it's generally a good idea that end users don't even know -- or need to know -- that it's Linux that is offering the advanced services they're using.

That having been said, the natural competitors to Linux become Windows NT and other unices. So let's see why it is by far the natural choice for this role.

In every step of the initial cost equation you will be saving money with Linux. To begin with it is free, or almost free if you want to take into account the cost of a distribution. Then It requires far less computer resources than it's competitors, and you'll also save money there. Also it will often eliminate or reduce the need for additional equipment, especially when compared to NT. Then it is portable to several platforms. So instead of supporting NT, Solaris, Ultrix and AIX, each with it's own expenses in training, documentation, etc..., now you only have to support Linux. That aspect alone can save thousands of dollars every month to an organization.

With regard to software, not only you will find almost every type of software you may need for free or very inexpensively, but bugs are corrected and new features are added with incredible agility. No more of that "it will be fixed in the next release" talk. And since almost everything comes with source code, if your organization needs a feature with great urgency, it is much easier to add it than with a closed box OS. That is not to mention the speed with which Linux itself is updated. Security holes and bugs are quickly tracked and fixed, frequently in a matter of hours. Nobody can put a price tag on that.

Probably the biggest difference between Linux and it's competitors is in support and documentation. No, it is not commonplace yet to have your Linux vendor put you on hold for half an hour to charge you big bucks for online support like the other guys. And yes, there are situations in which online support is indispensable. But there are already options for online support for Linux, a business which has everything to grow considerably as Linux invades the corporate market. And in an emergency, putting a Linux server up and running can be done much faster than any of it's competitors. In fact, in many cases you can have a spare hard disk laying around for an eventuality. If you need it, pop open just about any PC, stick the disk in there, turn the machine on and go. Also, if you want to really do things right, the low setup and maintenance cost makes redundant solutions using Linux much more interesting than with any other OS. And that is not to mention that a lot of people, including probably the people who will be in charge of maintaining Linux at work, use or will use Linux at home. How many people you know use Ultrix or even NT at home?

If your business is connected to the internet, you will get an infinite knowledge base, always willing to help, generally for free. Antagonists will say: "Other OSs have their own mailing lists and Usenet groups too." But the fact is that no other internet support group is even closely as effective as Linux's. Linux is unique in that it offers many more tools to fix your problems. It doesn't matter how big a guru you may be, if the software you use is not traceable by a debugger and doesn't come with source, you will not be able to get answers as fast and as easily. And there is a "positive spiral", as Bill Gates would like to define it, with Linux support: A lot of people learned a lot of what they know through the Linux internet support channels. Now they feel in many ways obliged to help lots of other people. Who will learn a lot of what they will now through these channels. And so on.

Linux documentation is incomparable to any other OS's. Not only in quantity, quality and price, but also in that it is so frequently updated. From novice users to accomplished network administrators, it is more than likely that you will find most of the answers you need from the documentation that comes with your distribution or with the CDs that accompany it. If you don't find it there, it is almost always somewhere in the internet, reachable by any search engine. More and more books are published every month about Linux. There are monthly publications like Linux Journal and Linux Gazette available. There are tutorials, howtos, faqs and other documents describing every single detail of the operating system, and most of the software that comes with it. And that is not to mention the inheritance of over 20 years of UNIX expertise and information. In total, the amount saved with support and documentation expenses every day with Linux can add up considerably.

Administrative costs are also much lower in Linux, and administration is much easier on Linux than in any other OS. An argument many people use in favor of NT is that it is so easy to administrate. A lot of UNIX people were at first fearful of losing their jobs when NT came out. Now, how many NT sites you know don't have a dedicated administrator? The fallacy of Microsoft's argumentation is that administrative costs are not affected by creating new users in a GUI instead of using a shell script, or even editing a file. They are not affected by day to day operations when things go right, and they are not affected by performing ordinary maintenance. What really skyrockets your administrative costs is when things go wrong. And anyone supporting networks knows that they do. With any system. And when that happens, you need clear error messages. You need trace and debug capabilities. And you need documentation. And Linux offers all these items in great generosity, much more than NT and more than most other unices.

Another factor that increases your administration costs is when you have to do anything that is out of the ordinary. When that happens, you want flexibility. And while NT may be acceptable for cooking pasta, finer dishes will require tools and flexibility you can only get from UNIX. Because Linux is so flexible, you can frequently eliminate routers, bridges, and other equipment which not only add to additional hardware cost, but also contribute to make your network more complex, introduce new environments to be learned, and become yet another failure point. With Linux, cost involved in the maintenance of these equipments can often be eliminated, and other times, greatly reduced.

Getting To the Point -- Integrating Linux and Windows95

Using Linux with Windows95 is not a very complicated task. Most of the work is handled by the Samba suite, a host of programs designed to work with the SMB protocol, capable of most services you expect from a network server: Handling logins, sharing hard drives, printers, etc... Samba is especially useful when you have a mixed UNIX/Windows95 environment, like we did at the Mathematics Department at UFC. When people logged on any Windows machine, they would have access to their home directories at the H: drive. This brought up an administrative problem, as people quickly took up all the hard drive space available installing Windows programs in their H: drives. Nothing that a quota system won't fix.

Samba fools your Windows95 machine into thinking that it is talking to a NT server. You can have network profiles, unified registries for all your machines, run login scripts, and generally have most of the bells and whistles available with NT. [See earlier issue of Linux Journal]. It is one of the best supported and documented programs available. The only problem I had is that logins take a little longer to complete, when compared to NT. It is generally a little slower than NT, but perfectly usable. The configuration files have a format similar to the Windows .ini files. You can use it to share printers, hard disks, cdroms, etc... According to the documentation, there is no real reason why other mass storage peripherals shouldn't work, although I haven't tried any.

At PCC Inform=E1tica, a computer retailer at which I installed an intranet based on a sole Linux server, I also installed HylaFax, an excellent fax server. It was not as simple to install, mainly because it asks so many questions that it can scare you. If you take your time to answer them, especially with the aid of your Modem's manual, it should be no big deal. Also it searches for some programs which you will not find in most distributions. For instance, it asked me for mawk, which I symbolically linked to gawk, and never had any problems. The Windows95 Hylafax client, whfc, works reasonably well, although it is not quite stable enough for everyday use, and lacks important features, like job scheduling. I contacted the author, but he was busy with other projects, and told me that he could not release the source code because of limitations by his employer. HylaFax is so richly documented I decided to implement my own client, with the specific needs of my organization. As soon as I get a couple of machines, I will start doing that. Any volunteers?

Mail came mostly configured. Not only sendmail was configured correctly almost right out of the box, but a pop server also already came installed. All I had to do in Windows95 was install a major browser.

Information about products is created on regular Windows95 programs, then converted to HTML and made available for the intranet at the Linux server. Tutorials and documentation for installed programs available in HTML are also available from the server.

The Linux machine at PCC Inform=E1tica also has the responsibility of doing IP Masquerading for the whole network of 22 machines and counting. I had to get the newest stable kernel at the time (2.0.29), and a patch for it to work with ftp.. Even in this kernel, the help message on the configure script will say that masquerading is experimental code. I never had any problems, running the machine under the conditions above. Once the kernel was recompiled, all I had to do was add two calls to ipfwadm and I was all set. I had invaluable help from the people in the internet for this task. The Brazilian linux mailing list linux-br, an Issue of Linux Journal, the kernel documentation, web documentation, were all useful tools for me to get this job done.

Telecommunications in Brazil is very expensive. At the time we were planning this network, our first thought was on getting a 64k leased line from the company to our service provider. That would cost us around US$1050 a month, only on telephone company charges. So we decided to build a new machine, install it at our service provider and put in it our web content, ftp server and mail server. The company would then access the internet via a dial-up account, which would cost us only US$210 a month. Since dial-up calls tend to fail a lot, I made a simple script which would check if the line was ok, calling the service provider again in case the line had dropped. Also this script mailed my outside account the current IP number for the machine, in case I needed to access it from somewhere else in the internet. Then I put the script to run every 5 minutes with crontab. Simple and agile. In other words, low administration costs. If the bandwidth required increased sufficiently, it would be easy to add a second modem and use equal line balancing to get a higher throughput.

Another use for crontab is making automatic backups of the companies database, which runs on Access. Everyday at noon and at 6PM a copy of the whole database is made to the server using a script based on smbtar, part of the Samba suite, and at 8PM a copy of the database is made to tape. The home directories, which users use at their Windows95 clients mainly to store business proposals, are also saved to tape every week. Most users don't even know there is a Linux machine in the network.

Bottom Line -- Savings

Savings with Linux start with the O.S. itself, grow through setup with lower power equipment (All the above work smoothly on a Pentium 133), and by making networking hardware dispensable (router), goes through easy software setup, flexible settings and easy administration and training, and adds up every month, with low equipment maintenance costs, agile software updates, and inexpensive support. It also protects your investment by allowing you to easily upgrade to other platforms. Or even other OSs, if you for some strange reason would ever want to do that.

How much you will actually save depends on many factors, but there are just so many ways to save with Linux, from support fees to documentation to feasible redundancy which means less down time to flexibility that one thing is for certain: It will be a bundle. At PCC, Linux saved more than US$3000 in initial setup costs and another US$1000 every month, out of software, communications and maintenance costs. It also has increased the safety of the data on the network, provided the employees with the convenience of private disk space and access to the wealth of information offered by the internet and made internal communications more agile and inexpensive. If you though your company or office was too small to afford a high quality intranet or a company-wide internet connection, think again. With Linux, Now You Can!!!

Copyright © 1998, Leonardo Lopes
Published in Issue 25 of Linux Gazette, February 1998