Neden “GitHub'a çatal at”? [kapalı]


50

GitHub'ın nasıl çalıştığını anlıyorum , ama kafamın karıştığı noktalardan biri, neden hemen hemen her OSS projesinin ana sayfasında ana sayfalarında "GitHub'ta beni çatalla" bağlantısının olduğu. Örneğin,

http://jqtjs.com/ , http://www.daviddurman.com/flexi-color-picker/ ve diğerleri.

Bu neden bu kadar yaygın? Kod doğrulamayı istedikleri / ihtiyaç duydukları mı, güvenlik / performans iyileştirmelerinin kontrol edilmesini istiyorlar mı?

Bunun ortak bir proje olduğunu göstermesi gerekiyor mu - iyileştirmeler ekleyebilir misiniz?

GitHub için çalışıyorlar mı yoksa hizmetlerini tanıtmak mı istiyorlar? İşin garibi, geçenlerde " Bitbucket'te çatal projesi " logosu gördüğümü sanmıyorum .

Bu logoya ilk tepkim, projenin, faydalı bir şeyle bütünleşmesi için muhtemelen projenin değiştirilmesi (çatallanması) gerektiği ya da herkesi projenin kendi çatalını yapması için cesaretlendirmeleri gerektiğidir. Ama bunun niyet olduğunu sanmıyorum.


23
Çünkü "bu projeye katkıda bulunmak veya kaynağa bakmak istiyorsanız, github'daki havuzumuza bakın" yazmaktan daha kolaydır. ;-)
nietonfir

1
Biraz şaşırdım, kimsenin bahsetmediği şey ... Ne oldu, serseri mi? İma? Ancak bu belirli ifadeler bitbucket ile işe yaramazdı; siteleri, github'tan daha profesyonel olma hissi veriyor. Çünkü ilk okuma konusundaki sorunuzu bu şekilde anladım - "neden bunlara sahip değil?"
Izkata

2
Bunlar bir SE soru / cevapta 'paylaşım' bağlantısıyla görünenlere benzeyen sosyal widget'lar : Google+, Facebook ve Twitter için widget alıyorsunuz. Site tasarımcıları için kullanıma hazır, entegrasyonu çok kolay. Örneğin, Bitbucket için böyle bir şey olmadığını düşünüyorum, bu yüzden dikkat edilecek bir şey yok: herhangi bir projenin kendine ait, ev yapımı 'beni çatalla' widget'ı varsa, muhtemelen başka bir projeye benzemezlerdi.
Luc Danton 24:13

Açık kaynaklı yazılım kültürüyle ilgili olduğu için bu soruyu konu dışı olarak kapatmak için oy kullanıyorum. Şu anda, açık kaynak projelerini üretmek, dağıtmak, pazarlamak ve bir süre para kazanmak için toplulukların birlikte nasıl işbirliği yaptıklarına ilişkin sorular Açık Kaynak Yığın Borsası'nda tartışılmaktadır .
Thomas Owens

Yanıtlar:


20

Konunun koruyucu işbirliğinin yanı sıra, iş perspektifinden GitHub’ın trafiğini, kullanıcı tabanını ve pazar konumunu da güçlendirecek ve güçlendirecektir. Bu yüzden onunla ilgili bir iş stratejisi de var.

Şahsen bunu umursamıyorum çünkü GitHub açık kaynak topluluğuna değerli bir hizmet sunuyor.


23
Cevabınız neden GitHub’un bakış açısından? İnsanlar GitHub’ın trafiğini, kullanıcı tabanını ve pazar konumunu güçlendirmek için bu logoyu sitelerine yerleştirmiyorlar. Bu bir yan etki olabilir, ancak amaç bu değil . Bu bir GitHub "işletme stratejisi" nasıl? GitHub, bu logoyu OSS sitelerine koymaktan bile sorumlu değildir (OSS site sahipleri).
Ben Lee

3
@Ben Lee Yorumunuz iyi çekilmiş. Ancak, tek bir amaç olmadığını , birçok olduğunu iddia ediyorum . Bir amacın işbirliğini ilerletmek olduğu görüşünü reddetmedim, sadece GitHub'ın aynı zamanda bir işletme olduğunu da kabul etmemiz gerektiğini (bu sektörde pazar lideri oldukları iddia edilebilir) ve Fork Me’nin bir başka amacı olduğunu da kabul etmemeliydim . GitHub stratejik bir avantaj için. Bunun gönüllü olduğu kabul edilir, ancak yine de etkilidir. GitHub'ı internette daha görünür kılar, bu da herhangi bir internet işletme stratejisinin önemli bir parçasıdır.
AsymLabs

