Dlaczego „Rozwidlaj mnie na GitHub”? [Zamknięte]

50

Rozumiem, jak działa GitHub , ale nie jestem pewien, dlaczego prawie każdy projekt OSS ma ostatnio link „Rozwiąż mnie na GitHub” na swojej stronie głównej. Na przykład,

http://jqtjs.com/ , http://www.daviddurman.com/flexi-color-picker/ i inne.

Dlaczego to jest tak powszechne? Czy chcą / potrzebują sprawdzania poprawności kodu, sprawdzania poprawek bezpieczeństwa / wydajności, których mogą nie wiedzieć, jak to zrobić?

Czy ma to pokazać, że jest to projekt współpracy - możesz dodawać ulepszenia?

Czy pracują dla GitHub, czy chcą promować swoją usługę? Co dziwne, nie sądzę, że ostatnio widziałem logo „ Projekt Fork na Bitbucket ”.

Pierwszą reakcją na to logo było to, że projekt prawdopodobnie musi zostać zmodyfikowany (rozwidlony), aby zintegrować go z czymkolwiek pożytecznym - lub że zachęcają do fragmentacji bazy kodu, zachęcając wszystkich do zrobienia własnego widelca projektu. Ale nie sądzę, że taka jest intencja.

NoBugs
źródło
23
Ponieważ jest to łatwiejsze niż pisanie „jeśli chcesz przyczynić się do tego projektu lub sprawdzić źródło, zajrzyj do naszego repozytorium na github”. ;-)
nietonfir
1
Jestem trochę zaskoczony, że nikt nie wspomniał o ... Co to jest, gra słów? Insynuacja? Ale to konkretne sformułowanie nie działałoby z bitbucket; ich strona emanuje atmosferą bardziej profesjonalnej niż github. Ponieważ tak zrozumiałem twoje pytanie w pierwszym czytaniu - „dlaczego bitbucket ich nie ma?”
Izkata
2
Są to widżety społecznościowe , podobnie jak te, które pojawiają się z linkiem „udostępnij” w pytaniu / odpowiedzi SE: dostajesz widżety dla Google+, Facebooka i Twittera. Są gotowe do użycia dla projektantów witryn, więc łatwo je zintegrować. Wydaje mi się, że nie ma czegoś takiego jak np. Bitbucket, więc nic nie można zauważyć: jeśli jakikolwiek projekt ma swój własny, domowy widget „rozwidlaj mnie”, prawdopodobnie nie wyglądałby jak żaden inny.
Luc Danton
Głosuję za zamknięciem tego pytania jako nie na temat, ponieważ dotyczy kultury oprogramowania typu open source. Obecnie pytania o to, jak społeczności współpracują ze sobą w celu tworzenia, dystrybucji, marketingu i czasami zarabiania na projektach open source, są tematem na giełdzie stosów Open Source .
Thomas Owens

Odpowiedzi:

20

Oprócz sprzyjającej współpracy kwestii, z perspektywy biznesowej zwiększy i wzmocni ruch, bazę użytkowników i pozycję rynkową GitHub. Z tym wiąże się także strategia biznesowa.

Osobiście nie przeszkadza mi to, ponieważ GitHub zapewnia cenną usługę społeczności open source.

AsymLabs
źródło
23
Dlaczego twoja odpowiedź jest z perspektywy GitHub? Ludzie nie umieszczają tego logo na swoich stronach, aby wzmocnić ruch, bazę użytkowników i pozycję rynkową GitHub. To może być efektem ubocznym, ale to nie jest celem . Jak to jest „strategia biznesowa” GitHub? GitHub nie jest nawet odpowiedzialny za umieszczanie tego logo na stronach OSS (opiekunowie stron OSS).
Ben Lee
3
@Ben Lee Twój komentarz jest dobrze przyjęty. Ale twierdziłbym, że nie ma jednego celu, ale wiele . Nie odrzuciłem poglądu, że celem jest wspieranie współpracy, po prostu musimy również uznać, że GitHub jest również biznesem (można argumentować, że są liderem rynku w tej branży) i że kolejnym celem Fork Me jest GitHub ma przewagę strategiczną. To prawda, że ​​jest to dobrowolne, ale mimo to skuteczne. Sprawia, że ​​GitHub jest bardziej widoczny w Internecie, co stanowi kluczowy element każdej strategii biznesowej w Internecie.
AsymLabs
2
@BenLee Jak zauważył dmitri, Github ma tę stronę: github.com/blog/273-github-ribbons Czy Bitbucket lub jakakolwiek inna usługa ma coś podobnego?
NoBugs
75

