Open source vs. Closed source
Friday, 11 May 2012
After a discussion on the feasibility of open source, I needed to get my thoughts out there on the topic.
There are plenty of little open-source software projects out there that have no merit and aren't very useful, and obviously lack a lot of support. But making that general observation and ignoring products just because they are open source before even investigating what kind of support is available is ridiculous. A corporate support base does not necessarily make supporting your application easier than a community one. The majority of times that I have an issue I'll be on Google or Stackoverflow before I hit up any sort of software vendor.
Even a couple of weeks ago Microsoft announced that they were open-sourcing the ASP.NET MVC framework.
Unless you are writing software for a bank or hospital machinery where mistakes cost lives, there's no reason not to go with open-source. If you are dealing with life-or-death software you're probably going to want to write all your code yourself anyway.
Writing off a piece of technology just because it's "open-source" assuming it has no support is idiotic. It's quite possible that a piece of open source software actually has a larger support base than any commercial product.
All that the label "open-source" implies is that the source code for the product is readily available and can be updated by whomever wishes to contribute. If you are concerned with downtime from using open source, if you think about it, it's quite likely that you could probably rectify the issue in a shorter period of time than if you had a support agreement with a commercial vendor. With open source you can identify the issue, fix it, and publish it to production. With closed source you must identify the issue, be able to replicate it for the commercial vendor, notify the vendor that there is an issue, wait for them to accept the issue, wait for them to fix the issue, and wait for them to send you the fix. Everyone has their own opinion, but I would much rather have control where I can fix the issue in the shortest period of time.
Times are changing, open-source is not what it used to be.