2
@BenLee gibi Dmitri kaydetti Github Bu sayfası vardır: github.com/blog/273-github-ribbons Bitbucket veya başka bir servis benzer bir şey var mı?
NoBugs

75

Bunun ortak bir proje olduğunu göstermesi gerekiyor mu - iyileştirmeler ekleyebilir misiniz?

Evet: Doğrudan depolarına bir taahhütte bulunma hakkınız yoktur.
Ama onların repolarını doldurma olanağına sahipsin , bu da senin reponunu yapar ve işten çıkarma taleplerini hazırla .

çatal


2
Çatalıp sonra Github'a istek gönderebileceğini biliyorum, benim sorum neden "Github'a çatal at" demeleri?
NoBugs

6
@ NoBugs, projelerine nasıl katkıda bulunacağınızı bilmenizi sağlamak için.
VonC

19
Bence buradaki odak, Github’dan ziyade "beni çatalla" ya yatıyor. Muhtemelen basit çünkü Github bu türden en popüler site. Bitbucket'i kullanırsan kimsenin büyük bir sorunu olduğunu sanmıyorum. Yine de iyi bir soru.
JensG

Ayrıca , gitorious.org'a da bir şeyler yaparsan , kimsenin büyük bir sorunu olduğunu sanmıyorum . Sadece neredeyse hiç kimse yok ...
Michael Paulukonis 22:13

37

"Beni Github'a bağla" rozeti, kendisine projeye katkıda bulunma ya da kendi projeniz için bir başlangıç ​​noktası olarak kullanma hakkı verildiğini göstermesi içindir.

Bu, “işbirlikçi bir proje olduğunu ve iyileştirmeler eklemeye açığız” olduğunu gösteriyor.

Orijinal kaynağı etkilemeden kodla oynamanıza veya aynı projenin bir kopyasını çıkarmanıza olanak tanır.

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

Aynı ilke diğer tüm hostlara da uygulanır.

Bir proje yürütme hakkını vermenin ana noktaları (diğerlerinin yanında)

  • işbirliğini teşvik etmek - insanların projeyi geliştirmek için birlikte çalışmasına izin vererek.
  • bilgiye ekleyin - insanların kodunuzu incelemesine izin vererek.

Karşılaştığınız projelerden bazıları Github personeli tarafından kendi özel ihtiyaçları için olabilir. Github'u tanıtmak istemiyorlar. Projeleri burada github'dan bulabilirsiniz: https://github.com/github

Diğer ana bilgisayarlardan neden rozet göremediğinize gelince, Github en popüler git barındırma ve işbirliği platformudur.


Kesinlikle. DVCS iş akışları, sonuçları başkalarına etkilemeden yayınlayabileceğim anlamına gelir. Forking, paylaşmak istediğiniz hiçbir şeyi paylaşmak için izin istemek zorunda kalmamak anlamına gelir. İnternet değişikliklerinizi beğenirse, onları absorbe eder.
Warren P,

15

En sevdiğiniz metin düzenleyicinizi kullandığınızı ve bir süre sonra uygulanacak bazı özellikleri gerçekten seveceğinizi hayal edin (bloklamayan bir dosya seçeneği gibi).

Onbirinci kez, kendiniz yazmaya karar verdiğinizi düşündükten sonra. Bu projenin github sayfasını bulduktan sonra iki seçeneğiniz var:

  1. Kaynak kodu indirin, değiştirin ve kendiniz için saklayın.
  2. Projeyi bir githubun üzerine yerleştirin ve çatalınız üzerinde çalışın.

İkinci seçeneği seçtiyseniz, özelliklerinizi iyi yazılmış ve iyi bir şekilde test ettikten sonra, çekme isteği hazırlayabilir ve ardından tüm proje sizden faydalanabilir.

İlk yolunu seçti Ancak, öyle çok sen sadece (o yararlanacaktır evet, kodu manuel paylaşabilir ancak diğer bazı kodlayıcı kolayca unutabilir haricinde değişiklik ve kimse unutun olasıdır. GitHub kullanma sizi diğerlerinin çalışmalarıyla daha sosyalleşmeye zorluyor ).

