Have you ever wondered what the benefits are of choosing a platform that is open source?
How does this benefit you?
Read on to see the pros and cons of using open source software
What does it mean to be open source?
All open source software needs to comply with one of the licenses defined by the Open Source Initiative.
The 10 basic defining points are covered on the Open Source Initiative website (https://opensource.org/osd) and include free redistribution, access to source code, no discrimination against people or field, and being technology-neutral.
For example, WordPress uses the General Public Licence (GPLv2 or later) with four freedoms:
- To use WordPress for any purpose
- To study how WordPress works and change it however you want
- To redistribute WordPress
- To distribute your modified versions of WordPress to others
Basically, open source software is designed to be freely shared with everyone. Absolutely anybody can take a copy of the original program and modify it however they want to.
One distinction we want to make here is the use of the word free with open source. When developers talk about open source free software, it isn’t money they’re talking about, it’s the freedom. With open source software, developers have the freedom to modify and distribute the software in any way they see fit.
For a more detailed look into what open source software is, take a look at this post on How-To-Geek.
Pros of using open source software
#1 Community-oriented development (fast development)
Since anyone can modify their copy of the original program, if someone sees an error or a better way of doing things, they can submit their modifications for review. If those changes are deemed useful, they will be included in the main version to improve the software for all users.
#2 Freedom and control
One great advantage of using open source software is that you can use it the way you want to, and not the way someone else thinks you should. This is particularly handy if you’re competent with code – you can dive in and change the parts you don’t like.
Also, if you’ve created a version that you think is great, you are free to distribute it so others can benefit too!
#3 Free (generally)
Generally open source software is free, but it doesn’t have to be. Most developers make their money through charging users for support, ongoing updates, and other services. You can see this in the case of WordPress where there’s the free open source version available at wordpress.org (https://wordpress.org/download/), or their paid version available at wordpress.com (https://wordpress.com/pricing/).
This is arguably both a pro and a con, so we’ll cover it in the cons section later. The reason people consider open source software more secure is because anyone can fix, update, and upgrade open source software, which means errors and bugs can be fixed more quickly.
It is important to note here that anyone can modify their copy of the original software, but they can’t make changes to the original source unless their changes are approved by the moderators or team maintaining the original software.
#5 Software variation
Forking is when someone builds an alternative version of the software which does not get incorporated into the original version. This new version is called a fork.
Forking is good for people who have more specific uses for the software. A developer can maintain their forked version while still having access to the updates from the original version.
#6 Long-term stability
The code is in your hands forever, no-one can take it away from you. If the original creators decide to abandon their software, you can keep using it and update it yourself. This is a big benefit over using a closed source software – if the company shuts down, all your data stored on their servers disappears along with them!
Cons of using open source software
The fact that everyone can access the code and create and distribute their own version of the software does come with some risk if you’re using redistributed versions rather than the original. Just be aware that good and bad people can be making changes to the code, so if you’re using a redistributed version, you should always review the code to make sure nothing suspicious is going on, or at least make sure you trust the developer!
#2 If the team quits or interest dies out
The disadvantage of using any open source software is that if the people who are maintaining the software decide to abandon their project, or the community interest dies out, you risk having jumped on board a sinking ship and you may have to either keep using an outdated version or restart.
This risk is there with any software you use, but perhaps is more likely with open source software if there is less funding available. At least if an open source software dies out, you still have your data, as opposed to closed source software, but you’ll still have to figure out a new way to keep your site up to date if your software team quits!
#3 Less Support
If you’re using a free software and aren’t paying for support, chances are support will be minimal or non-existent. You get what you pay for. Or in this case, you don’t get what you don’t pay for.
You might be able to turn to the community for help, but nobody is obliged to help. A lot of the time it’s developers working in their free time and out of their own pocket, so if support exists, it is likely to be slower than paid support.