Three Advantages Of Open Source Software
Open Source Software tends to be better at "playing nice with others." Often there's some sort of data dumping routine that makes it easy to get information from one application to another. Or, even better yet, two applications both run on similar databases and can read each other's data. What if you like OpenBravoPOS, but want to use Postbooks for the backend bookkeeping rather that a full fledged OpenBravo install? They both can be run on PostgreSQL, and it wouldn't be real difficult to get Postbooks to read sales data from the POS database. One of the advantages of open source software is how easy it can be a lot of the time to get different applications cooperating.
Say Goodbye to Vendor Lock-In
Do you know what vendor lock-in is? It's when you buy software from a company that wrote it, and are stuck when you don't like the company anymore. The software might be fine, but you want some changes made. Or maybe their tech support takes all day. With open source, this isn't the case. I'll use the OpenBravo example again… When looking at switching to this app, I found six or seven companies that could provide me with support. If I sign on with one and don't like them after the contract is up, I leave and sign up with someone else. They can't all suck, right? Even if they did, I'm sure there's an OpenBravo expert out there that just isn't advertising support. One of the folks writing it perhaps. Another advantage of open source software is that you have vendor choices.
Proprietary applications are, by nature, more secretive than their open source alternatives. That's the proprietary way. What happens in this closed environment though is that fewer eyeballs on the underlying code means mistakes are more apt to get through. And they do, and they do, and they do. I'm sure the testing process is not nearly as rigorous as that of open source applications. I'm about to give Fedora 16 a whirl. I know that even being the newest version, it's going to be better on it's worst day than Windows on it's best day. Very little fails for me on my personal computers since I started using Linux way back when.
I keep using my job as an example here on the site, but it's usually an excellent example of what I'm trying to convey.
Getting Along: We're using a Java based ERP that runs on MySQL. It's a proprietary app running on top of an open source database. While the closed source irritates me to some extent, I can read whatever data I want out of the backend database. What I do is show customers their invoices online and let them check prices. I've also written a php app that lets up see other things on our side of the firewall. See, the application is so slow, and the reports just don't exist sometimes, for us to function. I'm able to go find invoices and purchase orders with just a couple of clicks, see sales data, and check on inventory. I understand that all of this should be easy using the software we pay so much for, but we can't and I'm still able to work around it. I'd give this app a half a point for playing nice. Maybe three quarters…
Vendor Lock-In: As far as vendors, we're stuck. There is no other company we can get support or updates from for this app. Hold times and call back times from support have gotten steadily longer. In fact, I called Monday (12-12-2011) about something and had to call back again today (12-14) and still didn't hear back for a while. It might have been by lunch. Updates were few and far between for a while, but seem to have gotten fairly regular. This is both a blessing and a curse though…
Quality Control: I've heard that the code in an open source application tends to be cleaner than in an equivalent proprietary one. I wouldn't know for sure without actually comparing, but I suspect this is true to some extent. Messy code is bad in the long run, both from a performance and a maintenance standpoint. We run into this almost every time there is an update to our software. Generally, something breaks. Sometimes it's broken before the update even installs and I come in to a mess (everything down) and sometimes it's some weird problem we don't see for a couple of weeks. The point is, there obviously aren't enough eyeballs on the code because these bugs keep getting through. Perhaps the code is such a mess to begin with that it's hard to find the mistakes. I've got no idea, I just know that several hundred (or maybe a thousand) bucks a month is an awful lot to pay for broken software.
It could be that the poor bastards in support CAN'T call me back until they get a straight answer from the folks in programming, and those straight answers might be few and far between.
Wow, I've rambled on a while and only talked about THREE advantages of open source software. I assure you though, there are many more. I'm sure there are disadvantages to open source as well. In fact, the one that immediately pops to mind is the time I've spent researching apps before I find one I like and start using it. However, I will say that it's usually pretty smooth sailing once I've gotten to that point.