Perché molti programmatori stanno spostando il loro codice su github?


114

Negli ultimi 6 mesi o più, ho visto molti codici ospitati su sourceforge.net e altri siti di hosting "Move to GitHub". Una semplice ricerca su Google con la frase "Spostato in Github" restituisce diversi risultati contenenti il ​​testo spostato in Github. Questo è molto confuso per me, e mi chiedo, perché esattamente le persone si muovono? Vuol dire che GitHub è migliore o c'è qualche vantaggio speciale che non vedo?


16
Vorrei anche aggiungere che nessun sito rende più facile interagire con il codice immediatamente di Github. La maggior parte dei siti nasconde il codice sorgente dietro diversi menu. Github include anche collegamenti a qualsiasi altra attività che potresti trovare proprio lì nella home del progetto senza tutta la spazzatura ovunque (guardando il tuo sourceforge ).
Xeoncross,

2
Mi chiedevo la stessa cosa, quindi sono andato e mi sono registrato, e ben presto sono stato venduto anche io. Ho cambiato tutti i miei progetti e ho accolto anche tutti i miei clienti.
lorddev,

7
perchè github è un bel posto e git è meglio di cvs?

4
SourceForge ha iniziato ad aggiungere adware alle versioni binarie di Windows dei suoi sviluppatori; uno dei server di distribuzione di SF in Corea è stato compromesso.
Deer Hunter,

1
Laucnpad è un trasgressore ancora peggiore nel nascondere la fonte. Ciò che risalta sono alcune "Serie e pietre miliari" -> trunk -> "Codice per questa serie: Il seguente ramo è stato registrato come ramo mainline per questa serie di rilasci: lp: ~ USER / PROJ / trunk" -> ancora altri metadati pagina per tronco? dov'è il codice? oh sì, -> "Sfoglia il codice" ... In realtà ora ho finalmente notato che c'era "Sfoglia il codice" proprio sulla prima pagina. Ma tutte queste pagine di metadati simili ma sottilmente diverse sono sconcertanti.
Beni Cherniavsky-Paskin,

Risposte:


102

Questo è un sintomo di una migrazione più ampia verso i sistemi di controllo della versione distribuita .

Alcuni siti Web che tradizionalmente ospitavano VCS non distribuiti (ad esempio Codeplex e SourceForge) erano un po 'lenti nell'aggiungere il supporto per DVCS (ad esempio Git o Mercurial). Quindi, le persone che volevano utilizzare DVCS per il loro progetto sono state costrette a migrare i loro progetti verso i fornitori che li hanno supportati (ad esempio Github o BitBucket). Github è stato uno dei primi a offrire supporto DVCS e quindi, naturalmente, molte persone hanno migrato il proprio codice lì per trarne vantaggio.

Questi altri siti web stanno solo ora iniziando a raggiungere DVCS (ad esempio Codeplex ora supporta Mercurial & Git), ma sono ancora molto indietro in termini di funzionalità come il fork e l'invio di richieste pull. Sfruttare davvero DVCS Github e Bitbucket sono ancora le migliori opzioni.


46
Si noti inoltre che il set di funzionalità di GitHub è diventato rapidamente molto più attraente di qualsiasi altro hoster DVCS offerto (incluso il self-hosting). Quindi, parte della risposta è che GitHub è sexy. :-)
Martijn Pieters,

49
@MartijnPieters: ... ad eccezione dell'hosting privato gratuito, che BitBucket offre da anni.
Den

17
Altri siti Web offrono DVCS. Nel caso particolare di SourceForge, penso semplicemente che il motivo sia che il sito Web è assolutamente orribile, non importa i sistemi di controllo della versione supportati.
Konrad Rudolph,

17
@Den Yea, davvero non so perché BitBucket non sia più popolare. Dispone di hosting privato e ti consente di scegliere tra Git o Mercurial (che mi piace molto di più Mercurial)
Earlz,

