Not all open source software is good!

Not everything that is free is worth having, just think about it, someone is throwing away an uncomfortable pair of shoes, it’s likely while they are free, they’re not fit for purpose.

It’s been a while since I started this article, but have some more ‘ammo’ now.  The thing with free stuff is, sometimes you just won’t want it.  Free trials, free samples, free full versions, they are only helpful if you actually have a need for them.

Proprietary Software vs Open Source Software

If get a little grumpy when people tell me open source software is free, and that god’s light is shining on them. I’d argue open source software isn’t free, it takes time to develop (for someone, or a group of people), and that you still either need time of money to implement is (where time = money).  I guess the thing that bugs me even more are the number of people who expect free support for their ‘free’ software.  Unfortunately there are a number of hours in the day, and they’re limited, for those of us making a living from developing software, utilising open source software in our products (within the licenses), we unfortunately need to make a living from what we do, and unfortunately while your boss thinks open source is great, you really need to tell him that you need some professional services from a company that understands the software, where it works (and where it doesn’t).

Open Source Software that works (and doesn’t)

It’s taken me some time to finally hit this idea on the head, that is while all software isn’t created equally, there is a much larger gap with open source software, they fall into these basic categories:

Great Open Source Software Developed by a Commercial Entity/Company

There are a few really great and successful (read: long life) open source software applications, these are the ones I personally use daily for various projects, and rely upon to make my living:

  • Apache (Web Server)
  • Squid-cache (Proxy Server)
  • mySQL (Database Engine)
  • PHP (Web Scripting Language)
These open source applications have a commercial backer.  They are used widely, and contributed to frequently.  The benefit of this (especially mySQL), is you can pay a license, or get commercial quality (emphasis on QUALITY) support when you come unstuck, or have a mission critical application.  They are also used by some of the big boys:
  • Squid is used by Wikipedia
  • Apache is used by YouTube
  • mySQL is used by nearly all the social networks you use (think Facebook, Twitter)
  • PHP is used by Facebook, Wikipedia and Wordpress
This should give you a bloody good case as to why you should use (and support) these open source products.

Open Source products that are just bloody good anyway

I’ll put Debian under this category as I use it daily for all our servers (and I know many other companies do as well). Moodle is another one, not 100% if it’s commercially funded, but rather a group of companies committing to it.  There are probably many other products so don’t flame me ;)

Open Source because we had to/poor quality open source projects

I won’t name anything specific here, you probably know a bunch of these applications already, as do I.  These projects are generally written by junior developers, released with all good intentions, often abandoned, work on specific systems only, work only for the developer, lack documentation, or were asked by clients to open source before they decided to use it.

I’m telling you about these types of open source applications because, by far they are the ones I encounter by people telling me how great this open source program they have found is, and will change the world, but when it comes to installing it requires a complete recompile of all the server software it runs on, one small mistake in setting it up will break it beyond a usable state.  See the problem I really have with these applications is that I’m often asked to ‘fix’ them, and when I tell them it’s a bug in the software (and I can’t commit a fix to repair it for all), they get all ‘anti’ on me saying that X number of users use it, and it must be me.  Sorry guys, but I’m not telling you for my benefit, I’m telling you because telling everyone about this great software that is barely documented, needs someone like myself to spend 3 days fixing basic security holes, simple problems that a bit of forward planning would have found, or alas solved, so I didn’t need to waste my time that you think is ‘just a quick fix’ but takes me 2.8 days to isolate, 5 minutes to fix, 30 minutes to test, and 30 minutes to re-install, you want to pay me for my 1 hour 5 minutes - I think not.

This is where the problem lies for me… you’re using what I would consider substandard software (which you obviously would never pay for - am I right?), and then you expect some poor software developer (remembering we’re actually really good at our job - that’s why you’re asking us to do it right, because we all know you’ve read Sam’s PHP in 24 hours, and it didn’t help you find the problem) to fix it for you.  It takes us time to work through someone elses spaghetti code that we’re not familiar with (sorry this is just ramp up time).  I guess you just expect your ‘free’ software to still cost you nothing, even though it’s broken.

It’s not all bad (I hope)

If this seems like a bit of rant, it’s not supposed to be, I’m just pointing out what a number of software developers are experiencing (Zed Shaw pulled his article, but thanks to the Way Back Machine you can read about the life of a poor software developer crapped on by the development community profiting from his application).  Personally while it’s a rant (his words), I can understand his position (my version above is a cut down version of his own experience).  The thing is, you should know by now that there is no such thing as a free lunch, it’s in your bill somewhere, so someone else is footing the bill on the great open source application you’re using, if it’s poorly written don’t expect some poor software developer to fix it for free, their time and expertise is worth paying for!  I have a pretty simple way to work this out, see I could spend 7 years learning my lawyers jobs, then do internships for a number of years on top of that, or I can just pay his fee and get on with my life.  My lawyer is a great guy, I like paying his bills, he charges a premium, and I get a good job done, we all win, and get to enjoy a glass of wine, or a cold beer once in a while.

If you have an interesting project using open source software, and want to hire some expertise, you can contact me via my company Totali, we do great Linux and OSS solutions for our customers, and have experience with cross platform networking, we’re also pretty good at reducing your TCO using proprietary and open source software.


About this entry