Tuesday, 10 July 2007
A topic that I've butted up against on more than one occassion recently is that of open source software. So I thought I might devote a post to what it means to me.
Open source seems to be many things to many different people, but commonly these days it seems to be used as a marketing tool for commercial companies to gain advantage over their competitors. These companies do indeed release an open source version of their software but in most cases its just a cut down, feature poor version of the commercial version of the software which they really want you to buy or subscribe to.
Far more sincere are those companies that were set up to support an open source product, with the full version of that product available for anyone to download and use, while the company itself makes money from selling support packages or books or whatever. There are in my humble opinion two extremely good examples of this, MySQL and DotNetNuke.
Then there is the most common form of open source where an individual or small team have worked on something and make it freely available for others to use. This I think is the most sincere form of open source and is probably almost a labour of love for those involved.
Like most other people I like the idea of getting something for nothing so when I have need of some software the first thing I tend to do is look for something suitable from the open source community. Unfortunately, these efforts tend to be quite hit and miss with any application that I do find not really fitting the bill, assuming I can find anything for a Windows machine in the first place - when I looked for backup software recently all I could find were tools for Linux.
When I'm looking for something connected to software development I tend to be more successful. There is a huge community of developers out there who give of their time to write small tools, controls or full blown frameworks for their fellow developers, I've used this code in my own projects on more than one occassion and I salute and thank all those who give their time to do that.
An excellent example of that philosophy, which I've been evaluating recently is DotNetNuke. DotNetNuke is a content management system for web sites, allowing you to create a complete interactive web site without writing a single line of HTML or ASP.Net. In my opinion its easily the equivalent of any of the commercial content management systems available if not superior, and what's more it's free to download and use on your own web site.
So to sum up, my philosophy on open source is the same as that for commercial software, I use the best for a given job that I can afford. If that's open source then great, but if it isn't then I'm not going to begrudge paying the guys like me who spend all day writing code and who want a fair re-imbursement for the work and effort that they've put in.