Writing software applications will inevitably bring developers to the point where they will have to implement something that already exists. Reinventing the wheel is generally a bad idea unless we have some extremely specific and strict requirements that no library in the world satisfies, or if there is good reason not to include a specific dependency in our project.
People write libraries to deal with all kinds of problems in software. In a community such as the open source community, libraries are shared and everyone can use or contribute to them. This brings a lot of benefits, and the main benefit is that code becomes more mature, better tested, and more reliable. However, sometimes this also makes things harder—many people will create the same library and it becomes difficult to understand which one is the most suitable.
Despite the fact that...