When you start working on custom software development solutions, most often you’re starting from square one. Yes, your development teams might be using various frameworks, which can dramatically cut down on the time it takes to deliver a product. But when they begin with an empty canvas, there’s a lot to do before things start taking shape.
It doesn’t always have to be that way. One route you can take is to fork an existing open-source solution.
What, exactly, does that mean? Let me explain.
In software development, forking means taking an already existing project, duplicating the work, and then changing it to either perfectly fit your company’s needs or creating a new version of the original with different features, branding, and intent.
Forking has been going on for years. Some very good examples of forked open-source projects include:
- MariaDB forked from MySQL
- Nextcloud forked from ownCloud
- SuiteCMR forked from SugarCRM
- Collabora Online forked from LibreOffice (which was, in turn, forked from OpenOffice)
- Bitcoin Cash forked from Bitcoin Core
- Peppermint Linux from Lubuntu
- Chrome forked from Chromium
Forks are a very important aspect of open-source software and have made it possible for a large number of new projects to exist.
The benefits of forking your custom software development solutions from a pre-existing project are plenty. The first is that your new project doesn’t have to start from square one.
Imagine there’s already a project similar to what your business needs. Instead of rewriting everything from scratch, you can build upon that existing, open-source project. This can save considerable time in the software development lifecycle, as it cuts down on the amount of code your team has to write and the time they need to spend on the early planning/designing phases.
Another benefit of forking an open-source project is that the software you’ll be basing your new project on is already proven. It works, it’s successful, and people are already aware of its existence. That means your marketing efforts might not be nearly as challenging. Imagine, you’ve forked the Apache web server and you can launch your product behind statements like, “Based on one of the world’s leading web servers.” That’s a great place to start.
You’ll also save money by forking an open-source project. Not only are you saving time, but because the foundation comes from a reliable, functioning source, you’ll spend less time testing and bug hunting.
Finally, another benefit of forking an open-source project is that the original already works, but might not work exactly as your company (or your customers) need. By forking a project, you can change or add features such that the previously existing tool does exactly what you want. And by going about the development in this fashion, you know that the base app already functions well, so it’s just a matter of rolling in the features you need.
Forking software is a great way to get started with a project. The one thing you must keep in mind, however, is that when you fork a project, you must credit the original developer in the code and you’ll most likely have to license the fork as open-source software.