Matter Realisations

Welcome to the Matter Realisations' Linux Page!

Linux is a free operating system for a large class of computers. On the Intel architecture, it competes with "free" operating systems like Free-BSD (BSD = Berkeley System Distribution, from the University of California - Berkeley) and Open-BSD; and commercial operating systems like Solaris and HP-UX. I used to mention SCO here, but they seem to have become litigation blinded into starting to sue the entire world of OpenSource over supposed theft of intellectual property. Very little of what they supposedly have rights for was developed by SCO employees, but rather rights they may have "inherited" in various purchases and mergers in the past. And it isn't entirely clear that they actually have the rights they think they do. While I believe that "Intellectual Property" has value, I think here is going to be a shakeup as to what this value is and how long it lasts fairly soon. Some of this field (IP) is getting really ridiculous.

On the topic of Linux competing with other operating systems, some people take this too literally. To me, it is all about choice. You should have the choice of what operating system to use, what desktop environment to use (for GUIs), what program to use.

Material related to our activities in the Edmonton Linux Users Group .

Okay, so what is a Linux?

Linux is an alternative to running Windows on Intel based computers, or MacOS on Apple computers. It probably should not be viewed as a replacement for either Windows or Macintosh. If the only software you are interested runs only under either Windows or Macintosh, you are probably better off running that.

Most of the tools you will find on a "Linux" computer, are "Open Source" or "Free Software" tools. The basis tools are in large part from the GNU Project (recursive acronym, GNU's Not Unix). There are some commercial tools also available for Linux.

Linux is related to UNIX; a multi-user, multi-tasking operating system. Typically, to refer to UNIX and things which are similar to UNIX, one uses the term UN*X. UN*X (and Linux) has a history of being arcane and hard to use (it is getting better). More so even than DOS, since UN*X often had many commands which could do approximately the same job, while DOS often only had one. Some UN*X commands have similar (but not identical) operation, some vastly different. The UN*X command line is significantly more powerful than the command line under MS-DOS (or inside the MS-DOS window).

Xerox-PARC (Palo Alto Research Center) started a change long ago, which begat Macintosh, which begat Windows. The two commercially successful Graphical User Interfaces (GUI) for the desktop computer. UN*X, the environment of the university student and technical researcher, has spawned hundreds (or even thousands) of graphically oriented programs and environments. All just a little bit different from their inspiration, and hence encompassing a HUGE range of characteristics. There are far too many for the casual user to try and assemble into some kind of coherent GUI for use on the desktop. So, most people often just fall into using what is bundled into a desktop family by makers of various distributions of Linux, BSD, etc.

But times are a changing. The monopoly of Microsoft, and the near or complete demise of Atari, Amiga and Macintosh (which has been making a comeback, who knew?) has produced a desire among the graphically or technically able UN*X programmer to produce a GUI for the masses. We have a couple of graphical environments (such as KDE and Gnome), which should prove quite manageable for the casual user.

And then, there are the areas where UN*X has always been strong: servers.

You want a print server?
Some UN*X sites have print servers connecting thousands of users and hundreds of printers. On a single machine!
You want a file server?
UN*X machines have been connected to every kind of networking hardware you care to think of. Windows for Workgroups in particular (the SMB protocol, or whatever name Microsoft is calling it this week). Samba runs on almost every kind of UN*X machine out there. Linux running Samba is a better Windows-NT server ON THE SAME HARDWARE than is Windows-NT! And now with Windows-XP and Windows-2000+ out there, and a serious bug for all (including NT) that Microsoft has said they won't fix on NT, there is more reason than ever before to do something about that NT server you are still using.
You want a compute server?
UN*X runs on mini-computers (like the VAX), main-frame computers (IBM, Amdahl, etc.), supercomputers (Cray) and cluster of various things.
You want high quality graphics display?
UN*X runs on Silicon Graphics, Digital Equipment, Sun and other graphics engines.
You want a web server?
Apache is the most popular web server on the Internet. And you guessed it, it runs on UN*X.
On the subject of networking protocols, Linux is the only operating system which has seen one working implementation of CP/IP (Carrier Pigeon/Internet Protocol). On April Fools Day, people often write up silly RFCs. CPIP is one of them. A group of Linux people actually implemented it one time. :-)

Computers and Business

Computers have been promising to reduce paper usage and make business more efficient for a long time. Well, I think most business people will agree that computers have introduced enough productivity gains that most businesses at least have some aspect of computerization. The paper usage for most businesses has gone way up, however.

Accounting is one obvious place where computerization has made an impact for business. There is probably a narrow definition, but for me anything involved with point-of-sale (POS), general ledger, accounts receivable, accounts payable, chequing, banking, and inventory can be all tied together with some kind of accounting package. Whether this much integration make sense for your business, is another issue.

Whether it is accounting, or some other kind of program; you have lots of options as to where to get your software. There are a lot of commercial packages out there, either specific to a task or industry, or general purpose, which are useful and popular. There are also a variety of OpenSource or "Free" packages, and finally we have custom made software. Overall, I would say the commercial packages are probably the most polished, although there are exceptions.

There are two big problems I see with commercial software:

Manufacturers would like people to believe that someone is responsible, but if you look at the license agreement, almost inevitably they say the liability lies with the end user.

In most products, the manufacturer is responsible for deficiencies in their product. This is not true of software. If your general ledger program crashes, and destroys the database, the manufacturer of the software (or of the operating system, if the operating system is at fault) is not responsible for any losses you incur. You are expected to have enough backups and robustness in your operating practice to not be adversely effected by software errors.

