Volume 1 Issue 2, September 2002
Copyright (C) 2002 by Steve Litt. All rights reserved. Materials from guest authors copyrighted by them and licensed for perpetual use to Linux Productivity Magazine. All rights reserved to the copyright holder, except for items specifically marked otherwise (certain free software source code, GNU/GPL, etc.). All material herein provided "As-Is". User assumes all risk and responsibility for any outcome.
and Rapid Learning: Secret Weapon of the Successful Technologist
by Steve Litt
| Back Issues ]
Gnome folks will tell you all day long why their desktop manager is better than KDE. And the KDE folks are equally assertive.
But if you listen carefully, somewhere in the shouting of KDE and Gnome advocates, you'll hear the voices of the few using other window managers. Window managers not sacrificing memory and speed for features. Window managers simple enough to learn in a day. Window managers that can be used on everything from a Pentium 75 to a 2.2 Gig Pentium IV. Window managers optimized by their users to achieve maximum workflow.
Their names are many. Sawfish, Blackbox, Windowmaker, Xfce, twm, Enlightenment and fvwm2. And of course, IceWM. IceWM is light weight, keyboard friendly, Windows reminiscent, configurable, and very, very productive.
So kick back, put your feet up, and read how you can use this efficient window manager. And remember, if you use Linux or other free software, this is your magazine. Enjoy!
My experimental 333 Mhz Celeron with 64MB of RAM couldn't run default Mandrake Linux in GUI mode. It took over 5 minutes to boot, slowed and stopped constantly, and would hang solid within 5 minutes of use. Switching to IceWM from the Mandrake default KDE solved the problem. Sure, it was still slow, but it plodded along and if you worked right you could be productive.
The light weight is handy even on my monster dual Celeron 450 with 512MB of RAM and dual 7200RPM drives. IceWM saves 30-45 seconds when restarting X, and it even improves overall performance slightly. But my dual Celeron can run KDE or Gnome quite well. On that box I run IceWM for reasons beyond performance.
IceWM is keyboard friendly. If you're a touch typist, this is your window manager. The system menu is accessible without a mouse, and easy to navigate with the keyboard. All the right hotkeys are enabled, and just in case you need an additional hotkey, you can assign any arbitrary hotkey to any arbitrary window command or shell command.
Arbitrary keystroke<->shell command assignment skyrockets productivity. At the very least you can use it to pull up your favorite shell without reaching for the mouse. Set a hotkey for any program you use many times per day, or any program you must access instantly (a contact manager comes to mind). Ability to assign arbitrary keystroke<->shell command pairs is relatively rare in the world of Linux window managers.
Being such a keyboard fanatic I went one step further, setting a hotkey
for the keystroke-only UMENU menuing program. UMENU isn't any more keyboard
friendly than the default IceWM menu, but it's a little easier to configure,
it's more likely to survive an upgrade or reinstall, and it 's easier to
copy to other computers.
In researching this months magazine I found out that IceWM menus are much easier to configure than I thought. Better yet, the exact same EMDL (Easy Menu Definition Language) I use to configure UMENU can be used with IceWM menus if I write an IceWM specific writer object for my EMDL converter. Therefore, I might switch from UMENU to the IceWM menu system in the future.
The lesson for you is to learn the IceWM configuration language, and DO NOT depend on a tool like Menudrake for menu configuration. You can learn more about IceWM menu configuration in the Configuring IceWM article.
IceWM has a very Windows like user interface. That's an advantage because Bill Gates spent untold millions researching and observing the way people use computers. Based on that research, Gates created the ultimately productive OS user interface known as the Windows 95 User Interface. It's a great interface, and the fact that hundreds of millions of people know that interface make it a great choice.
Beyond the basic interface, IceWM gives you all sorts of themes so you can work in an environment that's emotionally and ergonomically suited to you. Most of the themes look like mad colorings of a third grader, but ten or so are productive. Several good-looking Windows 95-like themes include the "nice" themes, the "warp 3" theme, the "Win95" theme, and the "William3" theme (not the purple one). At least on Mandrake boxes, IceWM's shipping default theme is a very aesthetic one called "Blue Plastic". I'd call this theme a "knock off" of Windows XP, except I was using it a year before ever seeing XP. Once you've chosen a theme, you can further customize for the desired look and feel.
IceWM is completely compatible with both Gnome and KDE apps, as long as you install the full IceWM, and not "IceWM-Light". Naturally KDE and Gnome apps increase the footprint, but only while you're using them. At other times your footprint retreats that to IceWM.
Remember the handy hourglass in Windows? Sure, it often lied, but it gave you some idea as to whether your last click had been "heard". You could kinda-sorta deduce whether a process was gobbling CPU, or whether you had completely hung the machine. This all assumes the app's programmer had adequately coordinated the hourglass cursor with program events, and often they didn't -- especially with vertical market apps and homegrown programs.
For years Linux user interfaces could not duplicate the hourglass. Now they can, but Linux hourglasses aren't much better than those from Windows.
IceWM has a CPU monitor always visible on the end of its taskbar. So when you click and nothing happens, or you select a menu item and nothing happens, you glance at the CPU monitor. If it shows a sudden uptick of activity, you know the computer "heard" your click or menu selection. Once in awhile there's no uptick, so you investigate.
Having used a Taskbar mounted CPU monitor, I would never go back to the hourglass, and certainly never go back to the total lack of feedback like early Linux user interfaces. As time goes on you get to "read" the CPU monitor signatures of the various programs, and you develop a "sixth sense" for whether everything's functioning properly.
As if the CPU monitor isn't enough, IceWM also gives you a taskbar mounted network monitor, so you can see the level of internet and LAN activity.
The taskbar mounted CPU monitor is the single reason I stick with IceWM now that my use of UMENU makes IceWM's keyboard friendliness irrelevant. But that single reason is a powerful one.
IceWM's cut and paste handling isn't as good as with other window managers such as KDE and Gnome. If that becomes a problem for you, just run a clipboard program such as klipper to add advanced cut and paste functionality.
IceWM has a couple flaws such as the focus problem (which happens less and less on modern versions), and less than stellar cut and paste, which can be enhanced with a clipboard program such as klipper.
All told, you might find that IceWM contributes mightily to your productivity.
But what happens if you didn't check IceWM at install time? Simply go back to your installation CD's and install it. On a Redhat (rpm) type system, it's simply the following command:
rpm -Uvh icewm-1.0.9-10mdk.i586.rpmIn addition, make sure install the IceWM configuration tool:
rpm -Uvh icepref-1.1-5mdk.noarch.rpmNaturally, the preceding commands are an example. You'll need to adjust the filenames to what comes on your Linux installation CD's, name the specific directories containing the file, and do all of this while logged in as root. Be aware also that on some distros (Mandrake is one example), icewm-light*.rpm comes on install CD 1, while the full blown IceWM is relegated to disk 2.
|Use IceWM light for "Linux appliances" not needing full Gnome/KDE application functionality, but needing an extremely small footprint. One example that comes to mind is as a window manager for a "chess appliance" to be used in a school. The chess appliance is typically an ancient Pentium 75 with 16MB of RAM. You install the gnuchess engine, xboard, X, and IceWM-light. For man against machine chess, the command is xboard. For man against man it's xboard -ncp.|
If you have a Debian based distro, use the Debian upgrade methods to install IceWM. If you have Linux from Scratch or Gentoo, you don't need me to tell you how to install IceWM.
If for some reason the IceWM that came on your your Linux installation CD's doesn't work, you can compile the source. Visit http://www.icewm.org to find the latest source code location.
#!/bin/sh xinit /usr/X11R6/bin/icewm -- :0
You could also use the startx command with the same syntax as the xinit command, e.g:
startx /usr/X11R6/bin/icewm -- :0If you don't like the preceding solutions, or if you boot to runlevel 5 (GUI), then you need to tell the system that your default desktop is IceWM. How you do this varies on a distro by distro basis, and having only Mandrake 8.2 machines on hand, I can tell you only the Mandrake 8.2 way of doing it.
If my Mandrake-centric way doesn't work for you, your alternative is patiently going through script code. Start with the startx command. It calls the following other scripts:
xinit $clientargs -- $serverargs -deferglyphs 16From your knowledge of the xinit command, it's safe to say the $clientargs variable must contain the desktop to be run. The $clientargs variable is obtained (oversimplified explanation) by appending arg1 of startx to the return of either $HOME/.xinitrc or /etc/X11/xinit/xinitrc, with $HOME/.xinitrc taking priority if it exists. Looking at $HOME/.xinitrc, you might see an empty file or no file at all. If so, look at /etc/X11/xinit/xinitrc. On my box it contains this single command:
exec /etc/X11/Xsession $*So now you look at /etc/X11/Xsession and you see the following code, which determines the desktop manager:
# now, we see if xdm/gdm/kdm has asked for a specific environment if [ $# = 1 ]; then DESKTOP=$1 else # use default DESKTOP from config file # users may want to choose their own desktop # even when x-session is started by startx command. # -- Jaegeum -- if [ -f $HOME/.desktop ]; then . $HOME/.desktop >/dev/null 2>&1 elif [ -f /etc/sysconfig/desktop ]; then . /etc/sysconfig/desktop >/dev/null 2>&1 fi fi
So whatever gets executed in HOME/.desktop or /etc/sysconfig/desktop determines the desktop. But how does it do so? A clue is the line:
DESKTOP=$1It seems to indicate that the $DESKTOP environment variable controls. Indeed, later on in this script we see the following rather cryptic code:
if [ -n "$DESKTOP" ]; then case $DESKTOP in failsafe) exec $SSH_AGENT xvt -geometry 80x24-0-0 exec $SSH_AGENT xterm -geometry 80x24-0-0 ;; default) ;; *) exec $SSH_AGENT /bin/sh -c "$(/usr/sbin/chksession -x=$DESKTOP)" ;; esac fi
Looking up the manpage for chksession, we see that chksession -x prints
the startup script corresponding to the -x argument value to stdout. Given
that the default exec statement above puts that output in a backtick
substitute ($()), it becomes clear that the value of the $DESKTOP
variable, which was set by either $HOME/.desktop or /etc/sysconfig/desktop,
determines which desktop is used. So if you want to use KDE, your $HOME/.desktop
would look like this:
The preceding command simply sets the $DESKTOP environment variable to the string "KDE".
But how do you know the string to use to invoke KDE? For one thing,
it's case sensitive. Don't use trial and error. Instead, look at the manpage
for chksession and see that the -l option prints out
the possible values:
[slitt@mydesk slitt]$ /usr/sbin/chksession -l BlackBox KDE Gnome Enlightenment WindowMaker XFce IceWM Sawfish default failsafe [slitt@mydesk slitt]$
Use any one of those, and it will work. The chksession command
also has ways to insert, change and delete string<->desktop mappings,
but that's beyond the scope of this article. So in this particular case,
to force the startx command to start IceWM, you'd have the following
Remember, case is crucial, so get the right string from the /usr/sbin/chksession -l command.
For instance, f you have Debian, or many other distros, the $HOME/.desktop and /etc/sysconfig/desktop files will do nothing. You'll need to figure out how to specify your preferred desktop. To do that you must trace scripts. It's not easy, but it can be done. Start at startx. Or, if you're looking for a way to specify your preferred desktop for runlevel 5 (direct to GUI), trace your boot startup scripts. Given the state of documentation on the subject of desktop managers, there's probably no quicker way.
# Run xdm in runlevel 5 # xdm is now a separate service x:5:respawn:/etc/X11/prefdm -nodaemon # FaxGetty Entry #t0:23:respawn:/usr/sbin/faxgetty ttyS0
Looking at the /etc/X11/prefdm script, you can see that besides
the $DESKTOP environment variable, it's controlled by the $DISPLAYMANAGER
environment variable, which is set by the /etc/sysconfig/desktop.
This environment variable refers to the program that logs you into X at
runlevel 5. Your choices are kdm (provided by the KDE people),
(provided by the Gnome people), or xdm (plain old X). So if your
is set to run xdm with a default desktop of IceWM, it would look
How did I know that the $DISPLAYMANAGER environment variable is set
in /etc/sysconfig/desktop? Elementary, my dear Watson --
I traced from the /etc/X11/prefdm script. Specifically, observe
the following code in /etc/X11/prefdm script:
# we have to assume that /etc/sysconfig/desktop has two variables, DESKTOP # and DISPLAYMANAGER because administors may prefer a specific DM regardless # of desktops. # DISPLAYMANAGER is referenced by this script, and DESKTOP is referenced # as system-wide default by /etc/X11/Xsession script only when X-session # is opened by "startx" command. # when DMs open an X-session, they send DESKTOP, which is in this case # directly selected by users, as a commandline argument of /etc/X11/Xsession. # actually Xsession script is only able to know by existance of its first # argument whether it is called by DM or "startx". see the logic # in /etc/X11/Xsession. # If DISPLAYMANAGER is not defined, then assume that it is the same as DESKTOP preferred= if [ -f /etc/sysconfig/desktop ]; then . /etc/sysconfig/desktop >/dev/null 2>&1 [ -z "$DISPLAYMANAGER" ] && DISPLAYMANAGER=$DESKTOP if [ "$DISPLAYMANAGER" = "GDM" -o "$DISPLAYMANAGER" = "gdm" -o "$DISPLAYMANAGER" = "GNOME" -o "$DISPLAYMANAGER" = "gnome" -o "$DISPLAYMANAGER" = "Gnome" ]; then preferred=gdm elif [ "$DISPLAYMANAGER" = "KDM" -o "$DISPLAYMANAGER" = "kdm" -o "$DISPLAYMANAGER" = "KDE" -o "$DISPLAYMANAGER" = "kde" ]; then preferred=kdm elif [ "$DISPLAYMANAGER" = "XDM" -o "$DISPLAYMANAGER" = "xdm" ] ; then preferred=xdm fi fi
Note that both gdm and kdm allow the user to change his or her desktop manager during the login process, so in those cases you usually needn't change the default user desktop. I say usually because I've seen cases where you couldn't configure the desktop from kdm or gdm, and other cases where when you chose a desktop, your choice didn't persist to the next session.
And of course, if you log in with xdm, you cannot choose your desktop -- it must be configured.
Personally, I skip all this hassle, booting to runlevel 3 and then running
my ice command, which looks like this:
#!/bin/sh xinit /usr/X11R6/bin/icewm -- :0
No matter how you run IceWM, it's worth it. Because on machines slow and fast, IceWM boosts your productivity massively.
For most things, icepref is easy and fast. Configuring your taslbar, focus model, desktops, fonts, keybindings (except for shell commands), and general look and feel are all easy with icepref.
At the lowest level, IceWM is configured via various config files in
the .icewm directory below your home directory. The files involved
are named menu, programs, toolbar, winoptions, keys and preferences,
as explained in the following table:
|programs||"Programs" tree of menu||Same syntax as menu file|
|toolbar||Taskbar configuration||prog icon command
This file defines the "quickbuttons" appearing to the right of your startbutton.
|winoptions||What goes where on windows||<programname>.<winoption>: 0/1 (false/true)|
|keys||Hotkey<->shell command mappings||Key <"combination-of-keys"> <program>|
|preferences||Everything not handled by the others||check documentation and shipping file|
The menu keyword signifies a menu containing commands, separators and submenus. The menu keyword is followed by the name given the menu, and the word "folder". The word "folder" isn't actually a keyword. It's an icon filename. But I labeled it a keyword because any icon but a folder icon would make little sense for submenu.
The menu file can be uuuuugly if you don't understand the ground rules. It's a shame IceWM doesn't ship with an example menuto help you understand. Basically, the IceWM menu file (and also the programs file) is EXTREMELY space and indentation dependent. It will fail without complaint with the wrong spacing or indentation, and you'll be left thinking you made a syntax error.
In this section I'll give you the tips that worked for me. If your method also works, that's great, but the spacing and indentation tips given in this section have been tested and work.
If you've seen EMDL (Easy Menu Definition Language), you'll probably realize that by adding an icon EMDL line (should begin with I:), and a separator EMDL line (should start with L:), you can rewrite the Writer object of the emdl2umenu program to produce an IceWM menu file instead of UMENU menu definition files. That way you can build your IceWM menus with a lightning fast outliner, and convert them to either UMENU or IceWM, or both.
I just switched to Deus X. Machina's dxm theme. It's built for visibility, and seems to be the flagship of his theme fleet. It's visible alright, but I might switch back to bluePlastic or William3, or maybe I'll stick with dxm, which kind of grows on you.
Anyway, there are a few tricks to installing a new theme, and they're not obvious. Themes usually come bundled in a .tar.gz file that unzip into a director with the name of the theme. That directory has a file called default.theme, and if the theme has subthemes each subtheme is a .theme file. As root, go to your system-wide icewm directory. On Mandrake 8.2 that directory is /usr/X11R6/lib/X11/icewm/. An ls command will reveal a themes subdirectory in the system-wide icewm directory. Navigate to the themes directory. Now, as root, perform the following command (assuming the theme tarball is at /home/myuid/mytheme.tar.gz):
tar xzvf /home/myuid/mytheme.tar.gzThis will create a directory called mytheme, which contains one or more .theme files, several .xpm graphics, and several directories (typically mailbox, ledclock and taskbar). Your next step is to make sure that the files in the tree defined by mytheme all have the right ownership and permissions. As root, from the themes directory, issue the following command:
chown -R root.root mythemeThe preceding command gives root ownership to all the files. Next, navigate to the mytheme directory and fix the permissions with the following commands, assuming contained subdirectories of mailbox, ledclock and taskbar:
chmod -R 644 * chmod 755 mailbox, ledclock and taskbarIf your ownerships and permissions are wrong, the theme might not appear on the theme list, or if it does, it might have wrong graphics or missing graphics or other problems.
Now you're ready to activate your new theme. Click the startbutton->themes, and note that the new theme is NOT listed. That's normal. Click a theme other than what you're now using. Changing themes causes IceWM to reregister all the themes. Now click startbutton->themes, and you should see the new theme. Click the new theme, and you should see the new theme.
If the theme doesn't look like it should, troubleshoot. If you have a problem with fonts or colors, look in the .theme file, which defines colors and fonts for all objects. The .theme file also defines which buttons should appear on the titlebar, the titlebar height, and border and corner sizes.
If your problem is with the appearance of buttons, those are controlled by the .xpm files. Pull them all up in Gimp, and see if they look the same as on your screen. If not, find out why.
There's a very nice theme building howto at http://www.icewm.org/files/en/themesHOWTO/.
|The following copyright applies only to the
article titled "Lindows Needs Your Help" by Steve Litt, originally published
in the September 2002 Linux Productivity Magazine at http://www.troubleshooters.com/lpm/200209/200209.htm,
and does not apply to other articles in that magazine.
Copyright (c) 2002 by Steve Litt. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, version Draft v1.0, 8 June 1999 (available at http://www.troubleshooters.com/openpub04.txt/ (wordwrapped for readability at http://www.troubleshooters.com/openpub04_wrapped.txt). The latest version is presently available at http://www.opencontent.org/openpub/).
No options are elected, so this document may be modified and/or commercially distributed, subject to the terms and conditions of the Open Publication License.
Much of this article is adapted from an earlier email post by Steve Litt to the email list of Linux Enthusiasts and Professionals.
The 39 employee firm of Lindows.Com is being sued by the world's biggest software company. Microsoft alleges that Lindows infringes on Microsoft's "Windows" trademark. Unbelievably, Lindows is holding their own, even bringing into question whether "Windows" is a valid trademark! Lindows.Com seems more of a problem for Microsoft than the Justice Department. But Microsoft literally has billions for lawyers, and Lindows.Com is a 39 employee company. Bluntly, Lindows needs our help.
When hassled by Microsoft, the easy thing for Lindows to have done would have been to quietly change their name. But they hung tough, and now the very Windows trademark is in question.
They need our help. As reported in ExtremeTech (http://www.extremetech.com/article2/0,3973,468924,00.asp), Lindows.Com chief executive Michael Robertson is warning people that even though the judicial system blocked Microsoft's request to shut down Lindows.Com, congratulations are premature at this point, as there's a trial looming in 2003 to determine whether the "Windows" trademark is valid, and whether the "Lindows" designation causes confusion in the marketplace. Robertson points out that the legal war with Microsoft is costly and exhausting for his small company.
Robertson contends the word "Windows" was in general usage before Microsoft's trademark, and needs help proving it. If you have any type of paperwork showing this word before Microsoft, send it. If you have memories of pre-Windows times in the computer industry -- CPM, Apple Lisa, UNIX, etc, contact email@example.com.
Microsoft is demanding Lindows.Com's business plan and partner company list as part of discovery. I think we all have an idea what Microsoft will do with Lindows' business plan and partner list, and I doubt it has anything to do with this lawsuit.
Lindows.Com is courageously fighting the Microsoft monster. They're doing my dirty work. They're doing all our dirty work. They're doing what the Justice Department didn't have the spine to do. If you can get help Lindows.Com in any way, please let Lindows know about it. They have a special email address for legal stuff: firstname.lastname@example.org.
Lindows.Com might have only 39 employees, but they have the heart of a giant.
As time goes on, you discover Linux ways to perform many of those remaining Windows tasks, and that corner Windows box sees less and less action. So when is it time to finally pull the plug?
In an ideal world the answer would be "never". You'd keep the Windows box around forever to access legacy data and interact with folks using Windows-only data formats. That obsoleting box costs you nothing -- you continue using it for the same work you used it for in 1998, and you upgrade no software.
Unfortunately, in the real world, depending on that Windows box could put you and your data in jeopardy. For any one of a number of reasons, some time in the future you will no longer be able to use the Windows 98, Office 97 and other proprietary software you have today. This could happen because new hardware doesn't run the older software, or because your installation disks become lost, stolen or damaged, or because you've forgotten the product key on the back of your Jewel Case (you have placed that number in a data file on your Linux box, haven't you?).
You might think you could just back up your installation disks, but
read this out of the license from my Win98 First Edition CD:
|6. BACKUP COPY.
After installation of one copy of the SOFTWARE PRODUCT pursuant to this EULA, you may keep the original media on which the SOFTWARE PRODUCT was provided by Microsoft solely for backup or archival purposes. If the original media is required to use the SOFTWARE PRODUCT on the COMPUTER, you may make one copy of the SOFTWARE PRODUCT solely for backup or archival purposes. Except as expressly provided in this EULA, you may not otherwise make copies of the SOFTWARE PRODUCT or the printed materials accompanying the SOFTWARE PRODUCT.
It's not very clear to me. Is the originally purchased Win98 CD the backup copy, or can one make another one because the original media is required to do things like configuration changes? Even if you're allowed to make one additional backup, copying iso9660 CD's to ISO images is fraught with problems. It's best to copy it to an iso, and then record that ISO, AS A FILE, onto another CD. But then you'd need to make an additional copy every time you did an install, because you sure don't want to handle that purchased copy any more than you have to. As a matter of fact, you might want to place the purchased install CD's in a safety deposit box, so you can prove your ownership and protect against theft and fire.
You might think I'm getting picky in the preceding paragraph, but wouldn't it be awful if just as you made that second archival copy, the Software Business Alliance knocked on your door?
Over the long haul, the more you separate yourself from proprietary
software, the safer you and your business become.
The preceding few paragraphs discuss creating archival copies of your installation media. That is MUCH different from installing one copy on multiple machines. Unauthorized installation will definitely get you in trouble if you're caught -- no ifs, ands or buts. If someone reports you to the Software Business Alliance it could cost you $150,000.00 per software title.
Moreover, in my opinion, unauthorized installation is immoral. It's stealing the hard work of others. Granted, I believe that Microsoft steals from their customers and therefore I have no ethical problem with your stealing from Microsoft. But the trouble with stealing is it's a slippery slope -- once one steals from Microsoft it's all to easy to steal from others, and the next thing you know, people are copying my $39.00 books instead of paying me, my hard work in making those books goes for waste, and my kids go hungry.
For a good life, install only what you purchased. For an even better life, use Open Source so it's perfectly legal and ethical to take one copy and install it on the machines of 100 of your closest friends.
If you choose to make archival copies of installation media, the best way I know right now is to mount the media, then cat the device to a file:
mount /dev/cdrom /mnt/cdrom cat /dev/cdrom win98backup.isoThe mounting looks unnecessary, but my experience is that it helps get the right endpoint of the CD.
In the case of Win98, don't forget to keep an image of a bootable floppy with CDROM enabled. Floppies wear out. Also, if you're archiving installation media, remember in the case of upgrade media, archive the entire chain of upgrades, possibly back as far as DOS if necessary. For practical purposes, when installing Win98, temporarily placing a Win95 upgrade CD in the drive will convince the Win98 install program that you own Win95.
Be sure to keep any paperwork you might have. Yes, I know back in the early and mid 1990's nobody thought about proving ownership of what they'd already bought, but do your best. If you don't have licenses, at least have receipts for computers preloaded with Windows. Find whatever paperwork you can.
Converting data is tougher. I have 642 .drw files created by the Micrografx Windows Draw vector drawing program over the period 1990-2001. The only program I've found that imports them is Corel Draw, and it does a lousy job. Right now about all I can do with them is use Windows Draw to convert them to .gif, which eliminates all vector objects and makes them difficult to manipulate.
I have some WordPerfect 5.1 files which, when push comes to shove, I can import into Microsoft Word and save as .doc, and then open those in Open Office. Quite a bit will be lost in terms of styles and formatting, but WordPerfect 5.1 is pretty much an orphan. And then there are my Microsoft Office files, which can be imported into Open Office, once again with some loss or change of formatting. For the most part that isn't important, although one file is my book, "Rapid Learning: Secret Weapon of the Successful Technologist". I might make a macro to put tags around its styles, export it to text, and then run a script to convert the tags to LyX code, after which I can clean the book up in LyX.
Then there are various other file formats used throughout the years that I can't read today. For the most part it doesn't matter, because if they were important I would have converted them long ago. The point is that although difficult, data conversion is doable, and except in the case of my Micrografx Windows Draw files, I can export without losing much meta-information.
Then there's the challenge of interacting with the world at large. The day when I can send my customers an OpenOffice document is far in the future. Right now I format outbound docs on my Windows machine in Office97. I'm starting to ship outbound docs as .pdf files. Unless the customer has a need to change my content, the .pdf is ideal because he can simply run it through his printer. The tough part is collaboration. Sure, I can make a document in OpenOffice, convert it to .doc format, and email it to the customer. But when that customer marks it up and sends it back as an Office 2000 document with all sorts of macros, viruses and oddball fonts, there's no way I'll be able to carry on in OpenOffice.
I might be able to specify to my customers that they return everything in Office97 format, but of course customers aren't too pleased when vendors specify the interaction. This is perhaps the greatest challenge to a proprietary free shop.
I've heard OpenOffice will soon support DocBook XML. Perhaps that will
contribute to the solution.
Some alternatives are easier than others. For typical documents, trading OpenOffice for MS Office is trivial. Trading GNUCash for Quicken is a much greater challenge requiring much more work. When contemplating this work, it's important to remember the reasons you're working toward elimination of proprietary software is because eventually your proprietary software will break, either by hardware incompatibility or loss of installation media. At that point you don't want to be tempted by proprietary upgrades, because proprietary upgrades will lock you in and undo years of work.
The three challenges to a proprietary free office are finding replacement programs, converting proprietary formats, and interaction with the world at large. Finding replacement programs is easy and happens naturally. Converting proprietary formats is usually easy, but certain formats require manual file by file export by the proprietary program, and such exports often lose metadata (styles, vector objects and the like).
Perhaps the greatest challenge is interaction with the world at large. This is best accomplished by insisting on portable formats with all but your most important business associates, using .pdf where you can, and trying to find a common ground with the rest.
A proprietary-free office isn't easy, but in the long run it's worth it. You'll never again type in a key or get an authorization during an install. You'll never again be tempted to break the law to save a few bucks. You'll always know you're legal. Your days of losing sleep wondering whether your data formats will be obsolete, or will contribute to vendor lock in, will be gone. And best of all, when the Software Business Alliance runs their ads promising draconian punishments for unauthorized installation, you'll know for sure that doesn't apply to you.
Any article submitted to Linux Productivity Magazine must be licensed with the Open Publication License, which you can view at http://opencontent.org/openpub/. At your option you may elect the option to prohibit substantive modifications. However, in order to publish your article in Linux Productivity Magazine, you must decline the option to prohibit commercial use, because Linux Productivity Magazine is a commercial publication.
Obviously, you must be the copyright holder and must be legally able to so license the article. We do not currently pay for articles.
Troubleshooters.Com reserves the right to edit any submission for clarity or brevity, within the scope of the Open Publication License. If you elect to prohibit substantive modifications, we may elect to place editors notes outside of your material, or reject the submission, or send it back for modification. 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):
Copyright (c) 2001 by <your name>. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, version Draft v1.0, 8 June 1999 (Available at http://www.troubleshooters.com/openpub04.txt/ (wordwrapped for readability at http://www.troubleshooters.com/openpub04_wrapped.txt). The latest version is presently available at http://www.opencontent.org/openpub/).
Open Publication License Option A [ is | is not] elected, so this document [may | may not] be modified. Option B is not elected, so this material may be published for commercial purposes.
After that paragraph, write the title, text of the article, and a two sentence description of the author.