é outra maneira de dizer "patches são bem-vindos".
em vez de enviar desejos e solicitações de recursos, as pessoas podem enviar solicitações pull onde o autor original revisa, valida e mescla a solicitação pull.
historicamente bifurcação é uma ação hostil feita por um grupo que está em conflito com o gerenciamento do projeto original, por exemplo, o OpenOffice da Sun costumava rejeitar o rápido plug-in C / C ++ SVG porque prefere seu próprio plug-in baseado em Java, lento e quebrado por razões políticas.
Na maioria dos casos, os garfos são ruins e carregados por pessoas invejosas ou de empresas egoístas que têm planos que não são compartilhados com a comunidade original e não estão alinhados com ele (por exemplo, Canonical ), e exemplo disso é libav / avconv (que é uma bifurcação do FFMPEG), nesses casos, a comunidade original tem maior qualidade, segurança e recebe patches alinhados com os planos da comunidade.
Dan Walsh observou a antiga definição de garfo
Estou no código aberto há muito tempo e minha definição de "bifurcação" pode estar datada. Penso em um "garfo" como uma ação hostil executada por um grupo para fazer com que outros usem e contribuam para sua versão de um projeto upstream e ignorem a versão "original". Por exemplo, o LibreOffice utiliza o OpenOffice ou remete o Xorg ao Xfree86.
Então ele comparou isso com o garfo do github
Atualmente, o GitHub mudou o significado. Quando existe um repositório de software no GitHub ou em uma plataforma semelhante, todos que desejam contribuir precisam pressionar o botão "fork" e começar a criar seus patches. Até o momento em que este artigo foi escrito, o Docker no GitHub possui 9.860 garfos, incluindo o nosso. Por essa definição, no entanto, todos os pacotes enviados pelas distribuições que incluem patches são garfos. A Red Hat fornece o Linux Kernel, e eu não ouvi isso chamado de fork. Mas seria considerado um "garfo" se você estiver considerando qualquer projeto upstream enviado com patches um garfo.