Czy ma to pokazać, że jest to projekt współpracy - możesz dodawać ulepszenia?

Tak: nie masz prawa wcisnąć zatwierdzenia bezpośrednio na ich repozytorium.
Ale masz możliwość widelec ich repo , co czyni go swoją repo i naciśnij popełnić stamtąd, przygotowując wnioski ciągnąć .

widelec

VonC
źródło
2
Wiem, że możesz rozwidlać, a następnie ściągać prośby na Github. Moje pytanie brzmi: dlaczego mówią „rozwidlają mnie na Github”?
NoBugs,
6
@NoBugs, aby upewnić się, że wiesz, jak wnieść swój wkład w ich projekt.
VonC
19
Myślę, że tutaj koncentruje się bardziej na „rozwidleniu mnie” niż na Githubie. Prawdopodobnie po prostu dlatego, że Github jest najpopularniejszą tego typu witryną. Nie sądzę, żeby ktokolwiek miał duży problem, jeśli rozwidlisz się na Bitbucket. W każdym razie dobre pytanie.
JensG,
Nie sądzę, żeby ktokolwiek miał duży problem, jeśli rozwidlisz się na gitorious.org . Po prostu prawie nikt nie robi ...
Michael Paulukonis,
37

Odznaka „Rozwidlaj mnie na Githubie” ma na celu pokazanie, że w ramach projektu masz prawo do wniesienia wkładu do projektu lub wykorzystania go jako punktu wyjścia do własnego projektu.

To trochę pokazuje, że „jest to projekt współpracy i możesz dodawać ulepszenia”.

Pozwala bawić się kodem lub tworzyć ten sam projekt bez wpływu na oryginalne źródło.

https://help.github.com/articles/fork-a-repo

Ta sama zasada dotyczy wszystkich innych hostów git.

Główne punkty (między innymi) przyznania prawa do rozwidlenia projektu to:

  • sprzyjanie współpracy - poprzez umożliwienie ludziom współpracy przy ulepszaniu projektu.
  • wzbogacaj wiedzę - pozwalając ludziom studiować Twój kod.

Niektóre projekty, które możesz spotkać, mogą być wykonane przez pracowników Github na ich prywatne potrzeby. Nie chcą promować github. Projekty github można znaleźć tutaj: https://github.com/github

Powodem, dla którego nie widzisz odznak od innych hostów, jest to, że Github jest najpopularniejszą platformą hostingu i współpracy git.

Brian Kinyua
źródło
Dokładnie. Przepływy pracy DVCS oznaczają, że mogę publikować moje wyniki bez narzucania ich innym. Rozwidlenie oznacza brak konieczności proszenia o pozwolenie na udostępnienie czegokolwiek, co chcesz udostępnić. Jeśli Internet polubi twoje zmiany, to je wchłoną.
Warren P
15

Wyobraź sobie, że używasz swojego ulubionego edytora tekstu, a po pewnym czasie okazało się, że naprawdę chciałbyś zaimplementować jakąś funkcję (np. Nieblokującą opcję Zapisz plik).

Po przemyśleniu tego po raz jedenasty zdecydujesz się napisać jeden sam. Po znalezieniu strony github tego projektu masz dwie opcje:

  1. Pobierz kod źródłowy, zmodyfikuj go i zachowaj dla siebie.
  2. Rozwidlaj projekt na githubie i pracuj nad widelcem.

Jeśli wybierzesz drugą opcję, po poprawnym napisaniu i przetestowaniu funkcji możesz przygotować żądanie ściągnięcia, a wtedy cały projekt skorzysta na tobie.

Jeśli jednak wybierzesz pierwszą ścieżkę, bardzo prawdopodobne jest, że po prostu zapomnisz o swojej modyfikacji i nikt oprócz ciebie nie skorzysta z niej (tak, możesz współdzielić kod ręcznie, ale inny koder może łatwo o tym zapomnieć. zmusza cię do bardziej socjalizacji z pracą drugiej osoby).

