Delegating things to a library you give up control over any bugs the library
has. You can&#x27;t simply fix the bug like you would do to your code, you either
need to fork the library (maintaining a fork has cost), patch it (maintaining
the patch is not free), or send fixes to its maintainer -- or any combination
of these.<p>Using many dependencies also makes your application a fractal of dependencies.
Library you use has its own dependencies, which have their own dependencies,
which have... And so on. If you happen to want to put your application to
DEB&#x2F;RPM packages properly, host your app&#x27;s dependencies locally to isolate
from network outages, or do virtually anything non-trivial with your app, you
hit the list of dependencies very hard.<p>It&#x27;s not to say dependencies are evil; like any generalization, this would be
simply stupid. But they have their cost, and it&#x27;s large. You&#x27;d better make
sure a library really simplifies your life before adding it to your project.