Mengapa banyak programmer memindahkan kode mereka ke github?


114

Selama 6 bulan terakhir atau lebih, saya telah melihat banyak kode yang dihosting di sourceforge.net serta situs hosting lainnya "Pindahkan ke GitHub". Google Search biasa dengan frasa "Pindah ke Github" mengembalikan beberapa hasil yang berisi teks yang dipindahkan ke github. Ini sangat membingungkan bagi saya, dan saya bertanya-tanya, mengapa orang bergerak? Apakah ini berarti bahwa GitHub lebih baik atau adakah keuntungan khusus yang tidak saya lihat?


16
Saya juga akan menambahkan bahwa tidak ada situs yang membuatnya lebih mudah untuk berinteraksi dengan kode langsung daripada github. Sebagian besar situs menyembunyikan kode sumber di belakang beberapa menu. Github juga menyertakan tautan ke hampir semua tugas lain yang Anda bisa lakukan di rumah proyek tanpa semua sampah di mana-mana (melihat Anda sourceforge ).
Xeoncross

2
Saya bertanya-tanya hal yang sama, jadi saya pergi dan mendaftar, dan segera saya dijual juga. Saya mengalihkan semua proyek saya, dan mendapatkan semua klien saya juga.
lorddev

7
karena github adalah tempat yang bagus dan git lebih baik daripada cvs?

4
SourceForge mulai menambahkan adware ke rilis biner Windows devsnya; salah satu server distribusi SF di Korea dikompromikan.
Deer Hunter

1
Laucnpad adalah pelaku yang bahkan lebih buruk dalam menyembunyikan sumbernya. Yang menonjol adalah beberapa "Seri dan tonggak sejarah" -> trunk -> "Kode untuk seri ini: Cabang berikut telah terdaftar sebagai cabang arus utama untuk seri rilis ini: lp: ~ USER / PROJ / trunk" -> metadata lain halaman untuk trunk? dimana kodenya? oh ya, -> "Browse the code" ... Sebenarnya sekarang saya akhirnya menyadari ada "Browse the code" tepat di halaman pertama. Tetapi semua halaman metadata yang sama-tapi-agak berbeda ini membingungkan.
Beni Cherniavsky-Paskin

Jawaban:


102

Ini adalah gejala migrasi yang lebih luas menuju sistem kontrol versi terdistribusi .

Beberapa situs web yang secara tradisional meng-host VCS yang tidak didistribusikan (mis. Codeplex & SourceForge) agak lambat dalam menambahkan dukungan untuk DVCS (misalnya Git atau Mercurial). Jadi, orang-orang yang ingin menggunakan DVCS untuk proyek mereka terpaksa memindahkan proyek mereka ke penyedia yang mendukung mereka (misalnya Github atau BitBucket). Github adalah salah satu yang pertama menawarkan dukungan DVCS dan tentu saja banyak orang memigrasi kode mereka di sana untuk memanfaatkannya.

Situs-situs web lainnya baru sekarang mulai mengejar DVCS (Codeplex misalnya sekarang mendukung Mercurial & Git), tetapi mereka masih jauh di belakang dalam hal fitur seperti forking dan mengirimkan permintaan tarik. Untuk benar-benar memanfaatkan DVCS Github dan Bitbucket masih merupakan pilihan terbaik.


46
Juga perhatikan bahwa rangkaian fitur GitHub dengan cepat menjadi jauh lebih menarik daripada yang ditawarkan oleh DVCS lainnya (termasuk hosting sendiri). Jadi, bagian dari jawabannya adalah GitHub itu seksi. :-)
Martijn Pieters

49
@MartijnPieters: ... kecuali untuk hosting pribadi gratis, yang BitBucket telah tawarkan sejak lama.
Den

17
Situs web lain menawarkan DVCS. Dalam kasus khusus SourceForge, saya hanya berpikir alasannya adalah bahwa situs web itu benar-benar mengerikan, apalagi sistem kontrol versi yang didukung.
Konrad Rudolph

17
@Den Ya, saya benar-benar tidak tahu mengapa BitBucket tidak lebih populer. Ini memiliki hosting pribadi dan mari kita pilih antara Git atau Mercurial (yang saya suka lebih banyak Mercurial)
Earlz