'Beni bir github'a çatalla' projesinin sahibi demek sadece Fork on githubkodu indirmeyi seçtiğinizden ve ana dizininizde yayınladığınızdan emin olmak istiyor .


7

Bunun sadece açık kaynak kodlu bir proje olduğunu göstermek için oradasınız ve sebebi ne olursa olsun isterseniz onu istifliyorsunuz. Ayrıca, GitHub'daki bu blog gönderisine bakın: https://github.com/blog/273-github-ribbons

Güncelleme: Şahsen, bu GitHub şeritlerini ekledim, böylece insanlar beni GitHub'da bulabilir ve projelerimi yıldızlaştırabilir;)


6

Bu, çatal bıçakların ucuz olduğu github'da oldukları ve yazılımlarını ve topluluğunu geliştirmek için katkıları teşvik etmek istedikleri anlamına gelir.


5

Github, yalnızca kaynak kod barındıranı değil, ortak çalışmayı içerecek şekilde kullanıcı tabanını genişletmeye çalışıyor; ve böylece çatalı itiyorlar ve bir çekme talebi yöntemi gönderiyorlar . Yama yapmak ve e-postayla göndermek, programcılar ve benzerleri dışındaki çoğu insan için çekici olmaz. İtme izinleri burada gerçekten önemli değil, çünkü sonunda aracı ve geliştirme iş akışı hakkında önemli miktarda bilgi sahibi olan git (veya mercurial, darcs veya her neyse) kullanıcılarının çoğu bir şekilde eklenmiş bir yama içeren bir e-posta gönderebilir.

Ayrıca, Github, kod barındırmaktan çok sosyal ağlarla ilgilidir: profiliniz, depolarınız ve değişiklikleriniz, tıpkı tweetleriniz ve '+ 1'ler gibi bir yazılım geliştiricisi olarak kimliğinizi oluşturur. Tüm bu kurdeleler ve düğmeler ve benzerleri, projenin ait olduğu kişinin profiline giden bir yol olan kendi kendine dokunma aracı olarak kullanılır. Günümüzde, iyi bir Github profiline sahip olmak bir geliştiriciden beklenen ilk şeydir. Mercurial'ı herhangi bir şey için kullanmama rağmen, bu nedenlerden dolayı Github'a hg-git yoluyla basıyorum.

Sonunda, "Beni Github'tan Çatalla" şeridi, "Bu Makaleyi Tweetle" ya da "Bu Şey'i G + 'da Paylaş" düğmesinden biraz farklı. (Ayrıca, depo listenizde bir depo çatalına sahip olmak, "Bu şeyin kullanıcısıyım" anlamına gelir. Linus Torvalds çekme isteklerini kabul etmese de, github'da binlerce Linux çatal vardır.)


2

"yamalar açıktır" demenin başka bir yolu.

İstek ve özellik istekleri göndermek yerine, kullanıcılar orijinal yazarın çekme isteğini incelediği, doğruladığı ve birleştirdiği durumlarda çekme isteği gönderebilir.

Tarihsel olarak çatallama, orijinal projenin yönetimi ile çelişen grup tarafından yapılan düşmanca bir eylemdir, örneğin Sun'ın OpenOffice'i, hızlı C / C ++ SVG eklentisini reddetmek için kullandı, çünkü kendi yavaş kırılan Java tabanlı eklentisini politik nedenlerden dolayı tercih ediyor.

Çoğu durumda çatallar kötüdür ve kıskanç insanlar tarafından veya bencil şirketlerden orijinal toplulukla paylaşılmayan planları olan ve buna uygun olmayan planları olan (örn. Kanonik ) insanlar tarafından taşınır ve bunun örneği libav / avconv'dur. (FFMPEG'nin bir çatalı), bu durumlarda orijinal toplum daha yüksek kalite, güvenlik ve topluluk planları ile uyumlu yamaları memnuniyetle karşılar.

Dan Walsh , çatalın eski tanımına dikkat çekti

Uzun zamandır açık kaynaktayım ve “çatal” tanımım tarihlenebilir. Bir grubun, başkalarının bir yukarı akış projesi versiyonunu kullanmasına ve katkıda bulunmasına ve “orijinal” versiyonunu görmezden gelmesine yardımcı olmak için atılan düşmanca bir eylem olarak düşünüyorum. Örneğin, LibreOffice OpenOffice'ten ayrıldı ya da Xorg'un Xfree86'dan ayrılmasıyla geri döndü.

