York, England 2004-09-02

Carey and I have moved to Open Source software. We're not the first, and we certainly won't be the last.

There are a number of reasons, none of which will be surprising.

Technical Issues with Proprietary Software

Everyone knows about the quality of Microsoft software

Microsoft Money would not install on a new PC so we spent two months not managing our finances. I had to use Virtual PC to debug the install to get the data out. Once I'd extracted it there was no way it was going back. The problem here is the propietary data format which stopped me using my own data. I felt my trust had been betayed. Note that I tried Money 97 through to Money 2004

We had to purchase something like Pop2Exchange because Exchange Server can't collect mail from a POP server. hard to believe, but true

WinFax / VentaFax are both OK voicemail products but they don't really integrate seamlessly with the other tools we have. Linking them to Outlook never quite worked properly. The GUI in Ventafax never seemed right (upside down sliders etc.). Both of them encoded the voice files in a format that PockectPC could not understand

Gaming should be simple and fun. Problems with DirectX and the Microsoft's steering wheel have left me unable to take advantage of the great hardware I have. Finding that old games no longer work due to some DirectX feature or installation problem makes it more a more unattractive platform

The integration with PocketPC is really quite painful. I would have to say that ActiveSync is the application that I dislike the most in the whole set I use. Trying to setup syncing over Bluetooth or the Internet is just a pipe dream for most people. I might have got it working, but it was simpy not reliable

I wanted to take advantage of the Distributed File System and NT File Replication but that demands Active Directory. In fact Exchange Server 2003 demands Active Directory too. My experiences with Windows lead me to want three servers running full time - Stable, Testing and Backup. That means I need three server licences - that's not cheap. Sadly Active Directory is not a trivial thing to manage. Whilst we were in New Zealand I wanted to encrypt our data in case the machines were stolen, but this is incompatible with File Replication

Product activation sets a precendent that makes my life running Windows more tricky. In the past when I have had hardware issues I've been able to swap hard disks, processors and the like between my machines to diagnose the fault. Product activation makes that a risky process and I've never been able to get a handle on where the line is drawn before the product is de-activated. In future versions of Windows I can only see this getting more restrictive. TomTom has also gone down this route (excuse the pun)

I've made a decent career as a Visual Basic programmer. I've even been able to write software that clusters using it. Unfortunately after version 6 the edit-and-continue functionality was removed. It's scheduled to be re-introduced in 2005. It's an example of having the rug pulled from under me without having any recourse or alternatives. Luckily I found vb2py which helped me wean off the proprietary tools

For a number of years I've had a script in Outlook 2000 that used my Contacts folder a white-list for incoming mail. This shows the benefits of extensibility. Unfortunately the script viruses have forced Microsoft to add a layer of protection against my own scripts. In Outlook 2003 they made the white-list feature native which is good

Up to 2004-09-01 we've never had a virus at home. This has taken a religious zealotry to manage. I've been strict with Carey about Internet Explorer security levels for a long time. We had a firewall before getting ADSL. The problem is that it only takes a single mistake to infect our network, this is not so likely to happen with Linux at the moment as there are no Linux viruses turning up in our inbox. We also had a few nervous months during the Nimda attacks

I'd like to say that having an integrated suite of tools such as Office, SQL Server, COM+, Visual Studio and Exchange Server made for an easy life but there were still plenty of issues for me to deal with at home and work

The robustness of programs like Word is simply not good enough. I go to alot of effort at work to create robust systems and it's a bit insulting to watch my letter to my Nan become unreadable or vanish when Word crashes. Autosave is good, but not much use if it saves a corrupted version of your document

Internet Information Server and Routing and Remote Access did not keep running on their own when we went to New Zealand. I had to get my neighbour to go into our house and reboot the machine. My new Linksys WAG54G has not failed yet

It's very difficult in Windows to backup part of your configuration before trying some experimentation. For example I ended up taking screenshots for my Routing and Remote Access configuration. I've never been brave enough to restore a registry hive. Note that System Restore is not available on Windows 2003

Sadly the wireless link under Windows XP and 2003 completely failed at random. I supressed power saving and other settings that could have caused this, but it still happened

Political Issues

My favourite article at the moment is Licence fees and GDP per capita: The case for open source in developing countries. I think it helps explain the problem of getting the world connected

