When developing a new application, you are often faced with two main choices. Should you build it from scratch or find a free open source application that is similar to what you want and then adapt it to your needs.
The answer, unfortunately, is not a simple yes or no.
Both of these options have their pros and cons, and it really depends on you, your needs, your time frame and the complexity of your application. Here are a few things to consider when making this important decision.
The most obvious feature of open source code is that it’s free. You get to download an application and its source code and then you can do whatever you want with it so long as you credit the authors. Of course, the old saying that you get what you pay for tends to be true with open source code.
Yes, it’s free – but what are you really getting? How robust is the code? Are you also getting a bunch of mistakes that you and your development team are going to have to correct?
Unfortunately, the only real way to evaluate an open source application is to actually dig into the code and see for yourself. This can be time consuming. Then, of course, you have to add your own specific functionality on top of the code in order to make the generic application more specific to your needs.
Building your own proprietary software
When going this route, you know right away that there is some substantial work to be done. Your new application must be well-planned, carefully developed and tested until it’s perfect. At first glance, this might seem far more expensive than finding a free open source application that you can adapt.
In the end, this may or may not prove true. The big advantage of creating your own software is that you get exactly what you want and don’t have to waste any time re-writing or correcting someone else’s code.
Another advantage is that once you have developed your application, you do have the option of either selling it to other companies in your industry if you choose, or even publishing it as open source for others. Or you may choose to keep it closed and maintain an advantage.
By and large, you’re probably going to spend the same amount of time and money no matter which direction you choose. The “free” applications take a lot more work to correct and adapt, and the proprietary applications require ground-up development. No matter which road you choose to travel, you must use strong planning, careful development processes and strict testing to end up with a robust and useful software application.