Sonra onu Github'un çatalıyla karşılaştırdı.

Bugünlerde GitHub anlamını değiştirdi. GitHub veya benzeri bir platformda bir yazılım deposu varsa, katkıda bulunmak isteyen herkes "çatal" düğmesine basmalı ve yamalarını oluşturmaya başlamalıdır. Bu yazı itibariyle GitHub’daki Docker’da bizimki de dahil olmak üzere 9,860 çatal var. Bununla birlikte, bu tanım gereği, dağıtım içeren yamaları içeren tüm paketler çataldır. Red Hat Linux çekirdeğini gönderiyor ve bunun çatal olarak adlandırıldığını duymadım. Ancak, yamalar ile birlikte gelen bir yukarı akış projesini düşünüyorsanız, bir "çatal" olarak kabul edilirdi.


1

Neden "demek değildir: Tüm yanıtlar farzetmek bu işbirlikçi olduğunu söyleyerek Klon GitHib beni" veya "GitHub'dan .zip indir"?

GitHub'da çatal sayısının bir sayısını görebilirsiniz. Ancak, bildiğim kadarıyla, klon veya zip indirme sayısının bir sayısı değil.

Bu yüzden, kısmen işbirliğini teşvik etmenin, kısmen insanların kodunuzu kullandığına dair geri bildirim ve doğrulama almak olduğunu söyleyebilirim.

PS GitHub için oldukça yeniyim, bu yüzden eğer tabandan tamamen yanlışsa lütfen bana bildirin.


Tabii ki, "bu, dağıtılmış sürüm kontrolünün nasıl çalıştığını, çekme istekleriyle işler, elbette ki önce deponuzu doldurmamı, sonra çatalımı yapmamı ve sonra paylaşmaya değer bir şey yaparsam çekme talebinde bulunmamı gerektirir. Orijinal proje ile "
Warren P

1
İtiraf etmeliyim ki git "alamadım". Neden sadece zip dosyasını klonlamıyor veya alamıyor ve değişiklik yaparsam ne istersem VCS'yi ayarla? Nadir durumlarda herkese faydalı faydalar yaparım, e-postaya başvurabilir, ya da çatalı o zaman yapabilirim.
user949300

Bu cevap kendine aykırı. Haklı olarak işbirliğini teşvik etmeye çalıştıklarını önerirsiniz. Böyle bir bağlantının amacı, insanlara projenizi indirebilecekleri bir yer vermek değil, amaç onları geliştirmelerine dahil etmektir. Sadece kendileri için bir kopya istiyorlarsa bir zip indirebilir veya klonlayabilirlerdi, ancak kopyasının, yukarı akışın katkılarını alabileceği bir çatala sahip olmak suretiyle yapılan yukarı akış projesine katkıda bulunmak için bir yol oluşturmasını istiyorlarsa dan.
Caleb,

@ user949300, yine de sadece kullanabilir git clone https://github.com/$NAME_OF_GITHUB_USER/$NAME_OF_REPOSITORY.gitve sonra git format-patch masterE-posta veya benzeri bir yöntemle gönderebilirsiniz
Sebastian Godelet

0

github'a basmak, beni twitterda takip etmek gibi bir şey söylemesi çok kolay. Gelişim dünyasına kendi bakış açımdan biraz sosyalleşme getirmiyor, aynı zamanda açık kaynak ve modifikasyonlara açık olduğunu da açıkça ortaya koyuyorum. Sanırım, bir ucunda "beni github'tan çatalla" pankartının iyi bir konsept olduğunu düşünüyorum. proje web sitesi


Um. Hayır. Bunun için repolar için 'star' ve 'watch' ve kullanıcılar için 'follow' vardır. Çatalların amacı, sadece sosyalleşmek değil, belirli bir eylem türünü teşvik etmek - yukarı yönde katkıları göndermek - teşvik etmek.
Caleb,

0

Muhtemelen en basit cevabı alarak en iyisi sensin: kodun GitHub'da serbestçe kullanılabilir olduğunu bilmeni istiyorlar. Bence hipotezlerin biraz fazla düşünülmüş.


Bu aslında mantıklı olan en basit cevap.
Woland,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.