I can understand a country such as China being unwilling to be dependent on closed-source software from the USA. There are more people outside the USA than inside it. Open source helps alleviate some of the issues, but open data formats are also important to me

Cost Issues

Trying to run three servers at home is simply not economically justifiable with Microsoft's licencing policy. Unfortunately Windows XP can't serve Distributed File System shares or host Exchange Server

Most of the software we needed to use to extend Windows needed us to pay money and get a licence. This becomes a pain when you are setting up a new server and find out something is silently failing due to licence failures. None of that software was particularly innovative

Personal Issues

I don't want to spend my life re-writing software that already exists. I believe Microsoft are going to re-engineer many open source components to ship the Unix Services aspect of Longhorn

I want to spend time with my family. The technical issues with Windows forced me to spend time fixing problems that were made much more lenghtly because I could not access the data or program source code

Partial Migration to Open Source

I've dabbled with Linux and friends in the past but the motivation to move hadn't been strong enough to justify the change - when you're in a rut you can't always tell how deep it is. I had been keeping an eye on things like Cygwin and Firefox

I started to do some serious work with Python and I was impressed - both technically and politically. When I added Eclipse to the equation I noticed that I was quite productive relatively quickly. The solutions I was creating were much more portable and open

After a while I switched to Firefox when the number of Internet Explorer vulnerabilities became too worrying. This seemed to work just fine. I was able to do my banking, shopping and random other browsing. I also felt safer

The next step was to dedicate a machine to Fedora Core 1 and see how well things worked against native hardware, I'd always used VMWare or a laptop before. This actually went very well. It took a while to get my old wireless card and NVidia video card rolling. However, the process of experimenting with them showed me the strengths of an open data format. Once I had the multi-head video working with Xinerama I started to feel like I was really making progress

I managed to get desktop sharing and file + printer sharing working OK during the transition phase. This was only a stop-gap until I removed all the Windows machines

Full Migration to Open Source

The last Windows PC in our house was shut down 2004-08-15 07:00 BST

I'll admit that full migration was a bit scary. I don't have a peer group locally to support me. That's the same as when I moved to Windows 2000 Beta in 1999. The real difference was that I was now in a deeper rut. I'd spent five years getting things working on Windows and I wasn't sure how much I'd have to give up. In fact the only thing I'm struggling with today is my cheap WinTV USB device

Carey was (justifiably) adamant that she would still be able to do her normal computing. That means Word, Outlook, Internet Explorer. I had already weaned her onto Firefox and the others were covered by other open source tools. In fact she's quite enamoured with TuxRacer at the moment

I investigated replacing Exchange Server with Kolab but I found out that the web client wasn't mature. I installed eGroupware and found that things were more along the lines I expected. I'm running

File management has been replaced by the Network File System (NFS) and rsync over Secure Shell (SSH). This has allowed me to maintain a copy of files on all servers and hence protect against inevitable disk failures. Rsync offers bandwidth restrictions which is good for my less important archives. It also offers to backup deleted files to a backup folder tree which is great when you realise you didn't want to delete things - it's not Volume Shadow Copy, but it does give us a safety net

MSN messenger was replaced very early on with gaim

Visual Studio has been replaced by Python and Eclipse

I used the money I saved from not using Windows to buy a nice ADSL + WiFi-g router (Linksys WAG54G) so now I'm not dependent on keeping any one machine up in order to get to the internet. That has turned out to be quite useful

The simple financial management we were doing has been replaced by a spreadsheet which is OK, and critically the data is in an open format

Suprising Benefits of the New Open Environment

I expected my new environment to be equivalent to my old setup. It has turned out to offer a number of rather pleasant suprises. I can use Webmin to manage a large number of the things I work with via a web interface. I've been able to increase the global font size which makes all my computing much easier. X windows applications are designed to be scalable so it's much better than enabling large fonts in Windows. Yum provides a comprehensive update service - it even noticed I'd installed a new game (bzflag) and offered to fetch an update that was availible.

It's been fairly easy to write a script to document the machine setup:

yum list installed

and

chkconfig --list | grep :on | sort

I get this script mailed and archived every day so I've got a reference when I break things

At 2004-09-02 21:00 BST I was going to go and play with the computers as normal. Then I realised that things were working as planned and in an architecturally sound way so I went back to snuggle Carey