I am working in a php project, and our 3rd party dependencies are managed with packagist via composer.json. Pretty standard stuff. Sometimes we run into a situation where a given plugin has some issue, such that we would like to continue to use the plugin but the issue makes it a liability or just straight up unusable.One idea might be to make a pull request to fix the issue, but that involves a. the repo is actively monitored and b. we actually know how to fix the issue. We may have neither. If we have (b) but not (a) we could fork the repo with our own fix? Or we could modify the file in the vendor directory and commit it to the repo? Both prospects seem unappealing. Most recently the php-whois package had an issue, because it used some terribly asinine code:if (empty($r)) {    if ($hasreg)        $r['registered'] = 'no';}If $r is unset, or ='' or =0 or =null or a number of other situations, empty($r) will be true and $r['registered'] = 'no' will at the very least trigger a warning, or, as of php ~7.1+, trigger a fatal error.What is the best course of action? Find a new php-whois package? Make the (easy) fix ourselves (just do $r=[];) and commit to our own repo? Something else? This is a tricky situation that I don't find myself in often, but it has come up more than once.Using Laravel 5.3, in case that's relevant. 
Best practices for when a 3rd party dependency breaks?
third party libraries