Pros and Cons of Open Source Software


In December 2015, Wired published an article called Open Source Software Went Nuclear This Year that looked into how the biggest names in tech have started adapting the open source platform. While open source software – then called free software – has been around since the early 80s, 2015 is the year it saw increased significance.

A man called Richard Stallman talked about free software – what open source software – in the early part of the 80s. It wasn’t until the 90s when the idea found a level of success with Linux, the very successful open source operating system created by computer programmer Linus Torvalds.

Today, Linux is the system that runs our lives basically. The Android operating system (which is based in Linux) is one of the widely used software in the world, and a lot of Google phones run on that OS. Even the biggest names in social media, particularly Facebook and Twitter, have data centers running on Linux machines. So essentially, Linux also runs the internet.

The world’s most powerful tech companies and entrepreneurs are more open than ever in sharing the code to their latest technologies. They are starting to recognize that open sourcing their software will not only boost the progress of technology but also their own progress.

But despite this level of progress in the field of open source software, many still question whether it is the right thing to do or not – be they developers or tech companies. To understand each side, it’s time to take a look back at the pros and cons of open source software.

List of Pros of Open Source Software

1. It helps a project get noticed.
Mile Olson of Cloudera (software company providing Apache Hadoop-based software, support and services, and training to business customers) noted in a post on LinkedIn: “[T]here’s been a stunning and irreversible trend in enterprise infrastructure. If you’re operating a data center, you’re almost certainly using an open source operating system, database, middleware and other plumbing. No dominant platform-level software infrastructure has emerged in the last ten years in closed-source, proprietary form.”

Basically, when you want to develop infrastructure software (this includes operating systems, databases and the like), it’s best to use an open source platform.

2. It provides a level of freedom for developers.
Developers are afforded personal freedom when open sourcing their code. For instance, even if a particular developer is employed with a software development company, getting their work provided with an OSS license means they can use the code personally and even at their next jobs.

Other developers get a satisfying feeling knowing that other people around the world can see their code and may marvel at it.

3. It can be customized to meet an organization’s needs.
One of the best things about open source software is that you can tinker with it however you want. You can strip parts you don’t need and you can add things that are more useful. This is the beauty of open source software: being able to do what you want to suit the needs of your organization.

List of Cons of Open Source Software

1. It requires developers to do more work.
Open sourcing your code means you’re putting it out there for the world to see. To put it quite simply: as a developer, the last thing you want is to get embarrassed by fellow coders on a world stage. In the age of social media, there is little places where you can hide from people who won’t think twice in calling you out for work they find subpar or not good at all.

But on the other hand, open source code tends to be of higher quality. Working with proprietary software means you have a schedule to follow. Think updates that need to be rolled out at a certain date (let’s say quarterly, weekly or monthly). Sometimes the code is shipped even though it’s not perfect because developers are working on a deadline and the problem can be fixed in the next release.

This differs a lot with an open source project. Why is that? For one, a project written in an open source platform is rarely released until it is deemed ready. Everyone can see the code and see where you’re being sloppy or just didn’t pay attention at all. Proprietary software can hide behind the curtains because no one can touch their code. One could only guess the reason behind errors and such.

Open source software, in essence, needs to be properly documented. Why is that the case? This allows contributors to get involved easily. Yes, a good coder can understand what another coder is trying to do but it would be a whole lot easier for everyone if everything was explained.

2. It might not be so financially rewarding.
Developing with open source products means you’re using technology that is free. That alone makes a product hard to sell. However, that doesn’t mean that you can NEVER profit using the open source model.

For example, Dropbox can still make money when they open source their Go libraries because that’s not what their business depends on. However, it’s an entirely different situation when you’re trying to sell an inventory system, for example.

3. It may or may not spell the end of a product.
Symbian, the once dominant mobile operating system that powered Nokia phones, is a good example of a victim of open source. Much of the blame was put on the platform not being open sourced sooner. By the time they did, Linux-based systems like Android were already tech darlings. In short, no one was interested anymore.

This is one of the harshest realities of developing in an open source platform. But there have been runaway successes like Red Hat. Other companies like MySQL have been absorbed by bigger companies; in this case it was Oracle.

The idea is this: it’s very difficult to build a standalone company that completely relies on open source software. Then again, the key to surviving lies in continued innovation.