11
Github e Bitbucket operano su due diversi modelli di business. Github offre quasi tutte le sue funzionalità complete gratuitamente e ti fa pagare per i repository privati ​​(escludi i piani Bronzo gratuiti che offre a chiunque abbia un indirizzo email .edu . Bitbucket offre hosting sia pubblico che privato ma ti addebita la produttività [si spera] -aumentare gli extra. Se non hai un motivo per nascondere il tuo codice, Github sembra il modello più logico. Penso che Bitbucket stia arrivando in giro - Sicuramente mi piace Sourcetree meglio della GUI git nativa di Github (non che io davvero usare entrambi) ..
David Cowden,

45

L'hosting del progetto è un'infrastruttura. L'infrastruttura mostra effetti di rete, il che significa che l'infrastruttura diventa più utile quanto più persone sono connesse ad essa. (In particolare, l'utilità è O (number_of_connections), il che significa che per ogni singolo membro è O (total_members) e per l'intero sistema è O (total_members ^ 2)). Questo, a sua volta, porta a un effetto chiamato monopolio naturale, il che significa che è naturale per un sistema del genere che sopravviverà un solo concorrente, poiché l'utilità viene massimizzata quando tutti usano lo stesso sistema.

Quindi, ha senso unirsi al leader del mercato, che è GitHub. Ci sono più repository, più utenti, più filiali, più revisioni, più tutto su GitHub che su SourceForge, Google Code e CodePlex messi insieme .

La domanda interessante è, ovviamente, se gli effetti di rete significano che il leader di mercato ottiene automaticamente un monopolio naturale, come è riuscito GitHub a infrangere quello di SourceForge?

E la risposta è, essendo così dirompente che la pena di aderire a un'infrastruttura molto più piccola è valsa la pena per i primi utenti:

  • GitHub è stato il primo a offrire l'hosting Git con un set di funzionalità paragonabile a quello di SourceForge (o almeno quella parte di SourceForge che la maggior parte delle persone usava)
  • GitHub è stato interessante, dal punto di vista dell'interfaccia utente: interfaccia utente Web moderna ed elegante
  • GitHub era bello, dal punto di vista tecnologico: Ruby on Rails, Sinatra, Erlang, node.js
  • GitHub era Web 2.0, con il focus su Social Coding e Users over Projects

6
+1 per la spiegazione degli effetti di rete. Ma penso davvero che SourceForge fosse molto più grande di Github prima delle improvvise migrazioni dilaganti ... e quasi sembri un impiegato di Github ...
Chibueze Opata,

2
Inoltre, considera la creazione del client GitHub per Windows : per la prima volta, come sviluppatore di Windows, non mi sento un cittadino di seconda classe quando si tratta di utilizzare Git per il controllo del codice sorgente e GitHub ne è responsabile.
Carson63000,

25

Penso che uno dei motivi sia il pubblico diverso: sourceforge è principalmente per l'hosting di applicazioni , probabilmente la caratteristica più importante di una pagina di progetto è un link all'eseguibile compilato (o qualche altro download). In altre parole, è indirizzato agli utenti , non agli sviluppatori.

D'altra parte, github è principalmente per l'hosting del codice sorgente , la caratteristica più importante della pagina del progetto è l'elenco delle directory del masterramo. È rivolto agli sviluppatori (che desiderano modificare o utilizzare il codice di un progetto), non agli utenti.

Penso che questo sia uno dei motivi per cui gli strumenti e le librerie destinati agli sviluppatori si stanno spostando su Github.


15

Sourceforge offre anche Git , ma Github lo fa meglio (per ora).

  • Il loro sistema di richiesta pull funziona bene (molto meglio di Gitorious per esempio)
  • La loro notifica recentemente aggiornata è molto conveniente.
  • Mostrano subito il codice

La loro caratteristica killer , secondo me, è il "grafico di rete":

inserisci qui la descrizione dell'immagine

Differenza con gitk: ti mostra anche cosa sta succedendo nei rami di altre persone (senza dover tirare i loro rami), che è molto importante quando si collabora.


10
+1 Sappiamo tutti che alla fine i grafici sono tutto ciò che conta.
Xeoncross,

2
È anche fantastico per trovare la filiale più mantenuta. Di recente ho dovuto trovare quale fork di un determinato repository era effettivamente gestito (non banale perché le forcelle più aggiornate non erano ancora fluttuate all'inizio di una ricerca su Google).
beatgammit,

1
inoltre, sembra che Github possa mostrare le statistiche sui cloni, mentre non riesco a trovare un solo modo per farlo su sourceforge :(
Aquarius Power

11

GitHub è semplice, facile da usare, facile da usare, potente, bello da vedere ed è Web 2.0.

Uso GitHub e lo trovo notevolmente più facile da usare rispetto a SourceForge, che aveva il suo potere nascosto dietro una serie di menu e richiedeva operazioni abbastanza elaborate per configurare qualsiasi cosa. E sono un programmatore.

Inoltre, penso che ci sia un'altra caratteristica più potente: che si tratti di un individuo che vuole pubblicare il suo primo progetto open source da qualche parte, o di team che vogliono collaborare a un progetto commerciale (privato), GitHub "ridimensiona" perfettamente per quasi tutti casi d'uso.

Alla fine, penso che si tratti di psicologia umana. Il prodotto è facile da usare, facile da usare, economico (o gratuito) ... ha un bell'aspetto ed è qualcosa che consiglierei ai miei amici? Per GitHub, risponderei di sì a tutte queste domande.


Con il codice Google, posso mettere in evidenza i problemi, il che consente agli sviluppatori di sapere quali sono i problemi importanti per la comunità e mi aiuta a tenere traccia dei progressi. Github sembra avere solo un seguito anonimo, che può portare a commenti spam (+1, anche a me, ecc.). Questo è significativo per progetti popolari con risorse limitate.
beatgammit,

5

Devi anche prendere in considerazione alcune caratteristiche piuttosto interessanti offerte da Github che non ho ancora visto menzionato.

  • pagine github con markdown al gusto github
  • app mobile github
  • plugin github eclipse
  • github per mac
  • lavori github
  • github per windows
  • github ticketing / sistema di tracciamento dei bug
  • API Github Developer che consente una perfetta integrazione di terze parti
  • frequenti aggiornamenti / miglioramenti dell'interfaccia utente (puoi letteralmente vedere le modifiche da un giorno all'altro cioè la casella di testo di ricerca ora si espande dinamicamente in primo piano , l'orologio diventa il nuovo pulsante a stella, ecc.)
  • github gists (buono per script di utilità, frammenti di codice funzione, ecc.)
  • perfetta integrazione github tramite hub

Altri siti potrebbero avere queste funzionalità, ma sono abbastanza sicuro che nessun sito li abbia tutti.

Questi ragazzi sono praticamente ovunque ... stanno lentamente disperdendo le loro chicche tecniche sia sul web che sul desktop. Stanno diventando sempre più grandi e migliori mentre parliamo e assumono i migliori ingegneri (sono persino riusciti a rubare Phil Haack da Microsoft ... vai a capire).


4

Un ulteriore motivo che potrebbe attirare altri sviluppatori su GitHub è che gli strumenti di sviluppo stanno iniziando ad abbracciare git e che piattaforme come Eclipse ora hanno il supporto Git integrato (si applica ai pacchetti per Java, sviluppatori C ++, ecc.) bastano meno passaggi per caricare il tuo progetto su GitHub.


1
Un altro IDE che ha aggiunto il supporto Git è Visual Studio, nella versione 2013 e successive. Per i dettagli, consultare msdn.microsoft.com/en-us/library/hh850437.aspx
Bernard Vander Beken,

-1

Ad essere sincero, la cosa più importante di Git per me quando la vedo: 1. Grafico di rete o dovrei chiamare la storia (anche commentando) 2. Richiesta Branch and Pull 3. È più potente, davvero, direi che è così mi sento come se avessi un segretario con tutto il mio lavoro, e posso dire a quel secondo di scrivere qualcosa per me, il cambiamento, tutto! 4. È facile eseguire il rollback

Proprio così Sembra sexy usarlo


err, perché sono arrivato sotto?
Benyamin Limanto,

Mentre penso che tu abbia avuto buone intenzioni nel rispondere alla domanda, non penso che la tua risposta aggiunga molto alla risposta come l'OP stava chiedendo. Sembra la tua risposta a "Perché i programmatori stanno spostando il loro codice su github?" è "perché mi piace". Altre risposte qui sono probabilmente migliori ed è per questo che qualcuno ha effettuato il downgrade.
Frank Bryce,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.