jbrabeck wrote:
A county office wants to look into converting their desktops to Linux. The M$ apps that need to run are an Accounting Package (Dynamics?, a GP offering) and Paradox.
Those will probably run on WINE (open source) or one of the [link|http://linuxmafia.com/wpfaq/future.html#ALTERNATIVESWIN32|souped-up proprietary variants] thereof. However, why not leave the accounting Windows box running Windows? I've never understood the "We're a single-OS shop" mindset.
They are currently using Word Perfect Office for WP and spreadsheet.
If they really like it, they can probably run that Win32 version under WINE, too. I've heard favourable reports. Check on the Corel support newsgroups (linked from my WordPerfect for Linux FAQ).
I have found (I actually have a copy) Corel Linux Office 2000 which contains WP, Quattro and Paradox. But Corel no longer is active in the Linux world.
Yes, curiously enough, they stopped producing applications for Linux (but not for proprietary Unixes) at pretty much exactly the same time as an infusion of cash from Microsoft Corporation. WP9 for Linux/Corel Linux Office 2000 [link|http://linuxmafia.com/wpfaq/wp9.html|was never great, but can be improved]. But, honestly, recompiling Win32 source code to run under Winelib (which is what what Corel did with "Linux Office 2000") is a half-assed way to produce applications for Linux, and is a poor alternative to true native applications.
I could rewrite the Paradox app in ??? and have them use Open Office for WP...
OpenOffice.org isn't a bad suite, especially if you need maximal compatibility with Microsoft Corporation's really dodgy document file formats. The word processor AbiWord's .doc compatibility is about comparable, and AbiWord is much lighter / faster than OpenOffice.org Writer, e.g., loading in 6 MB RAM instead of 73 MB. The spreadsheet Gnumeric occupies a parallel relationship to OpenOffice.org Calc.
But it all depends on what you need. Take your time, try things out, and see what works. For heaven's sake, don't attempt a large-scale deployment without doing pilot projects and agreed-upon acceptance criteria. If you run up against roadblocks, don't give up; ask in places like this one.
...but I don't think I can get them to change their accounting software.
So, don't. Leave that machine alone. It's doing its job.
Which version of Linux?
As the saying goes, that's a religious question. ;->
Pick one; you can't go too badly wrong. You can become a Linux-distribution bigot later.
Open Office?
OpenOffice.org is very useful in providing one-stop shopping for word-processing ("Writer"), spreadsheet work ("Calc"), presentation graphics ("Impress"), and vector graphics ("Draw") -- plus a generic database-access and query interface that can talk to pretty much any back-end database engine via ODBC, JDBC, or specialised middleware.[1] Please note that the name of the program is technically "OpenOffice.org" (abbreviated as "OO.o") rather than "OpenOffice", because the latter was already established as the name of a major Linux VAR in the Netherlands. Also, please note that the ostensibly separate OpenOffice.org applications are actually a single binary that does all of those functions.
Database (must support record level locking, multiple user).
A brief history of databases on Linux:
For most of the last decade, pro-SQL bigotry has been the rule on Linux, which if anything accelerated when all of the big proprietary SQL database vendors but one (Microsoft Corporation) suddenly released supported versions of their SQL engines for Linux in late 1998. The best known open-source SQL engines are MySQL and PostgreSQL. Both have gotten to be quite good; MySQL has more widespread technical documentation and information, while PostgreSQL is technically more solid but less widely used. (Reason, in part: It used to have severe performance problems, which is no longer true.)
Because of the fixation on SQL, and corresponding monopoly over mindshare, other categories of database (xBASE, casual databases) have been a bit slower to develop, but over the last five years have really taken off. I have a [link|http://linuxmafia.com/~rick/linux-info/applications-databases|listing] of known options in all three categories. Sorry to not able to give guidance about which to use for what purpose, but at least the names and locations of those projects should be a good starting point.
Most of my experience is with MySQL and PostgreSQL. Just to be really clear: Both of those are engines, which by themselves furnish only command-line query interfaces. It's intended that you'd use them with separate user-end applications such as phpMyAdmin (Web front-end using PHP) or OO.o -- which is (mostly) what I do.
Caveat: You haven't mentioned what the Paradox application(s) do(es). Duplicating the functionality of a developed application can be a very non-trivial exercise. Beware of "iceberg obstacles" in this area: 9/10 invisible until you run into them. You may not even be able to determine what's the best software to use until you've studied the problem carefully.
Perspective: Although OO.o is a useful tool, its disk space and (especially) RAM requirements are regarded as absurdly high by the standards of Linux applications. If you can devote 200-300 MB of disk space just to housing this office suite and 73MB+ of RAM to run it, then great -- but it is considered a hog.
Accounting?
[link|http://linuxmafia.com/~rick/linux-info/applications-accounting|list]
Reason for conversion is cost, they don't want to spend money upgrading HW AND SW. "We have a 'bunch' of old 486(!) computers that we don't want to upgrade."
OK, whoa, there. This raises the question of hardware adequacy -- not the CPU (which is fine) but rather RAM and disk space. And, in what might seem a small-p paradox, the Linux distributions and desktop environments commonly urged onto new Linux users tend to require (by Linux standards, though not Microsoft ones) gobs of hardware beefiness in exactly those areas. If you hand me, an expert Linux user, a 486DX2/66 with a 504 MB hard drive, a good video card housing at least 4 MB video RAM, and 64 MB system RAM, with some care I can craft a reasonably "friendly" Linux desktop box. It will not have GNOME or KDE; it will not have OO.o; it will not start up a bunch of little-needed daemon processes that far too many distributions auto-default to running with no real reason. It will have a painstakingly selected set of lean applications, instead of the traditional cornucopia of thousands of apps. It might feature [link|http://www.plig.org/xwinman/icewm.htm l|ICEwm] instead of the more feature-rich, RAM-guzzling window managers.
You as a relative newcomer to (desktop) Linux probably wouldn't even know how to go about doing that, unfortunately, for lack of acquaintance with the problem space. On the other hand, if you think you might be up to the challenge, go for it, with my congratulations on your crusading spirit -- but, please, leave yourself large amounts of time for testing and prototyping. But be aware that low-end hardware is a constraint that means you can't just grab a random Linux distribution and, with no idea what you're doing, conduct a "forehead install" (proceeding through the prompts by banging your forehead on the space bar as needed), and expect to enjoy the results. To get a satisfactory outcome under those constraints, you need to know the applications on your Linux distribution of choice; you must know how to do a custom installation to pick and choose the ones that are appropriate for your hardware; you must know how to configure the startup configuration to control what processes start up and what graphical environment the user will have.
The apparent paradox is that "free" (and thus low-end) hardware and "free" Linux mix well only if you have significant desktop-Linux expertise. Unfortunately, newcomers are often lead down the garden path of doing Linux on low-end hardware without expertise: They try loading RAM-and-disk-guzzling "friendly" applications onto a 486 with 96 MB RAM and a 2.1 GB hard disk, run out of disk space while running the installer, try again with some subset of the thousands of apps offered, succeed in completing installation but then find the resulting overburdened system to be dog-slow, and give up on desktop Linux entirely.
(For similar reasons, newcomers tend to insist on dual-booting their proprietary-OS boxes with that OS plus Linux, and then act all surprised when multiboot configurations turn out to be complex and sometime problematic. Surprise: That's always true of multiboot.)
About video: X11[2] on less than 1024x768 resolution is just not satisfactory. It just sucks in diverse, individually annoying ways. Therefore, you need 17" or greater montitors, and video cards holding at least 2 MB of video RAM, bare minimum. (At 16 bits per pixel = 2 bytes per pixel, imaging a video frame at 1024x768 requires 1024x768x2 = 1,572,864 bytes of video RAM. Obviously, 24 bpp or "true colour" looks slightly better, and requires 2,359,296 bytes, which is 4 MB when doing the necessary rounding-up.)
Don't get talked down to 15" monitors. Don't get talked down to 1 MB video cards. They "work" for small and long-term-unsatisfactory values of "work".
Or should I convince them to upgrade HW?
As always, it's a cost-benefit proposition. Unfortunately, it's pretty common for some manager to idly suggest Linux because it's "free" and not take seriously the project's requirements for study and prototyping, and assign to the project a tech with no experience in the area, to do it in his spare time with no funding and short deadlines. The moment the "free" alternative turns out to have caveats and a learning curve, the mandate for it disappears -- because there never was any management buy-in, and what was perceived as "free" was in the final analysis valued at cost. Don't fall into the trap of being that tech: Work out a proper scope-of-work document. Define milestones for acceptance in pilot deployments. Get signoff on your achievement of those milestones and deployments of them. Trust me, you really don't want to agree to head a project with poorly defined goals and acceptance criteria, with no real buy-in from management.
And don't even start until you've played with a few Linux distributions and gotten to know desktop systems somewhat deeper than just the button-pushing level, e.g., buy and learn from Matt Welsh's [link|http://www.oreilly.com/catalog/runux3/|Running Linux] tutorial. Since you've done server/firewall work, you already have a major leg up on that.
[1] In the area of data access and (especially) forms, the just-released OpenOffice.org version 1.1 is much, much better than the prior 1.0x versions. Almost any Linux distribution you install today will furnish the latter; therefore, expect to have to pull down upgrade packages.
[2] Also known as the X Window System, and often incorrectly called "XWindows", i.e., the display engine / mechanism to image graphics on most Unixes. Please note that X11 does best with 3-button pointing devices. 2-button devices are more-or-less OK; in that case, you emulate the missing third button by chording the other two.
Rick Moen
rick@linuxmafia.com