Let me define some terms first, so you know what I mean by them. Linux is just the operating system kernel. All the necessary operating system pieces other than the kernel are provided by the Free Software Foundation's GNU project (more on this later). There are bunches of different licenses under which Linux software is released. The most common license is the GNU Public License (GPL). Very briefly the GPL:
- Puts no restrictions on how you use or redistribute the software. This means that you are free to modify the source code, sell what you received (or modified) or give it away.
- Prohibits your putting any restrictions on those who get software from you, but obligates them to the same conditions as you have.
- Requires that source code either be distributed with the executable application, or be made available on demand.
- Requires that any software using any GPL code also be licensed under the GPL. This means that if you put any GPL code in your product, you can no longer keep it proprietary without access to the source code.
Open source software has been around for a long time; the Internet depends on it. The most popular World Wide Web server software -- apache -- is open source (and free of cost). That's where Linux started making its way into corporate America. ISPs started running servers with Linux and apache, plus sendmail for their mail server and other open source applications. After this, Linux-based servers started to replace NT servers in the corporate closet. And that's where a lot of businesses have settled: Linux servers and win95, win98, winNT and w2k clients on the network. The reality is that any business can do much more than this right now.
Let me explain what we have in the office. Two workstations (one acts as a server, the other as a client), a firewall/screening router, and two portables (one running Linux, the other win98). And, there's the virtual win98 "machine" on the server. Other than hardware failures, upgrades and power outages, the workstations and firewall have not been rebooted. The firewall ran for seven months (unattended and without a keyboard or monitor) until the new motherboard failed. It's been up for almost two months now with a new motherboard.
This is just one of the reasons I love Linux: stability and reliability. The systems are taken down because that's my choice, not because the operating system fails. This is not to say that everything works flawlessly, it doesn't. The latest releases of the network file system (NFS, a system invented by Sun) is quite fragile. But, patches, bug fixes and improvements come out daily or weekly. And, despite the fragility, it works.
Another upside to Linux is the support. Not even WordPerfect Corporation during its heyday provided support like the international Linux community does. Mail lists and newsgroups have high traffic volumes of people helping people. In my local Linux Users Group, some of the most expert gurus aren't old enough to legally hold a driver's license. But, they can debug problems via e-mail and they do very well at it, too. There is rarely a problem to which there is no known answer, and everyone contributes.
Now for the crux of the matter: application software. Sometimes, there are just too many choices. In only a few cases are there either no options or only commercial options. The only office automation category for which I have not yet found an offering is project management (not software project management, but the type of large, complex project for which I used to use TimeLine in DOS). There are UNIX solutions out there, but none that run on Linux (at least at an affordable price). Accounting software choices are limited, but present. Some are quite expensive, but in line with Windows prices for medium to large companies. Desktop publishing (the equivalent of Ventura or Quark Express) is also limited right now. There's one package available for $300, and Adobe has released a beta version of FrameMaker (but we have no idea what the price might be). No open source, no-charge desktop publishing software is now available.
However, WordPerfect, Applix and Sun have word processing applications out for reasonable cost or free. I've been using WordPerfect 8 for Linux because I used the DOS versions for 14 years before moving to Linux. While I'm not fully satisfied with it, most users are. Applix has a full suite (word processing, spreadsheet, presentation graphics, database and e-mail) which is used quite happily by many people. Applix has been writing this suite for various flavors of UNIX for years, so they know what they're doing. And for those who learned to use a computer in a Microsoft Windows environment, there is Sun's StarOffice. Sun bought this software last year and started offering it for free; it's there for the download. It is a clone of Microsoft Office and works very well in exchanging documents with the Microsoft equivalent in the Windows world. It's slow and looks too much like a Windows desktop for my taste, but I keep a copy on the hard drive for the occasional Word document that stymies WordPerfect or the LaTeX translator. The bottom line is that there are office automation options for Linux, and the no-cost option looks, feels and acts like the Microsoft products most people are used to using. Except... it doesn't crash or bring down the system.
While each of these packages has a presentation software component, I use one called MagicPoint written by a clever fellow in Japan. It does what PowerPoint does, but it costs nothing and it's very simple to use. Write your presentation in a text file, then display it with the mgp software. Easy, fast, and allows all sorts of fancy template backgrounds, animation and other impressive tricks.
Spreadsheets are available as part of the office suites or separately. I use a commercial product called Xess-SE and I like it a lot. There are no cost, open source options, but they are still immature for the business power user.
Database software is a non-issue: more choices than you want to consider. In the past year, Oracle, Sybase, Informix and Imprise released Linux versions of their products. On the open-source, no charge page, you can choose among PostgeSQL, mySQL, msql and many more. Other offerings have small to moderate costs for their licenses. And, there are ODBC and JDBC options for Linux so you can mix and match with your Windows software.
Communications and e-mail are the backbone of modern business. It took me a while to understand the model for mail in Linux (and other unices) but now, of course, it's "intuitive". There are three or four components to a mail system. If you run your own mail server, you don't need the component which goes out to your ISP's mail server to fetch your mail. The most common mail fetcher is called, "fetchmail". Easy to configure (even for multiple accounts on multiple mail servers), and easy to run. We used to run it manually when we had a dial up connection, but now that we have a DSL line and are connected to the 'Net 24/7, fetchmail runs in the background and gets our mail every 2 minutes.
The next component is called the mail transfer agent (MTA). The most common one is "sendmail", but other choices include "qmail", "smail" and at least a handful of others. The MTA takes all incoming and outgoing messages and directs them properly. Incoming mail is forwarded for local delivery, outgoing mail is sent to the next upstream link. In our case, sendmail hands off to "procmail", the mail delivery agent (MDA) we use. That puts the mail in each user's mailbox, screening out known spammers and others whose mail we don't want to receive. At the user end of the chain is the mail user agent (MUA). In the Windows world, this role is fulfilled by Eudora, Netscape Communicator, Outlook and Outlook Express. In Linux, there is Netscape Communicator, Applixware, StarOffice (all graphical interfaces) and the text-based tools such as pine, elm, mail and all the others. The nice thing is that every user can use a different MUA and they all work together and equally well.
Linux is a true mult-iuser, multi-tasking operating system. You can work on a text console (like you did, perhaps, in DOS or on a mainframe or minicomputer) or you can work in a graphical, window-filled environment. I never liked the Windows environment because I'm a command line type of person. But, I stay in the X Window system's GUI almost all the time now. Why? Because I can open multiple terminals and still have all the features and benefits of a command line interface within the window environment. This is equivalent to being able to open multiple DOS windows in win98 and work in them as well as in the GUI windows of your applications. The best of both worlds. Quite often, I use the mouse only to select the window in which I want to type.
If you think that you can waste time tweaking the colors and appearance of your Windows desktop/environment, just wait until you get a Linux box! Multiple desktop software are available (Gnome, KDE, CDE, Xfce, fvwm2, AfterStep and dozens I don't know.) You can tweak to your heart's content here. As a matter of fact, you can even switch among them so you don't get bored looking at the same thing all day long.
I could go on for quite some space writing about the other solutions for science, math, GIS, publishing, tools, utilities and graphics. Let me close this discussion with a brief mention of The GIMP (GNU Image Manipulation Program). This is a no charge, open source equivalent of Adobe's PhotoShop or PaintShop Pro. It is extremely powerful and extensible and serves for our bitmapped graphics needs, including receiving images from the scanner.
Now, let's consider making money. Historically, software was developed in an open source, no charge environment. Then companies moved to the proprietary, fee-based system which has evolved to what we see today with most operating systems and hardware platforms. The open source movement is back again with Linux, FreeBSD, NetBSD, OpenBSD, BeOS and other operating systems plus all the application software to which I alluded above.
Making money in this environment involves nothing new: computer consultants have been doing this for years. Some of them doing very well, too, thank you. You charge for installation support, training and customization. And when that is how you make your money, you can give away the software and make as much (or more) profit. That's what Red Hat and LinuxCare are doing, and that's why IBM is trying to force its error-correcting file system into the Linux/open source standard. You want custom tweaks to the software to suit how your company works? Who better to do it than the company that wrote it?
Gillette Razor Company did this many years ago. They gave away the razor and sold the blades. They're still in business.
And large corporations should rush to embrace open source solutions because they can always find someone who is proficient in C programming who can maintain it, improve it, fix bugs and otherwise work for the company's best interests. Instead, the corporation's attitude too often is, "If it's free, how can it be any good?" So they stick with their expensive software and hope the vendor fixes the bugs and fatal flaws sometime.
Linux development continues unslowed. The kernel geeks are doing their thing, adding USB support, support for the new generation of 64-bit CPUs, and making multiprocessor support better and faster. Each application is supported by a single, dedicated individual or a team working to add features, improve the offering and fix bugs as quickly as they are identified.
It is a great environment in which to work, and it's put the fun back in computing for me and for many people with whom I speak. My productivity has increased dramatically and I am really enjoying doing all the work, too. Try it, you'll like it. And you can't beat the price! It's free.