Mówiąc „rozwidl mnie na githubie”, właściciel projektu chce tylko upewnić się, że wybrałeś Fork on githubzamiast tego pobrać kod i opublikować go w swoim katalogu domowym.

Nemanja Boric
źródło
7

To tylko po to, aby pokazać, że jest to projekt open source i rozwidlasz go, jeśli chcesz, bez względu na powód. Sprawdź także ten post na blogu na GitHub: https://github.com/blog/273-github-ribbons

Aktualizacja: osobiście dodaję te wstążki GitHub, aby ludzie mogli mnie znaleźć w GitHub i oznaczyć gwiazdką moich projektów;)

dmitry
źródło
6

Oznacza to, że są na githubie, gdzie rozwidlanie jest tanie, i chcą zachęcić do ulepszania swojego oprogramowania i społeczności.

Florian Margaine
źródło
5

Github próbuje poszerzyć swoją bazę użytkowników, aby obejmowała wszelkie wspólne prace, nie tylko hosting kodu źródłowego; i w ten sposób popychają widelec i wysyłają metodę żądania ściągnięcia . Tworzenie poprawek i wysyłanie ich pocztą elektroniczną nie byłoby atrakcyjne dla większości osób innych niż programiści i tym podobne. Uprawnienia push nie są tutaj tak naprawdę ważne, ponieważ w końcu większość użytkowników git (lub merkurialnych, darcs itp.) Posiadających znaczną wiedzę na temat narzędzia i przepływu pracy programistów będzie w stanie wysłać wiadomość e-mail z dołączoną łatką.

Ponadto Github to bardziej serwis społecznościowy niż hosting kodu: Twój profil, repozytorium i zmiany składają się na twoją tożsamość jako programisty, podobnie jak tweety i „+1”. Wszystkie wstążki, guziki i tym podobne są używane do samodzielnego akwizycji, ścieżki do profilu osoby, do której należy projekt. W dzisiejszych czasach posiadanie przyzwoitego profilu Github jest pierwszą rzeczą, jakiej oczekuje się od programisty. Mimo że używam rtęci do wszystkiego, naciskałem na Github przez hg-git z tych powodów.

W końcu ta wstążka „Rozwidlaj mnie na Githubie” różni się nieznacznie od przycisku „Tweetuj ten artykuł” lub przycisku „Udostępnij to na G +”. (Również posiadanie rozwidlenia repozytorium na liście repozytoriów oznacza „Jestem użytkownikiem tego”, istnieją tysiące rozwidleń Linuksa na github, mimo że Linus Torvalds nie przyjmuje żądań ściągania).


źródło
2

to inny sposób na powiedzenie „łatki są mile widziane”.

zamiast wysyłać życzenia i prośby o funkcje, ludzie mogą wysyłać żądanie ściągnięcia, w którym oryginalny autor sprawdza, weryfikuje i scala żądanie ściągnięcia.

historycznie rozwidlenie jest wrogim działaniem grupy, która jest w konflikcie z zarządzaniem pierwotnym projektem, na przykład OpenOffice firmy Sun używał do odrzucania szybkiej wtyczki SVG C / C ++, ponieważ z powodów politycznych preferuje własną wolno działającą wtyczkę opartą na Javie.

W większości przypadków widelce są złe i noszą je zazdrości ludzie lub osoby z samolubnych firm, które mają takie plany, które nie są udostępniane oryginalnej społeczności i nie są z nią zgodne (np. Kanoniczne ), a przykładem tego jest libav / avconv (który jest rozwidleniem FFMPEG), w tych przypadkach oryginalna społeczność ma wyższą jakość, bezpieczeństwo i przyjmuje poprawki dostosowane do planów społeczności.

Dan Walsh zauważył starą definicję widelca

Od dłuższego czasu jestem w otwartym kodzie źródłowym, a moja definicja „widelca” może być przestarzała. Myślę o „rozwidleniu” jako wrogim działaniu podjętym przez jedną grupę, aby skłonić innych do użycia i przyczynienia się do ich wersji wcześniejszego projektu i zignorowania „oryginalnej” wersji. Na przykład, LibreOffice rezygnuje z OpenOffice lub wraca Xorg, rezygnując z Xfree86.

Potem porównał to z widelcem githuba

