#OpenSource #React #NodeJs #GraphQL #Headless #Serverless
If you are reading this you are probably facing the same question as the majority of the developers and businesses worldwide - How to minimize the investments in software while getting the most benefits out of it?
These days, most businesses that face this challenge will have to choose between two common trends: Open Source and Software as a Service.
Even though both choices come with a whole list of benefits (and some disadvantages), I believe open source is a much better way forward for any serious, long term project.
Most people are stuck with the idea that the most appealing benefit of going down the open-source route is the cost. That it is free. It is definitely one of the crucial benefits, but I would argue that it should never be on the top of the list of reasons to choose open source.
To support this claim, I have laid out the top five benefits of open-source that in my opinion make it superior to SaaS.
It is no surprise that a product that has been worked on by a community of thousands of developers will achieve a higher quality standard. And will constantly be challenged to further improve.
Without the corporate pressure that SaaS is usually impacted by, the main goal of the community behind the open-source project is to provide the best possible solution to a certain problem, rather than the most marketable one.
This especially comes to light when it comes to finding and fixing bugs. As the frequently quoted Linus's Law* states, in it's original, more formal version:
Given a large enough beta-tester and co-developer base, almost every problem will be characterised quickly and the fix obvious to someone.
Which makes a nice segue into my next point...
The most unique advantage of open-source software is the community around it. Gathering thousands of passionate developers with a broad spectrum of expertise between them.
When an open-source project gets traction and builds a strong global community around it, no company in the world can hire a team of developers big enough to match that strength.
By its very nature, this is a community built on collaboration. So you can heavily rely on its support, whatever issue you might have.
Every software user has its own specific requirements that fit their objectives. So of course it is close to impossible to cater to everyone's needs with the one-size-fits-all approach.
This is exactly the compromise that you have to make if you take the SaaS proprietary software route. You are locked into whatever the software vendor believes are the features that the majority of users need.
This usually puts you in a position that you have to adapt your project to the limitations of the software you are using, rather than the other way around.
Open source gives you exactly that flexibility that you need. A well-structured software that solves your main problem, but with an opportunity to completely adapt it to exactly fit your needs.
This also allows for the freedom to expand the code without having to rely on the software vendor to make the change - no vendor lock-in.
With open-source, you can know exactly what you are getting. Your team of developers can go through the code and can see exactly what the software does.
How it does it, how it could integrate with other technologies you are using, whether it comes with any potential security risks. The list goes on.
The relevance of transparency grows even more when you start thinking about the privacy and data that is going to be gathered once you start using the selected software.
With open-source, you have total control over your data and how it is going to be used. While taking the SaaS route would require you to accept the vendor set terms for this.
And yes, of course...
Well, there is none. Open-source software is free, or at least predominantly free, with an option to pay for additional support in case you might have a need for it.
I say predominantly free as there are of course often proprietary pieces of add-on software that have been built to complement the open-source.
But once again, this is where the community plays a large role in controlling that the true value the open source provides isn't hedged off.
As I mentioned at the beginning of this article, most people will choose this as the number one reason. But I'd strongly argue that without the first four that I've listed, this one on its own really has a lot less weight.
There are of course trade-offs that you need to take into consideration when taking the open-source route vs. SaaS. But the fact is that most are directly related to convenience.
With SaaS, you are often paying the vendor to do the heavy lifting and sort out the setup and maintenance work. This allows less technical or nontechnical users to also adopt that software.
But unless this is the case and you are a developer, open-source is the way to go.
References: Linus's law
Create your free account to unlock your custom reading experience.