Perché molti programmatori spostano il loro codice in github?

114

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

    
posta Chibueze Opata 12.09.2012 - 12:27
fonte

8 risposte

102

Questo è un sintomo di una migrazione più ampia verso i sistemi di controllo delle versioni .

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

Questi altri siti web stanno solo ora iniziando a raggiungere DVCS (Codeplex ad esempio ora supporta Mercurial & Git), ma sono ancora indietro rispetto a caratteristiche come la possibilità di eseguire il fork e l'invio di richieste pull. Per trarre il massimo vantaggio da DVCS, Github e Bitbucket sono ancora le migliori opzioni.

    
risposta data 12.09.2012 - 12:33
fonte
45

L'hosting del progetto è infrastruttura. L'infrastruttura mostra effetti di rete, il che significa che l'infrastruttura diventa più utile 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 ad un effetto chiamato monopolio naturale, il che significa che è naturale per un tale sistema che solo un concorrente sopravviverà, dal momento che l'utilità è massimizzata quando tutti usano lo stesso sistema.

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

La domanda interessante è, naturalmente, se gli effetti di rete significano che il leader di mercato ottiene automaticamente un monopolio naturale, in che modo GitHub è riuscito a rompere SourceForge?

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

  • GitHub è stato il primo ad offrire Git hosting con un set di funzionalità paragonabile a quello di SourceForge (o almeno quella parte di SourceForge utilizzata dalla maggior parte delle persone)
  • GitHub è stato interessante, dal punto di vista dell'interfaccia utente: interfaccia utente Web moderna e intuitiva
  • GitHub è stato interessante, in termini di tecnologia: Ruby on Rails, Sinatra, Erlang, node.js
  • GitHub era Web 2.0, con il suo focus su Social Coding e Users over Projects
risposta data 12.09.2012 - 15:43
fonte
25

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

D'altra parte, github è principalmente per ospitare codice sorgente , la caratteristica più importante della pagina del progetto è l'elenco di directory del ramo master . È indirizzato 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 con targeting per sviluppatori si stanno spostando su github.

    
risposta data 14.09.2012 - 13:52
fonte
15

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

  • Il loro sistema di richiesta pull funziona bene (molto meglio di Gitorious ad esempio)
  • La notifica di recente aggiornamento è molto comoda.
  • Mostrano il codice subito

La loro funzionalità killer , a mio parere, è il "Network graph":

Differenza con gitk : mostra anche cosa sta succedendo nelle branche degli altri (senza dover estrarre i loro rami), che è molto importante quando si collabora.

    
risposta data 13.09.2012 - 08:17
fonte
11

GitHub è semplice, facile da usare, facile da usare, potente e con un bell'aspetto ed è Web 2.0.

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

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

Fine della giornata, penso sia sulla 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 sì a tutte quelle domande.

    
risposta data 12.09.2012 - 21:22
fonte
5

Devi anche prendere in considerazione alcune caratteristiche incredibili offerte da github che non ho ancora visto menzionato.

  • github pagine con markdown aromatizzato github
  • github mobile app
  • plugin github di eclipse
  • github per mac
  • processi di github
  • github per windows
  • github ticketing / sistema di tracciamento bug
  • github developer api che consente terze parti senza soluzione di continuità Integrazione
  • frequenti aggiornamenti / miglioramenti dell'interfaccia utente (puoi vedere letteralmente le modifiche da un giorno all'altro la casella di testo di ricerca ora si espande in modo dinamico a fuoco , l'orologio diventa il nuovo pulsante stella, ecc.)
  • github gists (buona per script di utilità, snippet di codice breve, ecc.)
  • integrazione github senza interruzioni tramite hub

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

Questi ragazzi sono praticamente ovunque ... a poco a poco disperdendo le loro chicche tecniche in tutto il web e sul desktop. Sono solo ottenere più grande e migliore mentre parliamo e assumono i migliori ingegneri (sono persino riusciti a rubare Phil Haack da Microsoft ... vai a capire).

    
risposta data 19.09.2012 - 04:50
fonte
4

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

    
risposta data 15.09.2012 - 02:21
fonte
-1

Per essere onesti, la cosa più importante di Git per me stesso quando la vedo: 1. Grafico di rete o Devo chiamare la cronologia (anche commentando) 2. Branch e Pull Request 3. È più potente, in realtà, direi che mi sembra di avere una segretaria in possesso di tutto il mio lavoro, e posso dire a quel sec di scrivere qualsiasi cosa per me, il cambiamento, tutto! 4. È facile eseguire il rollback

Proprio così. Sembra sexy usandolo

    
risposta data 21.06.2016 - 06:39
fonte

Leggi altre domande sui tag