&gt; And writing custom code to duplicate a library doesn&#x27;t have a cost? (compared to forking).<p>Of course it does, but again: it&#x27;s you who controls the code, not the
library&#x27;s upstream. You can easily patch and adjust whatever necessary,
without being bothered with future merges from upstream.<p>This aspect grows in importance as the library gives less and less benefits.
For example, I wouldn&#x27;t hesitate to use Flask or Django for a web application,
but I would think very hard what good is going to give me logging library
other than Python&#x27;s built-in.<p>&gt; I find that using tools like npm, nuget, gems, and the like along with github for core libraries makes managing dependencies FAR better than relying on an internal copy of said package in my project<p>npm and gems give you dynamics very different from seeing dependencies by
yourself. You see dependencies as very cheap (which is not true, it&#x27;s just the
cost is hidden from you), so you don&#x27;t bother with thinking if you really
<i>need</i> the new dependency. If it can shorten your code by twenty lines, you
see it worth.