Third Party Library: Blessing or a curse

What is a third party library?

Aatish Sai
4 min readAug 10, 2018

A third party library refers to any reusable library component developed to be either freely distributed or sold by and entity other than the original vendor of the development platform. The third party software component market thrives because many programmers believe that component driven development process improves the efficiency and the quality of developing custom applications.

Third party Libraries can be helpful a lot of times when the development time is short. One can grab the required library change some aspect and use it on their application. Yet, third party app can lead to problem in some case. Use of third party library can sometimes make an app unstable, and cause more problem in an application development process.

Does a Third-Party Library make you more Efficient as a Developer?

In the production cycle, many developers find themselves using a third party library to grab some code for their project as opposed to creating their own library and being able to refer it. Libraries are part of every developers workflow, but writing your own can be tedious. Third party libraries are a quick, easy workaround that can save you a ton of time, but that real question is are they worth it?

The Pros

Using a third party source for a project is a faster solution that writing your own code and using your own library. Some library have a huge user base, contributors and community around then which makes them well maintained. Such kinds of library are good at communication and hence have time to adjust code if coming changes will impact how the product works. Third-party libraries provide a great resource if the tools you need are not part of your toolkit. Sometimes, a particular skill is very specific and is out of your range, an example could be encryption. These groups make getting a completed product out the door faster and less costly.

The Cons

Using a third party library is not always a better idea. Sometimes it is better to write your own code rather than using some third party library. When using a third party library your are giving some control over your application. If the library updates in the future it might impact your code. The product may get buggy or even break because of the small tweak in someone else library.

Moreover, when something is not yours, its not yours. If the library changes and it affects your codebase you will need to do some refactoring and could lose you time instead of saving it. So if a third party library are not well maintained it better to spend a week or two writing your own code rather than using others code/ library which could break your application causing problem in future and have to spend more time to refactor and fix it.

So should I use someone else’s library or not?

As there are good and bad side to using a third party libraries, you must consider some of the points before making a decision. Larger organizations like Facebook, Google, Airbnb have a better managed and stable library. You can tell based on how well organized and how frequently accessed a library is if it is well managed. You don’t have to install a library made by some random guy and having to figure out how to implement it since there is no well documented code and community to help. So only use a library if it is well maintained and have a good community since they can be helpful when some error arises. If a library was created by someone as a “pet project”, think carefully, as you might not get updates in timely way.

Popular libraries with an active community tend to be more reliable. If changes are coming that might alter or break an app’s functionality, library managers tend to feel more responsible to communicate that fact to larger communities.

Your best bet will always be to create your own services. The extra work will be worth it if you’ve got larger aspirations for whatever you’re creating. If that’s not possible, going with widely-used libraries that have dedicated, engaged communities is the best way to ensure system-breaking changes don’t sneak up on you. Those from larger companies such as Facebook are also less likely to be pulled if there’s no synergy around them, which is as safe a bet as you can get when you’re giving up some control.

--

--

Aatish Sai

Engineering Manager | Software | Machine Learning | AWS Certified