Open source software has transformed our world. There is no shortage of free software that promises unlimited possibilities. To a large extent, this is true. If you can imagine it, you can do it. The unfortunate reality is that there comes a point where free software stops meeting your needs and it's time to make the transition to custom software.
It can be difficult to know when this transition point arrives. As a company, you want to ensure that your resources are being used in a responsible way, and if a random Wordpress plugin can meet your company's needs, why spend money on custom development?
The answer is that you don't. If open-source or cheaply-priced software meets your company's needs, then the right call is to use that software. Custom code can be expensive, and it doesn't make sense to spend money on totally custom code that re-invents the wheel. In this post, we're going to talk about how to know when it's time to stop using open source software.
Defining our terminology
Before we go any further, let’s be sure we all are on the same page about the terms that are being used.
Open source software refers to any code that has been written by someone and placed online with the intention of being used by others. It can be a library that provides functionality to make building a website easier (think jQuery, React, or Vue), platforms like Wordpress or Joomla, or it can be a fully-featured product like plugins for Wordpress or Shopify. Whatever type of open-source software you have in mind, it’s often created with the intention of helping countless people around the world solve real problems with code, many times for no other reason than the author or team wants to help other people.
Custom software is code that is written specifically for your use case. It can be as customized as you like, and can be built to specifications. Custom software is typically closed source. It often is built by using open source software, but the final product is not made freely available for others to use. Essential business processes are often proprietary or contain trade secrets, and there’s nothing to be gained by sharing the code with others.
When it comes to building a website or software application, one of the most important decisions to make is deciding how everything needs to work. Both custom and open-source software are great options, but it's crucial to think about what your business needs before making a decision.
While open source software is amazing, and it has made the Internet what it is today, it's important to keep in mind that open-source software always has limitations, and those limitations may mean that open source is not the right choice for you.
Here are the top five signs that a custom software solution is the right call for your business.
1) You can’t find an existing solution that meets your needs
Let’s imagine you run a daycare facility. You need a website where parents can register their child, pay for classes, and receive notifications about their account. You spin up a brand new Wordpress website. You find the perfect theme, and you decide to use Wordpress plugins to add the functionality you need for your business to work. You’ve found several plugins that seem like they would do what you need.
There are three main things you need the plugins to do:
- Account registration. Parents need to be able to sign their children up.
- Payment. Parents need to be able to pay for their child’s attendance
- Communication. You need to reach out to a specific parent if something happens with their child.
You find a couple of registration plugins and pick one at random. It’s super basic, and isn’t designed for daycare, so it only allows you to register the parent or the child, but it won’t let you register a child on behalf of a parent. You move on to the next one. This one lets you have parent accounts and child accounts, but it doesn’t do payment processing. No big deal, you figure; you’ll just process payments manually. So you skip the payment processing plugin.
The final plugin you need is to make communication with parents easier. The plugin you like best connects to a third-party email service and lets you send email from within your Wordpress dashboard; it seems like a winner! At least until you realize that this plugin can’t import the data from the registration plugin, and you have to type everything in manually.
This is hardly ideal. The entire point of the website was to save you time, and instead you have to do a lot of things manually.
That type of scenario is common, but it’s typically not a dealbreaker if you can’t find something that meets all of your needs. Small businesses are all about hustle, and if you have to take some manual steps you’re more than willing to do so
However, if your business grows and is successful, there will come a point where it doesn’t make sense to continue doing things manually. It’s often difficult to train new people, and the more steps you have in a process, the more likely that someone else is going to mess it up. That’s hard to justify when your business is on the line.
2) It’s difficult to tell who wrote the software
Anonymity is important for many reasons, but you don’t want the code that powers your business to be created by some lone developer hiding behind a pseudonym.
The plugins you use should be authored by reputable companies with a public track record. That helps you to know that there’s someone to turn to if things go wrong or if you have questions about using their software.
Unfortunately not all open source software is created equal. There are bad actors out there who create malicious products, release them into app stores, and wait for people to download them. The code you’re trusting to run your business has complete access to things like customer records or your finances. Once you install a plugin, it can do literally anything. In 2018 a fake WordPress plugin called WP-Base-SEO was discovered that promised to improve your site’s SEO, but instead it created backdoors for hackers and added spam links. This plugin was installed more than 10,000 times before what it did was discovered.
To be fair, this type of risk is pretty rare and is not common. However, the possibility does exist and should be considered while you’re thinking about how your site should work.
A more common issue is that the plugin you’ve installed doesn’t work as advertised. Software developers all possess various degrees of skill and there’s often no way of knowing if the plugin you’re about to install has been written by someone who knows what they’re doing. One great way to figure this out is to read the reviews for a plugin before you install it. Quality software will typically have a lot of positive reviews describing the problems it helped people to solve. Of course, there’s always the possibility that the reviews are fake, but figuring out the authenticity of online reviews is an exercise we’ll leave to the reader.
3) The software has not been updated in a year or more
One key question to answer when using open source software is when it was last updated. The world of software is constantly changing, and things rarely remain static for long. Software that worked perfectly fine a few years ago may be completely useless today.
One of the biggest risks of using outdated open source software is security vulnerabilities. As software ages, hackers and cybercriminals have more time to find and exploit any weaknesses in the code. This may place your business at a higher risk of data breaches and other cyber attacks. Additionally, outdated open source software may not be compliant with current data privacy regulations, which could result in fines or legal issues.
Another risk of using outdated open source software is that it may not be compatible with current technology and platforms. This could lead to costly downtime for your business and may make it difficult for you to access important data or information. Wordpress plugins, for example, rely on a programming language called PHP, which is regularly updated. Newer versions of PHP routinely update programming elements called functions. New functions are added, and older, outdated functions are deprecated or removed. If you use a plugin that hasn’t been updated regularly, you may face a situation where your entire site stops running because of this one outdated plugin. In that scenario it can be extremely difficult to identify the cause without expert help.
While using open source software can be a great way for non-technical entrepreneurs to save money and access a wide range of tools and resources, it has the potential to be detrimental to the success of your business. It’s important to regularly update and maintain the open source software your business uses in order to minimize security risks and ensure compatibility with current technologies and platforms.
4) Support is difficult to obtain
From time to time everybody needs help. When the software that powers your business fails to live up to its promises, who do you turn to for help?
When it comes to open source software, the answer is often “nobody.” When programmers release software, it can be for many different reasons. Often they want to try out new technology or solve a problem they have themselves. Many times the software is not something the developer uses to support themselves full time, so support requests have to wait until the author has time to help. Many times the author is unwilling or unable to help. There are a lot of valid reasons for this, ranging from simply being too busy with other obligations to a lack of interest in providing support because they don’t find it interesting.
Another issue you can run into is a lack of documentation for the software. Many developers don’t enjoy writing documentation, and if they do it can be overly technical or aimed at other developers. To a normal person it can be nearly incomprehensible and filled with jargon that doesn’t make sense. Quality documentation can take quite a while to generate, and often it’s left out of a final product.
That isn’t to say that it’s impossible to obtain support or find documentation with open source software. There’s a lot of open source software that contains great documentation and has methods of obtaining support. The thing to keep in mind is that these questions need to be answered before you trust part of your business with open source software. Be sure that if something goes wrong, you can get help when you need it the most.
5) You need to support mission-critical processes for your business
When it comes to running the code that powers your business, it’s vital to be sure that it’s up to the task. The code should be secure, follow best practices, and operate efficiently. Without the technical background to evaluate the code, it can be impossible to determine whether or not this is the case.
If the code is not adequately secure, your data can be at risk, either through accidental disclosure or an intentional breach. It is not uncommon for the developers who write open source packages to take shortcuts or ignore best practices in favor of their own home-grown solution.
If the code hasn’t been adequately tested, then you or your customers may run into problems that are difficult to understand or replicate. This can lead you to lose sales, customers, or both. This is difficult for any business to recover from.
Finally, you need software that can grow with your business. Every entrepreneur wants success, but are you prepared for what happens when you find it? If your company goes viral, is the code powering it up to the task? Code that works perfectly fine with a few users may suddenly die if it’s asked to handle a couple thousand users at once.
Open source software is amazing, and you wouldn’t be able to read this blog post without the tireless effort of countless volunteers who volunteered their time and energy to make the Internet and its underlying technology a reality. Here at Kaizen Software, we rely on open source software every day to help our clients achieve their goals. However, it takes a fair amount of expertise to be able to evaluate whether a particular software package is fit for a certain task.
We would love to put our expertise to work for you. Whether you’re assembling a Wordpress site for the first time or you’re finding success and trying to figure out what’s next, we can help you to determine what that next step looks like. Reach out today and let us put our expertise to work for you.