Firstly, a little about my journey with open source software. I'm by no means an "expert" (def: an unknown drip under pressure) but neither am I a total ignoramus.
Intro to Linux - 2001
I came across Linux during my Diploma in IT in 2001 / 2002 where we were exposed to Red Hat 5 or 6 or thereabouts. Here is where I was introduced to the concept of open source software. It didn't last long as I figured that as we lived in a Windows world, I had to keep up with Windows and prioritised my efforts here. Getting a job during the tech-wreck was work enough.
The idea of open source in the Windows world certainly wasn't obvious to me then, so I can't say what the state of it was back then.
Asterisk Implementation
My first real use of open source was when my boss in 2005 set me the task of developing the company knowledge of the VOIP PBX Asterisk. Four years after playing with Linux, I was still able to remember enough to get going quickly. (hooray!!!) I actually managed to get a working installation off the ground, complete with an exim4 service to handle voicemail.
Current Open Source Usage
Since then, in the Windows world, I've been playing with open source software mainly in the software development space but also a little in the support space. Principally, I built a company intranet in DotNetNuke (DNN), a wonderful platform for hosting content management systems, based on VB.NET. Otherwise, my main use for open source has been for development support tools like Subversion and TortoiseSVN (of course), MbUnit, NUnit, NMock2 (yeah so what if Rhino Mocks is "better" - I like the expressiveness of NMock2 and you gotta start somewhere), SharpDevelop and am now dipping into IronPython (the Python implementation for the .NET Framework). I also configured and deployed a helpdesk / support tool in PHP and MySQL (of questionable quality). I'm sure there are others that elude me for now. Some of these tools are either ports from Linux / UNIX apps while others are ports from (or inspired by) Java tools (possibly open source).
It's interesting to note that the purpose of all of these tools have been to make the life of IT staff easier or more productive. No open source software that I have been in contact with has been for the purpose of enhancing end user productivity. DNN is kind of the exception, although its reason for existence was to remove me from the process of posting new content to the intranet. I learned that the IT staff should not be an essential part of the business process. Implementing DNN meant that users could post content themselves with little intervention from IT.
Open Office.org
On the open source front, I have dipped into Open Office several times since version 1.0 (possibly a little earlier) and every time have also dipped out. For a while I used it while studying part time in 2007 while holding down a full time job in preference to my other poor choice - Microsoft Office 97. I continually found that menu choices were hiding somewhere unexpected and getting help was difficult. At least as difficult if not more so than Microsoft Office. The final straw was when editing a table was more difficult than it should have been. I ditched it in favour of Office. At least the thing worked according to my expectation.
My most recent exploration with Open Office was last week when I investigated version 3.1. I opened a moderately complex Word doc, a document from Microsoft “Deployment and upgrade for Office SharePoint Server 2007” (link). It contains an automatically generated table of content, hyperlinks hidden behind display text and some pictures. There might be some tables and bulleted lists. When I opened it, some of these hyperlinks had been inexplicably changed from Arial to Symbol font.
Apologies to the Open Office folks, but this is a deal breaker. If I'm in a position of specifying a new office suite to a company, I am not going to recommend deploying a product that does this. It just has to do this right.
Summing Up
If you get me on a bad day, I'll be a Microsoft bigot and will curse open source to the ends of the earth. It's wrong for me to do this and once I calm down, I'll tell you that I'll consider it if:
- it works reliably
- I'm looking for software that will do a task better
- I don't hate the world on the day you ask. ;)
Till next time
Cheers
Mike