Obecnie GitHub zmienił znaczenie. Gdy repozytorium oprogramowania istnieje na GitHub lub podobnej platformie, każdy, kto chce się przyłączyć, musi nacisnąć przycisk „rozwidlenia” i rozpocząć tworzenie swoich łatek. W tym momencie Docker na GitHub ma 9860 widelców, w tym nasz. Jednak zgodnie z tą definicją wszystkie pakiety dostarczane przez dystrybucje zawierające poprawki są rozwidleniami. Red Hat dostarcza jądro Linuksa i nie słyszałem o tym, że jest to rozwidlenie. Ale byłoby to uważane za „rozwidlenie”, jeśli rozważasz jakikolwiek projekt poprzedzający dostarczony z łatkami rozwidlenie.

Muayyad Alsadi
źródło
1

Wszystkie odpowiedzi mówiąc, że jest to wspólny żebrać na pytanie: dlaczego nie powiedzieć „ Clone mnie GitHib” lub „Pobierz .zip z GitHub”?

Na GitHub możesz zobaczyć liczbę rozwidleń. Ale, o ile mi wiadomo, nie liczy się liczba klonów ani plików zip do pobrania.

Powiedziałbym więc, że częściowo ma to na celu zachęcanie do współpracy, a po części uzyskanie opinii i weryfikacji, że ludzie używają twojego kodu.

PS Jestem całkiem nowy w GitHub, więc jeśli jest to całkowicie niewłaściwe poza bazą, proszę dać mi znać.

użytkownik949300
źródło
Czy nie jest o wiele prostsze powiedzenie: „tak działa rozproszona kontrola wersji poprzez żądania ściągania, co oczywiście wymaga, że ​​najpierw rozwidlę twoje repo, następnie zatwierdzę do mojego widelca, a następnie wydam żądanie ściągnięcia, jeśli zbuduję coś, co warto udostępnić z oryginalnym projektem ”
Warren P
1
Muszę przyznać, że tak naprawdę nie dostaję dupka. Dlaczego nie po prostu sklonować lub uzyskać pliku zip, a jeśli dokonam zmian, skonfiguruj dowolny VCS, jaki chcę? W rzadkich przypadkach wprowadzam pożyteczne zmiany dla wszystkich, mogłem skorzystać z poczty e-mail lub zrobić rozwidlenie.
user949300
Ta odpowiedź jest wewnętrznie sprzeczna. Słusznie sugerujesz, że próbują zachęcić do współpracy. Celem takiego linku nie jest umożliwienie ludziom pobrania twojego projektu, chodzi o zaangażowanie ich w rozwój. Mogą pobrać plik zip lub sklonować go, jeśli po prostu chcą kopii dla siebie, ale jeśli chcą, aby ich kopia miała ścieżkę, która przyczyni się z powrotem do projektu wyższego szczebla, który odbywa się za pomocą rozwidlenia, w którym można pobrać swój wkład od.
Caleb
@ user949300, nadal możesz użyć, git clone https://github.com/$NAME_OF_GITHUB_USER/$NAME_OF_REPOSITORY.gita następnie git format-patch masterwysłać e-mailem lub w podobny sposób
Sebastian Godelet,
0

rozwidlenie na github sprawia, że ​​naprawdę łatwo powiedzieć, że podążasz za mną na Twitterze. Wprowadzam trochę socjalizacji do świata rozwoju z mojej własnej perspektywy, dzięki czemu staje się oczywiste, że jest to oprogramowanie open source i dostępne do modyfikacji. Myślę też, że to fajna koncepcja z banerem „rozwidl mnie na githubie” na jednym końcu twojego strona projektu

Joseph Rex
źródło
Um. Nie. Do tego służą „gwiazda” i „obserwuj” repo, a także „obserwuj” dla użytkowników. Istotą wideł jest zachęcanie do określonego rodzaju działań - wysyłanie wkładów pod prąd - nie tylko uczynienie go społecznym.
Caleb
0

Prawdopodobnie najlepiej jest po prostu odpowiedzieć na najprostszą odpowiedź: chcą, abyś wiedział, że kod jest swobodnie dostępny w GitHub. Myślę, że twoje hipotezy są nieco przemyślane.

popioły
źródło
To najprostsza odpowiedź, która faktycznie ma sens.
Woland