Why Linux Is Important To VFP Programmers

Hank Fay

Windows has succeeded for a variety of reasons. One is that it is free. What, you say? Consider that there has been no method Microsoft has chosen to use that would prevent installing the same CD on multiple computers. That is about to change: the current Whistler (next version of Windows, what will replace Windows 98/ME and be entirely compatible for drivers with Win2K or whatever the next version is called) will be tied to one machine. Period. Small companies (50 or fewer workstations) will now be forced to pay for every installation, and that includes desktops and portables used by the same user. The economics of the situation are mind-boggling. Just one more reason for VFP programmers to start paying attention to Linux, the open source operating system.

If you haven't been paying attention, Linux is a Unix-like operating system which is Open Source, which means that the source is copyrighted in such a way that you can use it for whatever you want, but if you make changes, those changes are also Open Source. You can't keep the changes just to yourself. This has the result of opening the development process to any and all -- there are 400 developers working on one flavor of Linux, the Debian/GNU version. Some 1000 developers in all are at work on the Linux Kernel.

Right now, it is not a threat to MS: it is complex to install, complex to use. But it has only been in existence since 1993. And as a stable platform, by all accounts it beats NT hands down. Current versions are capable, in best circumstances, of installing on a desktop with no more user intervention than is required for Windows ME, in about 20 - 30 minutes, which actually is faster than ME installs.

But that's not why Linux is important to VFP programmers.

Linux is important to VFP programmers because 4 events are almost certain to occur within the next 3 years.

First, as noted above, MS will begin charging more, and more often, for its software. More is already happening: the licensing schemes for NT2000 will result in considerably higher charges to customers. Windows installations and updates (and all MS program updates) now can occur automatically by search on your machine: this is one step from charging for the updates, and linking it to a specific machine. How many copies of Windows do your customers (never mind you) actually own? One for every machine? The price of the OS will cut deeply into the money available for your work with small businesses.

Second, client-server scalability with transaction security will become a must, meaning that your customer will be faced with buying even more, more expensive software from MS. When a sub-$1,000,000 business has to spend $20K or more for OS and C/S software, that's money out of your pocket: they have so much to spend, and it's a question of who's going to get it.

Third, the emergence of light-client applications frees the desktop from OS restrictions. TCO (Total Cost of Maintenance) is a huge issue for businesses.

Fourth, Linux will become easier to use. First you build the infrastructure, then you make it easier. Linux is reaching a first stage of maturity, and there are already efforts to make it easier to use. The GNOME project is creating an Open Source windowing environment, and when that is complete, using Linux will begin to be as easy as other windowing environments are meant to be.

So, all this is good news, right? But it's only good news if you are in a position to take advantage of it. Which means that you might want to save that old P66 machine or even old 486 (I've got a 486DLC25 running Linux, if you remember those) and put Linux on it, just to get started. You can order source code of the various distributions from www.cheapbytes.com which I recommend over other cheap distributors (the product tends to arrive more quickly). Which distribution: I favor the Debian/GNU (the GNU people get upset -- which is something they do -- when you leave out the GNU) distribution, which is the totally non-commercial one, because of the superior peer support on their maillist (sign up on the www.debian.org site). The RedHat list (they are the big commercial distributor) has a bunch of whiners and little support from RedHat (who wants to charge for the support, of course). The Debian list is filled with a bunch of experts in the various areas, who maintain various parts of the distribution. It's like being on FoxForum in the old days in terms of the level of interchange.

If you have a fast connection to the internet, there's an even better way to install Debian/GNU Linux, involving creating 6 floppies and then using an FTP install. It's just about all automated, and the Debian/GNU site has a page on how to do this. I've done it several times, and that is the most foolproof part of the process (and is easier than doing a CD install from RedHat or from Debian/GNU, in my experience).

Exciting alternative languages are gaining strength. These tend to run on multiple platforms (including Linux; and often are developed on Linux). Take at look at Python or more particular, JPython which compiles dynamically to Jave Bytecode, just as VFP compiles dynamically to its own bytecode. Python in general has strong COM support as well when running under MS's JVM. There is even a version of Python being developed for Visual Studio .NET. There are deficiencies (the visual IDE's available do not compare with what we have in VFP), too, so I don't think any of us are about to rush off. And it's nice to know that there are alternatives that have growing viability. As a scripting language, like VFP, Python/JPython is 5 - 10 times faster in development time; it is mature and extensible, like VFP (and unlike VB). And in the JPython (now rename Jython for V2.0) it can call Java, Java can call it. It's worth a look.

VFP developers can get in on the Linux action right now in the server area, where Linux is a strong competitor to Windows solutions. IBM's DB2 and Oracle's 8i and (I think) 9i run on Linux in free developers versions. For straight VFP table file-serving, you can run Samba: you'll get a fast network server able to handle VFP tables, running on a fraction of the machine required by NT/2K to do the same job. For SQL work, there are free SQL servers available: MySQL (which currently lacks transactions, but VPM can handle them on the client-side) and PostGreSQL (www.postgresql.org) that has tranactions and triggers, and has shown good ability to handle high levels of transactions.

Linux (and its sibling, BSD, which runs some of the world's largest web sites), is not going away. So get that old 166 with 128M out of the closet and onto your network. It won't cost you anything, and you'll gain cutting-edge knowledge that could give you a competitive edge. The three easiest to install versions of Linux are Mandrake, SUSE and RedHat, in that order. You can download them, or save yourself a little trouble and buy the CD's for peanuts from www.cheapbytes.com.

Enjoy,

Hank


Last Updated: Thursday, 8 February, 2001 9:02
©2000 Professional Systems Plus (ProSysPlus). All rights reserved.
To ask questions regarding this page please contact webmaster@prosysplus.com