Open source has been on the scene for much longer than I have and I’ll hold my hands up – I arrived somewhat less than fashionably late to that party. Having just set up my own site on the Wordpress platform, I have to say I’m more than impressed.
As a Microsoft developer of over 10 years (ASP through to ASP.NET 3.5) I’ve not really had a chance to get my hands dirty with the many open source platforms out there (which are predominantly PHP/MySQL Based). Over the years, I’ve developed a broad range of web applications from the ground up on the .NET framework, from vehicle tracking platforms to custom content management and e-commerce systems, but over the last 6 months I have been researching and getting myself very familiar with a number of open source platforms, including Wordpress, Drupal and the Magento Ecommerce platform.
Open source platforms benefit from the input of a huge development community, constantly improving the software. Out of the box, Wordpress is a powerful blogging platform, providing loads of functionality as a result of 1000’s of man-hours development from the word go. Developing such a comprehensive feature set from the ground up would very likely be expensive, and in most cases beyond the means of the most wanting to set up a blog from scratch.
Open source platforms have matured and gone are the days of endless hacking to shoehorn functionality in to an existing system. Plugins and extensions have been developed to broaden the feature set of Wordpress and Magento, and developers can extend open source by writing their own plugins using the often intuitive frameworks upon which these platforms are based.
There are several issues to consider when deciding to use open source over custom software which are beyond the scope of this blog, which is really just a nod towards the hard work of the open source community. I will certainly be considering the open source approach for projects in the future and am looking forward to getting stuck in to Magento for a big project in 2010.

Good article. At what point would you not use an open source platform?
I think it’s a case of using the right tool for the job, and this boils down to the client requirement. Magento is a superb starting point for most ecommerce projects but can be overkill for basic requirements.
On the other side of the coin, despite it’s extension support, there may be a functionality requirement which simply cannot be achieved by extending the platform, where the underlying business logic of an off-the-shelf product simply does not apply. In these cases I would always look for an alternative and if one can’t found, start from the ground up.