Devoured By Lions

the eternal struggle to tame complexity

Linux and FLOSS

I came across xwinman.org recently, which dredged up memories of the amateurish, but in their way charming (a time when somebody would actually attempt to copy the look of Windows ‘95) X window managers of yore. I had just started getting into Linux in the late 90s, and my enthusiasm and hope lead me to spend many tedious nights installing and configuring Linux (anybody remember TurboLinux) on the underpowered machine I had at the time. Although it was a great learning experience, using Linux as a desktop was underwhelming.

While I have used Linux on a daily basis since then both on job, and for personal use, it has been as a server OS. In the last year or so I have been using Linux more heavily on the desktop via virtualization (VMWare, and then VirtualBox), and I am really impressed. While the mantra has always been that Linux is “not yet ready” for the desktop, I think those days are solidly over. Hardware support is excellent, and UIs are stable, robust and featureful. Linux is becoming the desktop of choice on netbooks. The amount of software that is available is amazing, it all integrates with the web applications that people care about these days, and updates, bug fixes and new features are frequent.

Simultaneously I have been listening to various Linux (e.g. Linux Outlaws) and open source podcasts, and have gotten a sense of the vast self-supporting open source community that exists these days. Not the lone renegades of yesteryear, but a varied community that includes graphic and music artists, enthusiasts, and everyday users in addition to developers. This free culture movement has grown to include its own social networking, music and graphic art outlets in addition to operating systems.

From a developer’s point of view, Linux is an eden. If there is a technology I want to learn or experiment with, it’s just there. There is nothing to pay for and no permission to request. And if I need help, I can typically talk to somebody who has a similar personal interest, and often the developers themselves. There are no silos. It’s just open. In retrospect I’m sorry I did not get aboard sooner, although I am glad that I didn’t spend all that much time investing in the gated community that is proprietary software in the first place.

At this point I’m considering switching (once again) to a Linux desktop. Really the only things in the way to using Linux as my main desktop environment are:

1) Windows games
2) data backup/migration solution
3) one or two windows apps I may still want to run

I am currently running Linux in a VM only because (I assume) doing the opposite - running Linux as the main OS and Windows in a VM, which I would prefer - imposes performance issues that undercut gaming. This could be a non-issue given the amount of gaming I actually do (or should do), and a solution would be to just permanently give up Windows-based gaming. It may also be the case that some time in the future (or today for all I know) Windows games may perform adequately either in virtualization, or via WINE. The last solution is to just purchase this convenience with faster hardware; it may be worth the money.

As far as a backup solution, or data durability in general, I know this is actually much better under Linux (nothing can be worse than the situation on Windows)…it’s just something I would need to learn a little bit about (preserving home dirs and application settings across machine upgrades and OS distributions). The one Windows program I do use extensively is KeePass, and while this nominally runs under Linux (mono), I have not had much success with it. That said, I’m sure there is a Linux alternative (perhaps the built-in desktop keychains/stores?).

At this point, I’m eager to start doing some open source development, and actively participate instead of simply freeloading. On several occasions in the past I’ve been interested in working, for example, on projects like FireFox or OpenOffice, but it is effectively impossible (or just excruciatingly painful) to attempt this on Windows, and I have turned away. Now there is no excuse - sure the build systems aren’t that great, but if you follow the instructions, the tools are all there and it will work - no more chasing down hacky Windows ports, dealing with “batch” files etc. There just is no excuse not to participate.