11
Github dan Bitbucket beroperasi pada dua model bisnis yang berbeda. Github menawarkan hampir semua fitur lengkap yang ditetapkan secara gratis dan membuat Anda membayar untuk repo pribadi (batalkan paket Perunggu gratis yang diberikannya kepada siapa pun yang memiliki alamat email .ed. Bitbucket menawarkan hosting publik dan pribadi, tetapi membebani Anda untuk produktivitas [semoga] -menambah ekstra. Jika Anda tidak memiliki alasan untuk menyembunyikan kode Anda, Github tampaknya seperti model yang lebih logis. Saya pikir Bitbucket datang sekitar meskipun - Saya tentu suka Sourcetree lebih baik daripada GIT GIT Git Git asli (bukan karena saya benar-benar gunakan salah satu) ..
David Cowden

45

Hosting proyek adalah infrastruktur. Infrastruktur menunjukkan efek jaringan, yang berarti infrastruktur menjadi lebih bermanfaat semakin banyak orang terhubung dengannya. (Khususnya, kegunaannya adalah O (number_of_connections), yang berarti bahwa untuk setiap anggota individu itu adalah O (total_members) dan untuk seluruh sistem itu adalah O (total_members ^ 2)). Ini, pada gilirannya, mengarah pada efek yang disebut monopoli alami, yang berarti bahwa itu wajar untuk sistem sedemikian rupa sehingga hanya satu pesaing yang akan bertahan, karena kegunaannya dimaksimalkan ketika semua orang menggunakan sistem yang sama.

Jadi, masuk akal untuk bergabung dengan pemimpin pasar, yaitu GitHub. Ada lebih banyak repositori, lebih banyak pengguna, lebih banyak cabang, lebih banyak revisi, lebih banyak segalanya di GitHub daripada di SourceForge, Google Code dan CodePlex digabungkan .

Pertanyaan yang menarik adalah, tentu saja, jika efek jaringan berarti bahwa pemimpin pasar secara otomatis memperoleh monopoli alami, bagaimana GitHub dapat memecahkan SourceForge?

Dan jawabannya adalah, dengan menjadi sangat mengganggu sehingga rasa sakit untuk bergabung dengan infrastruktur yang jauh lebih kecil layak dilakukan oleh para pengguna awal:

  • GitHub adalah yang pertama menawarkan Git hosting dengan set fitur yang sebanding dengan SourceForge (atau setidaknya bagian dari SourceForge yang digunakan kebanyakan orang)
  • GitHub keren, dari sudut pandang UI: licin, UI Web modern
  • GitHub keren, dari segi teknologi: Ruby on Rails, Sinatra, Erlang, node.js
  • GitHub adalah Web 2.0, dengan fokus pada Social Coding, dan Users over Projects

6
+1 untuk penjelasan efek jaringan. Tapi saya benar-benar berpikir SourceForge jauh lebih besar daripada Github sebelum migrasi yang tiba-tiba merajalela ... dan Anda hampir terdengar seperti karyawan Github ...
Chibueze Opata

2
Selain itu, pertimbangkan untuk membuat klien GitHub untuk Windows - untuk pertama kalinya, sebagai pengembang Windows, saya tidak merasa seperti warga negara kelas dua ketika menggunakan Git untuk kontrol sumber, dan GitHub bertanggung jawab untuk itu.
Carson63000

25

Saya pikir salah satu alasannya adalah audiens yang berbeda: sourceforge terutama untuk aplikasi hosting , mungkin fitur yang paling menonjol dari halaman proyek adalah tautan ke executable yang dikompilasi (atau unduhan lain). Dengan kata lain, ini ditargetkan untuk pengguna , bukan pengembang.

Di sisi lain, github terutama untuk hosting kode sumber , fitur paling menonjol dari halaman proyek adalah daftar direktori mastercabang. Ini ditargetkan pada pengembang (baik yang ingin memodifikasi atau menggunakan kode dari proyek), bukan pengguna.

Saya pikir ini adalah salah satu alasan mengapa alat dan perpustakaan yang ditargetkan pengembang pindah ke github.


15

Sourceforge juga menawarkan Git , tetapi Github melakukannya dengan lebih baik (untuk saat ini).

  • Sistem permintaan tarik mereka berfungsi dengan baik (misalnya, jauh lebih baik daripada Gitorious)
  • Pemberitahuan yang baru-baru ini ditingkatkan sangat nyaman.
  • Mereka segera menunjukkan kode

Fitur pembunuh mereka , menurut saya, adalah "Grafik jaringan":

masukkan deskripsi gambar di sini

Perbedaan dengan gitk: itu juga menunjukkan kepada Anda apa yang terjadi di cabang orang lain (tanpa harus menarik cabang mereka), yang sangat penting ketika berkolaborasi.


10
+1 Kita semua tahu bahwa pada akhirnya, grafik adalah yang terpenting.
Xeoncross

2
Ini juga luar biasa untuk menemukan cabang yang paling terpelihara. Baru-baru ini saya harus menemukan garpu repositori tertentu mana yang benar-benar dipelihara (non-sepele karena garpu yang lebih baru belum melayang ke atas pencarian google).
beatgammit

1
juga, tampaknya github dapat menunjukkan statistik kloning, sementara saya tidak dapat menemukan satu cara untuk melakukannya di sourceforge :(
Aquarius Power

11

GitHub sederhana, mudah digunakan, mudah untuk memulai, kuat dan tampak hebat dan Web 2.0-ish.

Saya menggunakan GitHub, dan saya merasa lebih mudah digunakan daripada SourceForge, yang kekuatannya tersembunyi di balik serangkaian menu dan membutuhkan operasi yang cukup rumit untuk mengatur apa pun. Dan saya seorang programmer.

Selain itu, saya pikir ada satu fitur yang lebih kuat: apakah itu individu yang ingin menerbitkan proyek open-source pertama mereka di suatu tempat, atau tim yang ingin berkolaborasi pada proyek komersial (pribadi), "skala" GitHub dengan sangat baik untuk hampir semua gunakan kasing.

Akhir hari, saya berpikir tentang psikologi manusia. Apakah produk itu mudah digunakan, mudah digunakan, murah (atau gratis) ... apakah terlihat bagus dan apakah itu sesuatu yang akan saya rekomendasikan kepada teman-teman saya? Untuk GitHub, saya akan menjawab ya untuk semua pertanyaan itu.


Dengan kode Google, saya dapat membintangi masalah, yang memungkinkan para devs mengetahui masalah mana yang penting bagi komunitas dan membantu saya melacak kemajuan. Github tampaknya hanya memiliki pengikut anonim, yang dapat menyebabkan spam komentar (+1, saya juga, dll). Ini penting untuk proyek populer dengan sumber daya terbatas.
beatgammit

5

Anda juga harus memperhitungkan beberapa fitur sangat bagus yang ditawarkan oleh github yang belum saya lihat.

  • halaman github dengan markdown rasa github
  • aplikasi seluler github
  • plugin github eclipse
  • github untuk mac
  • pekerjaan github
  • github untuk windows
  • sistem pelacakan tiket / bug github
  • api pengembang github yang memungkinkan integrasi pihak ketiga yang mulus
  • pembaruan / peningkatan UI yang sering (Anda benar-benar dapat melihat perubahan dari satu hari ke hari berikutnya yaitu kotak teks pencarian sekarang secara dinamis memperluas fokus , arloji menjadi tombol bintang baru, dll.)
  • inti github (baik untuk skrip utilitas, cuplikan kode pendek, dll.)
  • integrasi github mulus melalui hub

Situs lain mungkin memiliki fitur ini, tetapi saya cukup yakin tidak ada situs di luar sana yang memiliki semuanya.

Orang-orang ini praktis ada di mana-mana ... perlahan-lahan menyebar barang teknis mereka ke seluruh web dan desktop. Mereka hanya menjadi lebih besar dan lebih baik saat kita bicara dan mereka merekrut insinyur terbaik (mereka bahkan berhasil mencuri Phil Haack dari Microsoft ... lihat gambar).


4

Salah satu alasan tambahan yang mungkin menarik pengembang tambahan ke GitHub adalah bahwa alat pengembang mulai merangkul git, dan platform seperti Eclipse sekarang memiliki dukungan Git yang dibangun di luar kotak (berlaku untuk paket untuk Java, Pengembang C ++, dll), membuat itu mengambil langkah lebih sedikit untuk mendapatkan proyek Anda diunggah ke GitHub.


1
IDE lain yang menambahkan dukungan Git adalah Visual Studio, dalam versi 2013 dan yang lebih baru. Lihat msdn.microsoft.com/en-us/library/hh850437.aspx untuk detail
Bernard Vander Beken

-1

Sejujurnya, hal yang paling penting dari Git untuk diri saya ketika saya melihatnya: 1. Grafik Jaringan atau Haruskah saya memanggil Sejarah (juga berkomentar) 2. Permintaan Cabang dan Tarik 3. Ini lebih kuat, sungguh, saya akan mengatakan itu sangat Rasanya seperti saya memiliki sekretaris yang memegang semua pekerjaan saya, dan saya dapat mengatakan bahwa detik menuliskan segala sesuatu untuk saya, perubahan, semuanya! 4. Mudah untuk mengembalikan

Hanya itu. Terasa seksi menggunakannya


err, mengapa saya sampai di bawah?
Benyamin Limanto

Sementara saya berpikir bahwa Anda memiliki niat baik dalam menjawab pertanyaan, saya tidak berpikir bahwa jawaban Anda menambah banyak jawaban seperti yang diminta OP. Kedengarannya seperti jawaban Anda untuk "Mengapa programmer memindahkan kode mereka ke github?" adalah "karena aku menyukainya". Jawaban lain di sini mungkin lebih baik dan itu sebabnya seseorang kalah pendapat.
Frank Bryce
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.