Troubleshooting Professional Magazine
More Corporationally Incorrect Software
[ Troubleshooters.Com | Back Issues ]
Now Microsoft is giving us allies in our endeavor for more reliable software. Microsoft's new licensing policies are making enemies out of their customers, increasing numbers of whom are now looking for alternatives to corporationally correct software.
In the mid 1980's corporationally incorrect PC's and MS-DOS overthrew the corporationally correct but problematic mainframe technologies of the day. We could be on the verge of another such revolution.
And if it happens, we Troubleshooters will be the beneficiaries as intermittent systems are replaced with solid systems. Things will still break, but the breakage will be less frequent, and we'll be able to use real Troubleshooting Process instead of today's reboot/reapply/reinstall process.
Most of today's corporationally incorrect software is guaranteed source-available software commonly referred to as free software, Open Source software, and GPL software. This issue of Troubleshooting Professional explains how to use these technologies to your benefit, and to the benefit of your organization.
This issue of Troubleshooting Professional Magazine discusses free software and Open Source alternatives to the current crop of corporationally correct software, starting with Microsoft and Open Source/free software licensing policies, software alternatives for your business needs, an exploration of Microsoft's vitriolic public attacks on free software and then two case studies (the Life After Windows and Linux Log columns). These two columns should give you an idea of the process of adopting business methods compatible with an Open Source alternative.
So kick back, relax, and read this magazine. And remember, if you're a Troubleshooter or Technologist, this is your magazine. Enjoy!
The best source of free software compatible licenses is the Free Software Foundations license list at http://www.fsf.org/licenses/licenses.html. The best source for Open Source compatible licenses is their Approved Licenses page at http://www.opensource.org/licenses/index.html.
"Copyleft" is, to quote the FSF license list page: "Copyleft is a general method for making a program free software and requiring all modified and extended versions of the program to be free software as well.".
Copyleft generally implemented by requiring that any modifications to the copylefted program be issued with the same license as the original copylefted free software. By guaranteeing that a program is free software now and in the future, the license tells a would be contributor to the project that he's not just an unpaid worker for a proprietary outfit, and that his modifications will ALWAYS be available.
Copyleft REALLY bothers Microsoft, because it competes with them but they cannot legally use copylefted code in their proprietary Windows product without making Windows itself copylefted free software.
The extent of copyleft is not always clear because the definition of "modifications" must be made. Generally speaking, if a copylefted program or parts thereof are embedded in a larger program, the larger program is a modification that must be copylefted free software. If the copylefted program is statically linked into a larger program the larger program is considered a modification that must be copylefted free software. However, dynamic linking does not constitute a modification, nor does running on the same machine. So it's perfectly legal to run a proprietary program on Linux, which is licensed as copylefted free software.
The GPL stands for "GNU Public License", and is the most stringently copylefted free software. Linux is licensed as GPL, which is probably why it gained so many contributors and grew to challenge Microsoft.
For the remainder of this document I will use "Open Source" and "free software" as synonyms. While that's not completely true, it's close enough for the discussion at hand.
I'm no authority on Microsoft licensing, but from what I hear and read, Microsoft is trying to drag their customers kicking and screaming into the equivalent of software rental. Every few years (I hear the number three bandied about) they stop supporting the current thing. Nor will they sell it to you. You must buy the modern version.
Buying the modern version is a good thing if you're a gung ho user of that software, but many of us use the software only to handle one specific task. For instance, here at Troubleshooters.Com I use Windows 98 (first edition) and MS Office 97 to access my older, pre-Linux documents. As such I have no need for Windows ME, 2K, or XP. But if my dog chewed up my Windows installation CD, I could not get another Windows 98. I'd have to buy a modern version.
The modern version would "upgrade" my data, possibly in a way preventing import into StarOffice and other Open Source software. In my situation, older is better. I'm not alone.
Then there's the licensing on the newer software. I've heard that MS Windows XP will have enforced registration via the net, and that you will be granted only a minimal number of installs. So if you upgrade computers, you could be toast.
Let's talk about software rental.
Renting an apartment works quite well. When you decide your rent's too high or your apartment is too dilapidated, you simply pick up your possessions and place them and yourself in a new apartment. You immediately have full use of your possessions.
Contrast that with software rental. You can certainly move all your data files to another operating system with other software, but you probably can't use your data files. Most proprietary software stores data in formats that cannot be read by other software. Sometimes the proprietary software offers useful data export mechanisms, but many times it doesn't. And with various laws threatening to put teeth in the "no reverse engineering" clauses of licenses, other vendors might be stopped from creating import mechanisms for your data. The bottom line is that if you "move" to other software, either you could lose the use of your data, or be forced to expend significant time and money to regain it.
It's very much like signing an apartment lease stating that you can move out, but you need to leave all your possessions behind. With such a lease, what would be your landlord's motivation to maintain the apartment in a livable condition or keep the rents par with market value?
Luckily there are alternatives. Read on...
Without going into a huge theoretical discussion, that means the price of Open Source or free software (yes, they can be sold for money) cannot rise higher than the convenience factor of receiving it on CD. In fact, it usually costs you nothing to download it.
But it's not about price, it's about freedom. Because you have the source code, you can modify the program to deal with any eventualities that come your way. If you decide to stop using the program and want an export mechanism to a new program, you can modify the program to export your data. Of course you might not have the ability to do the program modification yourself, but because you legally have possession of the source code, you can hire someone to do it for you if absolutely necessary.
But that's not usually necessary because there are many other users of the program, and if there's a beneficial modification or a needed export mechanism to be made, each of whom have have possession of the source code. So somebody's probably already done it. And because it's Open Source or free software, the source code is available, and most likely a binary version is available too. Get on the 'net, download the software, and use it. Life is easy.
For some reason most Open Source and free software programs tend to place their data in human readable text formats that are easy to write programs to modify. Such data formats eliminate the chance that your data will become locked into a specific format. A license that prommotes free giving of the software has nothing to gain from obfuscated data format.
For some reason proprietary programs tend to store their data in undocumented binary format that's difficult to modify programmatically. For some reason those same vendors add to that difficulty with "no reverse engineering" clauses in their software licenses. And inexplicably, some software vendors go so far as to patent the format of their data files so it's illegal to make an import or export facility.
I think most of us agree it's a vendor's right to protect their programs from unauthorized duplication. But we know it's our data in those locked up formats. Most of us believe our data belongs to us, and we have a right to read it regardless of whether we continue to work with a specific vendor.
That's why so many formerly satisfied Microsoft users are searching for alternatives.
Did you know that a great deal of the web runs on free software and Open Source? That includes the entire domain naming system. The majority of websites run the Open Source Apache web server. Many of those sites run Apache on the free software GNU/Linux operating system. Many of the web's email servers are free software or Open Source.
In the "Enterprise", long considered a bastion of proprietary software, many IT departments deploy a free software file and print server called Samba, saving thousands on Windows server licenses.
Look what else is available:
|Task||Proprietary or Windows software||Free Software/Open Source alternative|
|High quality graphics||Photoshop||Gimp|
|Spreadsheet||Excel||StarCalc*, Gnumeric, kspread|
|Word Processor||Word, WordPerfect||StarOffice*|
|Email client||Outlook,Eudora||Kmail, mutt, pine, elm, many others|
|Web design||Frontpage, Netscape Composer||Bluefish, Screem, Quanta, Netscape Composer**|
|Digital cameras||Various drivers from camera manufacturers||Gphoto|
|High quality text editor||Multiedit, etc||VI, Emacs|
|Webserver||IIS||Apache, Zope, others|
|Web programming||ASP,Java, Perl, Python||Java, Perl, Python, PHP, Zope|
|Database||MS SQL Server||MySQL, PostgreSQL|
|File & Print Server with authentication||NT/2K/XP||Samba|
**Netscape is not Open Source or free software, but it's freely available in binary format at no cost, and furthermore there's a fork of the Netscape software called Mozilla that IS Open Source, and Mozilla has a Composer feature almost identical to that of Netscape.
Whatever you can't find in actual free software/Open Source programs, you can usually put together by combining Linux commands and existing programs. And many of your favorite proprietary products run on free software GNU/Linux. There's little that cannot be done with Linux and free software.
So if you're worried about Microsoft's new licensing, know that you have an alternative.
If you're like me your introduction to free software will be a Windows port of an Open Source or free software program. For me that introduction was Perl for Windows. There's lots of Open Source and free software on Windows. The following have Windows ports: Gimp, Dia, StarOffice, VI (Vim), Perl, Python, and many, many more. There's no law against using free software or Open Source on Windows.
There's no law against using Linux for some things and Windows for others. Make your transition a journey, plan the journey, travel the journey carefully, and you will succeed.
For more information on making the journey, see the April 2001 Troubleshooting Professional Magazine.
Craig Mundie says "This viral aspect of the GPL poses a threat to the intellectual property of any organization making use of it. It also fundamentally undermines the independent commercial software sector because it effectively makes it impossible to distribute software on a basis where recipients pay for the product rather than just the cost of distribution."
Jim Allchin was attributed by CNet as first comparing Open Source to Napster, and then saying Microsoft must do a better job of talking to policymakers.
I guess Microsoft doesn't like Open Source. It's a cancer, a virus, and congress must do something about it.
Why doesn't Microsoft like Open Source? Obvously Open Source and free software (especially the GPL) are competitors to Microsoft, but it goes deeper. Because Open Source and free software are developed collaboratively without need for revenue, they cannot be revenue starved out of existence. That makes them immune to the revenue starvation process that Microsoft has allegedly used to destroy some of its other competitors. For the first time in over a decade, Microsoft must compete.
And Microsoft knows what they don't what want you to know -- the competition is superior in almost every way. If you start writing books in LyX you're never coming back to MS Word. If you start serving web pages in Apache, you're never coming back to IIS.
Microsoft desparately needs to prevent people from trying free software and Open Source. So Allchin whines to congress saying such software should be illegal. And they preach to the business community that if you use free software and Open Source all your intellectual property is forfeited (that's not true).
Microsoft's worst fear is a guy like me. I've gone to the dreaded "other side", found it better, and told all my friends. Now some of them will dabble in free software, find it better, and tell their friends. Microsoft has met its match.
Don't be the last to adopt free software and Open Source. Being the last will put you at a horrible competitive disadvantage.
Later I used MS Word, placing text boxes all over the image of the PDF. Crude, but effective.
So here I was, with my new Linux box and this PDF needing completion. I tried a few things with StarOffice but no go. I tried several other things. Then I hit upon Gimp...
I opened the PDF in Gimp, setting it for 150dpi, heavy text antialiasing, light graphic antialiasing. Unbelievably each page of the PDF became a separate Gimp image, and I saved each as a Gimp native .xcf file. The next step was to create a new transparent layer on top of each image, save again, and then place text on the new layer. A mistake could be corrected by erasing the text from the top layer without erasing the underlying PDF image layer. When completed it can be saved as Gimp native .xcf for future mods, as .jpg for transmission, and printed it on my printer.
At the LEAP Installfest a few days later I noticed that Abiword and Gimp can save directly to PDF, but other apps can't. LEAPster Brian Ashe reminded me how the ps2pdf program can convert Postscript files to PDF format.
So there it is. Full circle! You can capture a PDF form in an image suitable for completing in Gimp, and then save it back to PDF. Without a single Adobe program in the mix. So if you're one of those people less than pleased with Adobe because of the arrest of the Russian programmer, that's a good thing to know.
What's life like after Windows? A Linux computer is a field of dreams. Build it and the software will come.
The plot thickened a few weeks later when I created the VimOutliner program to use Vim version 6 as an outliner. And what an outliner. Lightning fast for the touch typist, able to hyperlink between outlines. More and more of the planning function of my professional and business life involved VimOutliner.
So when it came time to outline my new book, VimOutliner was a nobrainer. But a pesky little voice in the back of my mind kept asking "what will you use to compose the book?". Of course StarOffice would work, but lacking MS Word's outline view, it's a Word knockoff without Word's #1 bookwriting tool. There had to be a better answer.
DocBook would have been wonderful, but my research indicated the only reasonable front end to DocBook was Emacs, and I just didn't have time to learn Emacs. Some folks suggested simply coding markup in VI. Either they've never written a full length book, they've taken forever to write a full length book, or they know something I don't know (and probably can't learn).
But one technology appeared hopeful, if problematic. Several people suggested LyX, a front end to the LaTeX macro enhancement of the TeX typesetting language created by computer pioneer Donald E. Knuth. LyX has a quick and easy user interface, and it comes with most of the styles you need to write a book, so you can quit your job as a layout designer and work full time as a writer. But LyX seemed to have two problems:
The "no exports" problem turned out to be a paper tiger. After viewing a LyX document in VI it was obvious that it was simple, styles-based markup that could be easily manipulated, and yes, converted, with simple Perl scripts. One problem down, one to go.
So I set about using Rapid Learning techniques. Learning the terminology was easy, although at first discerning where LyX stopped and LaTeX started was confusing. Next, I needed a single proof of concept of style creation, and the rest would be a matter of simple incrimental learning.
But no matter how hard I looked, no matter how many questions I asked on the LyX mailing list, no complete proof of concept occurred. With an 800 line outline begging for the writing, frustration doesn't begin to describe the situation.
Finally someone emailed me a proof of concept way to change an environment by editing an existing .layout file. But if the environment changed a font, the font changed only within the LyX environment, not in the finished Postscript file. Worse yet, it seemed to depend on the specific filename. Renaming the file removed the environment. A grep command revealed absolutely nothing pointing to the filename. How had LyX decided to use this particular filename, and when I renamed the file it ceased to work?
A LyX mailing list member took pity and emailed the answer. .layout files need to refer to an existing document class. The answer is that .layout files default to a document class with the same name as their filename. Lacking that, the .layout file must internally specify the document class to which it refers. That's why renaming it blew off the style.
I specified the existing class inside my renamed .layout file, and once again the style could be pulled up in LyX, and indeed formatted correctly in LyX. But the finished Postscript file used the font from the base class, not my class coded in my .layout file.
But how could the changes be recognized in the finished output? Another nice LyX list member had mailed me his own .layout file. A careful and thorough examination of that file led to the observation that one needs to link the style to the preamble by linking the style's LatexName to the Preamble/EndPreamble section's \newenvironment's name. That did it. The font change was recognized in the finished output.
So I put it all in a tutorial (URL in the URL's section) to make this an hour's learning process instead of several days. So YOU can use LyX without the pain I endured.
Now I have a superior outlining program, which can be imported into a superior book composition program. My data is completely secure, and when the time comes to convert my book to something other than LyX I can write a script to do so.
So you start by evaluating whether it will do what you want. Use mailing lists and the like. Then verify by learning how to use it. Start by learning the terminology, then develop the most trivial proof of concept (Hello World), and then repeatedly learn in increments. Finally document it so those following you won't have the steep learning curve.
The result is a vastly superior product that's infinitely configurable. Better yet, a product that doesn't try to lay claim to ownership of data you create with it.
And when you get to the other side, your data is safe. It's truly yours, by license, and you can reverse engineer your software or even modify the software to do what you want. If you're anything like me, you'll breath a sigh of relief.
By submitting content, you give Troubleshooters.Com the non-exclusive, perpetual right to publish it on Troubleshooters.Com or any A3B3 website. Other than that, you retain the copyright and sole right to sell or give it away elsewhere. Troubleshooters.Com will acknowledge you as the author and, if you request, will display your copyright notice and/or a "reprinted by permission of author" notice. Obviously, you must be the copyright holder and must be legally able to grant us this perpetual right. We do not currently pay for articles.
Troubleshooters.Com reserves the right to edit any submission for clarity or brevity. Any published article will include a two sentence description of the author, a hypertext link to his or her email, and a phone number if desired. Upon request, we will include a hypertext link, at the end of the magazine issue, to the author's website, providing that website meets the Troubleshooters.Com criteria for links and that the author's website first links to Troubleshooters.Com. Authors: please understand we can't place hyperlinks inside articles. If we did, only the first article would be read, and we can't place every article first.
Submissions should be emailed to Steve Litt's email address, with subject line Article Submission. The first paragraph of your message should read as follows (unless other arrangements are previously made in writing):