Es ist eine andere Art zu sagen, "Patches sind willkommen".
Anstatt Wünsche und Funktionsanforderungen zu senden, können Benutzer Pull-Anforderungen senden, bei denen der ursprüngliche Autor die Pull-Anforderung überprüft, validiert und zusammenführt.
Historisch gesehen ist Forking eine feindselige Aktion einer Gruppe, die im Widerspruch zur Verwaltung des ursprünglichen Projekts steht, z. B. das OpenOffice von Sun, das verwendet wird, um schnelles C / C ++ SVG-Plugin abzulehnen, weil es aus politischen Gründen sein eigenes langsam defektes Java-basiertes Plugin bevorzugt.
In den meisten Fällen sind Gabeln schlecht und werden von Neidern oder Leuten aus egoistischen Unternehmen getragen, die Pläne haben, die nicht mit der ursprünglichen Community geteilt werden und nicht mit dieser übereinstimmen (z. B. Canonical ). Ein Beispiel hierfür ist libav / avconv In diesen Fällen hat die ursprüngliche Community eine höhere Qualität und Sicherheit und sie begrüßen Patches, die auf Community-Pläne abgestimmt sind.
Dan Walsh bemerkte die alte Definition von Gabel
Ich bin seit langer Zeit in Open Source und meine Definition einer "Gabel" könnte veraltet sein. Ich stelle mir eine "Abzweigung" als eine feindselige Aktion vor, die von einer Gruppe unternommen wird, um andere dazu zu bringen, ihre Version eines vorgelagerten Projekts zu verwenden und dazu beizutragen, die "ursprüngliche" Version zu ignorieren. Zum Beispiel, LibreOffice hat sich von OpenOffice verabschiedet oder Xorg hat sich von Xfree86 verabschiedet.
Dann verglich er das mit Githubs Gabel
Heutzutage hat GitHub die Bedeutung geändert. Wenn auf GitHub oder einer ähnlichen Plattform ein Software-Repository vorhanden ist, muss jeder, der einen Beitrag leisten möchte, auf die Schaltfläche "Fork" klicken und mit dem Erstellen seiner Patches beginnen. Zum jetzigen Zeitpunkt hat Docker auf GitHub 9.860 Gabeln, einschließlich unserer. Nach dieser Definition sind jedoch alle von Distributionen bereitgestellten Pakete, die Patches enthalten, Forks. Red Hat liefert den Linux-Kernel aus, und ich habe nicht gehört, dass dies als Gabel bezeichnet wird. Aber es würde als "Fork" betrachtet, wenn Sie ein Upstream-Projekt in Betracht ziehen, das mit Patches und Fork ausgeliefert wird.