If one particular piece of software becomes unavailable either due to the manufacturer going out of business, or orphaning it, you may lose access to all the data involved with that software. Commercial software usually involves proprietary data formats. It may be your data, but you no longer can access it. Some manufacturers may be willing to put copies of their software into storage in the event that they go out of business, so that you may still have access to your data. But this isn't uniformly true, and may be expensive.

If at all possible, you should save your data in an appropriate way and in open format. If your data looks something like what you might find in a database (for example, your general ledger), store it in a database. If you don't have that much data (with how much, being a fuzzy sort of thing), you might consider just flat text files. Especially if the format allows for comments to be added to the data. For example: the case of word-processor files from Microsoft Word, you would be better off with the more or less open format of a RTF (Rich Text Format) than the DOC format. DOC has become an XML based format. This desire to have organisation documents in a publically available format has convinced a number of jurisdictions to specify that they would like the default format for future document processing to produce the OpenDocument Format (ODF) used by OpenOffice.org. In turn, Microsoft is trying to get the XML based format it now has for DOC files turned into a standard (OOXML) via the ISO. This specification is 6000 pages long and has a number of characteristics which seem strange in the context of something documenting a standard which anyone can supposedly implement.

One reason to avoid proprietary formats for data, is that it opens the way to allow your data to be analysed and used in novel ways. A recent buzzword (buzz-term ?) in the industry is "data-mining": looking for unexpected correlations in a dataset. Open formats make this process more easily accomplished than closed (proprietary) formats.

Another reason to avoid closed data formats, is that it opens the way for you to control costs involving computerization. If at some point, you decide that new computer hardware is needed, you do not have to stay with the same hardware as you now run, or even the same operating system. I'm not saying that there is anything necessarily wrong with proprietary software, but proprietary data formats are like giving away the ownership of your data.

Can we do More?

You want cost effective computing for your business? Most commercial software manufacturers (or is it just the major ones?) are moving towards a business model whereby they don't sell software any more, rather they lease or rent their software. Essentially, they want to get paid everytime you turn on your computer, or start up their application. This forces you to upgrade software when you either don't want to, or don't need to; because they aren't obligated to support old software.

If we don't need the newer features added to software, why upgrade? Sure, it may be nice that the latest version of your calendar program will feed the cat. But do you really need to get this? What about all the instability which the new features inevitably bring with their introduction. Heck, commercial packages aren't foolproof. There are bugs there, including show stoppers. Bugs which sacrifice the safety of your data. And all the new features often mean sending people out for training. If you don't need the new features, why upgrade?

There are some kinds of open source software, which are available for a variety of operating systems. Including Windows. Not that this (choosing OpenSource) gets you away from (all) issues about upgrading, but if you keep a copy of the source code, you can upgrade only if you need to. And otherwise, you can get the old software patched if bugs become apparent.

One cornerstone of business software is the "Office Suite". Word processor, business graphics, etc. OpenOffice is the high end OpenSource version of a fairly complete office suite, and is available for Windows. It may not have 100% compatibility with Microsoft Word at any given time, but if that is important to you, you can always choose the Sun Microsystems supported Star Office (which is based on the Open Office code base). There are other office suites out there as well; some may not be available for non-OpenSource operating systems.

A growing application, is the database program. OpenSource has predominantly 2 databases: MySQL and PostgreSQL. It used to be that MySQL was definately the faster database program, and PostgreSQL was the more complete SQL implementation. Things have improved for both fronts, with MySQL offering improved standards compliance (at least in some configurations) and PostgreSQL offering better speed. PostgreSQL is a competitor in some applications even for such high-end databases as Oracle. They are worth considering. With databases, it isn't necessary that the operating system that the database program is running on top of is the same as that of all the client applications. So, even if all your client programs use ODBC on Windows; PostgreSQL on Linux may still prove to be a good choice. Or, if Oracle is what you need; there are apparently ports of Oracle to Linux. I don't know if it has been ported to any of the BSD type operating systems.

Financial programs, whether they be something like a chequing account manager or more like a general ledger program; tend to be important considerations for business. I am not familiar with anywhere near all of the programs available, but OpenSource has (at least) 2 very good programs here. Of the "chequing account manager" variety (at least in the beginning) is GnuCash. It was originally pushed as a replacement for Quicken in the Windows world, but it is becoming a small business package with all kinds of bells and whistles. In development, is the ability to store the data in a PostgreSQL database. Of the "general ledger" type, is SQL-Ledger. Which was meant from the beginning to interface to PostgreSQL. It may have support for other database backends.

Some businesses have computing requirements which are beyond the ability of a desktop PC to solve. Normally, the only option available is to buy a special "compute server", or perhaps purchase time at one off premises. In the past this could be a mainframe or a supercomputer. Another option available now with OpenSource, is the cluster. Typically, most of the CPU cycles of the average desktop computer are spent waiting for the user to provide some kind of input: move the mouse, hit a return key, etc. With a multi-user/multi-tasking operating system, you can have the option of having all computers in the business devote their "spare CPU cycles" to some common task. Or, you can have this done in "off hours", when these PC's would normally not be used.

These are just a handful of reasons for considering OpenSource for your computing needs. There are others. Some aspire to have OpenSource become the only source of software, for me just the fact that it is an option is the whole point. That we don't need to be tied to one particular kind of hardware, operating system or types of applications.

Home?
Want to learn about this page?