It so happens that the iOS developer community has embraced open source code as “the official way” of adding UI components not included by Apple in building their apps. While I very much admire the values that the open source community shares, I also feel it is important to make a sensible and practical business decision when choosing between open source and commercial software before every new project. The decision should weight the trade-offs between cost and productivity. Let’s take a look at 5 questions that you should consider when choosing between the two.
If the decision is made to go with an open source library, you may be facing an uncertain future. What happens when the developer(s) of the project decide to move onto the next big thing or simply get involved in other projects? Your organization might be ready to accept the fact that open source software can be abandoned at any time. You have a smart team of developers that can take over right? While they may be able to take over, adding or fixing functionality is a serious overhead for any organization. That amount of time spent fixing or supporting a project that they didn’t create takes resources away from your production app.
Next step is to take a careful look at the licensing. Make sure you have the right to use this particular open-source software in your commercial application. Some solutions come with licenses that impose serious restrictions and if you miss this detail you might end up paying hefty fines.
One thing that you will find in common with most open source projects is a lack of documentation. As a developer who is writing open source software, it is often easy to overlook documentation. There is some exceptions with larger projects such as jQuery and Rails, etc. But a majority of them may decide to write a few paragraphs to get you started. But for a developer who just downloaded the project they are likely to spend some time digging into the APIs themselves in order to move beyond the basics. Even if you find a project that has pages of documentation, is the documentation good enough that you could get up and running within a few minutes? Is it searchable? All of the time your development team waste trying to figure out how to do something is again, time lost from your production app.
With commercial software, documentation is crafted by a set of technical writers that not only understands the software, but is dedicated to making it easy to learn and incorporate in your next app.
Open source software is completely driven by either the developer(s) or the community support model. You may be able to find one of the developers and drop them an email and wait on a response or post a question to the forums (if they have one). Other open source software is dependent on third party sites like Stack Overflow to get a response to your question.
With commercial software, you simply log a ticket and the ticket is tracked by our engineers until a resolution becomes available. The additional value added by Telerik is that you get support directly by the engineers who have built the suite.
Immediately after selecting an open source software project, I typically look to see if any tests are included. If there aren’t any, this is a good indicator that you need to give it a more thorough review. If you find a bug in an open source project, you typically look for a place to record and track them. It is usually found in a section called “issues” in both Github and CodePlex. The only problem with this approach is that the request can sit out there for several days, weeks or even months before being answered. The same goes for new features to be added, most open source developers believe you should be able to “fork” their repo and add the features that you want instead of depending on them to implement them. This again takes precious time away from your production app.
With commercial software at Telerik, again a ticket is logged and the support engineer tries to duplicate the bug. Telerik has various modes of response time available on its support page. If you would like a feature added, we have a feedback portal where you can request a feature or if you need one implemented immediately, you can contact our services team.
The open source code has been created to serve the needs of the creator and is far from a one-size-fits-all solution. Typically the author has not thought about building a functionality that others might want to use in various scenarios, while commercial software provides an optimized and easily reusable solution. Telerik Charts for iOS have been engineered to cover a multitude of scenarios and also to be very easily integrated in an existing or a new Xcode project. In this way developers have more time on their hands to work on the apps’ functionality and business logic.
In summary, we took a look at 5 questions that any organization should consider when battling the commercial vs. open source software debate. While one might argue one way or another, it all comes down to what is best for your project or you organization, be it a one-man-shop or a fortune 500 company. The choice is yours, so go out there and make incredible software! While you are at it, feel free to give Telerik UI for iOS a try.
Michael Crump is a Microsoft MVP, Pluralsight and MSDN author as well as an international speaker. He works at Telerik with a focus on everything mobile. You can follow him on Twitter at @mbcrump or keep up with his various blogs by visiting his Telerik Blog or his Personal Blog.