Perché l'improvviso aumento del numero di mittenti Git sul grafico popcon Debian nel 2010-01?


86

Quasi ogni articolo che ho letto 1 confrontando Git e Mercurial sembra che Mercurial abbia una UX della riga di comando migliore con ogni comando limitato a una sola idea (a differenza di dire git checkout).

Ma ad un certo punto Git è diventato improvvisamente molto popolare e il numero di utenti che hanno presentato Git sul grafico popcon Debian (vedi immagine del grafico sotto) è letteralmente esploso.

Git vs. Mercurial popolarità

Fonte: Debian

Cosa è successo nel 2010-01 che le cose sono improvvisamente cambiate. Sembra che GitHub sia stato fondato prima di quello - 2008.


23
bene ad un certo punto Github colpì un punto di flesso e decollò. Dubito che fosse da solo. Mi chiedo se qualcuno potrebbe mettere in relazione la populatrity gits con la popolarità dei githubs?
Doug T.,

2
In realtà, per curiosità, cosa rappresenta il "numero di utenti"?
Adam Houldsworth,

6
Sei curioso della popolarità complessiva di Git o dell'installazione di Git su Debian? I tuoi dati forniscono solo informazioni su una distribuzione Linux, ignorando ogni altra distribuzione Linux, insieme ai sistemi operativi BSD, Mac e Windows, ma stai ponendo una domanda generica sull'aumento dell'uso di uno strumento. Sulla base di alcune delle risposte, esiste una spiegazione specifica per Debian, ma non ci sono dati sufficienti per parlare della popolarità di Git rispetto alla popolarità di Mercurial tra tutti i potenziali utenti. Sembra che la domanda presentata sia basata su ipotesi errate.
Thomas Owens

32
Git è letteralmente esploso? Git non sembra affatto uno strumento sicuro. Grazie per l'avviso.
Jason,

4
Solo un po ', ma git è usato in molti altri pacchetti. Dai un'occhiata alla differenza tra apt-cache rdepends git-core, e apt-cache rdepends mercurial. Forse non ha nulla a che fare con git altro, quindi è incluso perché qualcuno ha installato qualche altro pacchetto comune. Ad esempio sono un utente di etckeeper e ikiwiki che entrambi si basano su git (penso che sia possibile usare anche mercurial). Ti suggerisco di dedicare un po 'di tempo a esaminare tutte le varie cose che dipendono o raccomandano git-core.
Zoredache,

Risposte:


48

Il pacchetto "gnuit" (GNU Interactive Tools, un browser / visualizzatore di file e visualizzatore di processi) è stato chiamato "git" in Debian fino al 09/09/2009, mentre git è stato chiamato "git-core".

Pertanto, un grafico migliore da guardare è:

Il che dimostra che la popolarità non è aumentata drammaticamente (prendi la linea verde per la parte sinistra fino a quando non si incrociano, quindi prendi la linea rossa).


17
Sembra ancora che nel 2010/2011 vi sia stato un drammatico aumento di popolarità. È passato da circa 13k installazioni di git-core (che è Git) nel 2010-01 a ben oltre 50k installazioni (cumulative di pacchetti git-core e git) nel 2011-01. Si tratta di un aumento di quasi 40.000 installazioni in un anno, un aumento molto più netto rispetto a qualsiasi altro aumento annuale.
Thomas Owens

3
Qualcuno su HN ha modificato l'immagine e sembra che ci sia ancora un drammatico aumento come menziona @ThomasOwens. i.imgur.com/PmYj7.png
Jungle Hunter

2
Sì, va ancora dalla crescita lineare all'esponenziale, il che è molto significativo, anche se non è stato così improvviso come appare per la prima volta
Ben Brocka,

3
@BenBrocka In realtà non va da lineare a lineare con un coefficiente più elevato? :) E probabilmente alla fine sarà logaritmico.
kreativitea,

2
@RussellBorogove: Sciocchezze. Il numero di lama volante bioluminescente a Gibuti sta aumentando esponenzialmente e mi aspetto che continuerà per sempre.
Lumaca meccanica

34

Il pacchetto git in Debian era precedentemente noto come git-core. Nell'aprile 2010 il pacchetto è stato rinominato git. Maggiori dettagli possono essere trovati in questo post sul blog di Julius Plenz o in questo impegno in Debian .

Ecco un grafico che mostra il numero di installazioni di entrambi gite git-corenel tempo:

Git-GitCore-Graph


1
Sarebbe bello avere uno screenshot del grafico qui. Se vuoi, posso aggiungerlo. :)
Jungle Hunter

1
+1. Questo grafico mostra meglio cosa è successo con la ridenominazione del pacchetto.
Jeff Ferland,

26

Stavo usando Darcs per i miei progetti per un po '. Sono passato a git durante la rapida ascensione a cui si riferisce il tuo grafico, quindi ecco la mia osservazione:

I sistemi di controllo del codice sorgente distribuito a quel tempo rappresentavano una vera e propria crisi. I cosiddetti programmatori alfa li utilizzavano di lato, ma non rientravano nel radar della maggior parte degli sviluppatori di software professionali. Il modo di guardare al mondo CVS / SVN / SourceSafe / TFS era uno di quelli con cui i programmatori in generale erano più o meno soddisfatti e la maggior parte delle persone supponeva che i problemi che avevano generato il sistema di controllo della fonte distribuito potessero essere risolti con strumenti migliori. Proprio come hai ottenuto un miglioramento passando da CVS -> SVN che un giorno ci sarebbe qualcosa che ti permetterebbe di andare SVN -> SVN ++. In quale altro modo gestiresti il ​​controllo del codice sorgente?

Poi venne Git. Ciò che ha costretto il git sul radar di tutti è stato che c'era un enorme progetto pubblico che l'ha immediatamente adottato. Git ha avuto molti utenti gratuitamente - se avessi intenzione di fare un serio hacking del kernel, hai usato git. Anche se non posso essere sicuro al 100%, scommetterei che in quel momento nessun altro DVCS aveva una base di utenti così ampia.

Quindi ha funzionato. Ha funzionato bene Ha funzionato bene in pubblico. Inoltre, per le sue verruche iniziali, all'epoca era più stabile della maggior parte dei DVCS concorrenti. Darcs, per esempio, potrebbe essere messo in uno stato incoerente che richiedeva un'utilità assurdamente complessa (quadratica? Fattoriale? Non riesco a ricordare con certezza, ma era una cosa cattiva ) da risolvere. Git è sempre stato più stabile.

Dalla sua base di utenti di grandi dimensioni è solo un po 'dissanguato.

Ogni progetto, commerciale o open source, ha bisogno di quella massa critica. Darcs non l'ha capito. Nemmeno Mercurial. Ripensare. Molti piccoli progetti lo usano. Probabilmente ci sono anche un numero di utenti commerciali. Ma qual è la tua grande storia di successo?

"Se è abbastanza buono per il kernel Linux, è abbastanza buono per te" è un argomento molto convincente.

Quindi, per riassumere, è stato un buon prodotto che è arrivato al momento giusto e ha ottenuto una base di utenti ampia e dedicata.


4
Penso che sia git che hg siano iniziati intorno al 2005, nel 2010 erano una tecnologia di 5 anni. Non li avrei chiamati mainstream, ma non credo neanche che il margine sanguinante sia corretto.
R0MANARMY,

10
come risponde alla domanda posta? "Cosa è successo nel 2010-01 che le cose improvvisamente cambiate" , come mostrato a schermo colpo
moscerino

2
@gnat Questo è lo stadio di sanguinamento / massa critica a cui mi riferivo.
Michael,

4
@Michael come la vedo io, la tua risposta non elabora molto su questo. Con tutto il rispetto, il modo in cui è formulato ora sembra più un'ipotesi selvaggia, uno sparo nel buio. "Allora a gennaio 2010, mi sembrava che stesse arrivando, c'era qualcosa nell'aria ..." Scusa non molto utile
moscerino del

1
I problemi che hanno generato il controllo del codice sorgente distribuito sono stati risolti con strumenti migliori. La SVN di oggi è di gran lunga migliore rispetto alla versione vecchia di anni che la gente di DVCS sembra ritenere ancora attuale, e risolve i problemi inerenti al vecchio modello senza introdurre tutti i nuovi mal di testa e la complessità aggiuntiva che DVCS porta sul tavolo.
Mason Wheeler,

13

Sono stato in ritardo ad adottare - passando da Mercurial a Git verso il 2010.

Il motivo per cui credo che Git sia diventato così popolare è a causa di siti come GitHub che hai avuto un effetto di rete negli strumenti di controllo della versione. Questo non era stato visto in precedenza, poiché si condivideva il codice su un progetto o su una base aziendale.

Ricordo in particolare il passaggio a Git e Github perché tutti i progetti che mi interessavano seguire e ai quali avevo contribuito avevano fatto lo stesso, così come gli sviluppatori a cui mi associo.

Questo è un effetto di rete.

GitHub era il livello di collaborazione basato sul Web più popolare basato su DVCS e Git ha finito per essere "abbastanza buono". Mercurial era sicuramente più facile da imparare e usare, Git ha molte sfumature, ma aveva un marchio solido grazie a Linus.

Solo perché GitHub è stato lanciato nel '08 e la crescita inizia nel '10 non significa che GitHub non sia responsabile. Se guardi i grafici della crescita competitiva in altre aree come i social network e la crescita di Facebook, la linea è molto simile.

Non vedi grafici di crescita del genere senza un effetto loop / rete virale.

Per es. confronta con un grafico della crescita di Facebook

grafico di crescita di Facebook

Aggiornamento: so che la fonte di cui sopra potrebbe non essere stata accurata, ma ci sono molte fonti di dati che dimostrano che Git è cresciuto in modo esponenziale negli ultimi anni.

Grafico 1: menzioni di Git negli annunci di lavoro

menzione di git negli annunci di lavoro

E il sondaggio Eclipse che mostra che la quota di mercato di Git è passata dal 13% nel 2011 al 27% nel 2012 . Crescita incredibile.

Questo post fornisce una spiegazione molto migliore della crescita di Git e degli effetti di rete rispetto a quello che ho fatto qui.


9
C'è una grande differenza tra un aumento esponenziale (come vediamo con il grafico di Facebook) e il grafico originale incluso nella domanda. Se si credesse a quel grafico, c'è una drammatica discontinuità nella pendenza in un punto specifico - ciò implicherebbe un evento accaduto, non un effetto di rete. E in effetti, dalle altre risposte sembra che questo evento sia stato il pacchetto rinominato! :)
inamidato il

Questo grafico potrebbe essere sbagliato, ma ci sono altri sondaggi che dimostrano che la crescita di Git è stata esponenziale. Per es. The Eclipse Survey come discusso in questo post (che fa lo stesso punto che sto facendo, ma in un modo molto migliore): jamesmckay.net/2012/06/…
nikcub

Il link mckay è interrotto. Ecco la versione di Wayback Machine .
Faheem Mitha,

5

Giusto per chiarire, questo grafico mostra l'installazione di git su sistemi debian.

Intorno al momento in cui si verifica il picco, il pacchetto Debian è stato rinominato da git-core a git. Forse le persone hanno trovato il pacchetto più semplice ora che il nome rifletteva il software.


5

Sono sorpreso che nessuno abbia menzionato Github come uno dei motivi principali per cui Git ha guadagnato popolarità . Hanno spinto Git mainstream.

Github è stato lanciato nell'aprile 2008 e dopo 1-2 anni ha guadagnato popolarità. E poi quando vedi un'improvvisa esplosione dell'uso di git / git-core è principalmente dovuta agli utenti di 2Milioni di github e ai loro 3,7 milioni di repository. Github ha reso git facile da usare. Bitbucket era lì, ma Github lo ha reso semplice. Sono sicuro che se i ragazzi di Github scegliessero Hg al posto di Git, avremmo dovuto vedere lo stesso aumento nell'uso di Hg.

L'analogia può essere: canonica: Linux :: Github: Git


Sono assolutamente d'accordo. Github rende il controllo delle revisioni divertente, facile da capire e molto utile con tutti questi repository open-source. Sono secondo me il motivo per cui Git è diventato così grande.
d34n5,

1

Bene, IMHO, i VCS distribuiti come Hg e Git sono intrinsecamente migliori di un VCS centralizzato, quindi SVN avrebbe sempre perso uno di questi.

E git, come è già stato osservato, ha avuto l'enorme vantaggio rispetto a Hg di essere stato utilizzato dal più grande e riuscito progetto open source del pianeta - è un vero e proprio record, sin dall'inizio.

Per quanto riguarda il motivo per cui l'improvvisa esplosione all'inizio del 2010, la mia ipotesi è abbastanza prosaica. Git è geniale, ma non è estremamente intuitivo per un principiante.

Il miglior libro Git, IMHO, è Pro Git, che è stato pubblicato nel settembre 2009. Il secondo miglior (di nuovo IMHO), il libro Git di O'Reilly, è stato pubblicato nel giugno 2009.

Quindi la ragione per cui l'esplosione di Git è esplosa all'inizio del 2010 potrebbe essere tanto semplice quanto il fatto che era quando erano davvero disponibili buone risorse per imparare a usarla.


1
SVN non è mai stato un VCS centralizzato leader in termini di diramazione e fusione. Hg e Git sono stati i primi VCS open source ad affrontare bene le ramificazioni e le fusioni. Non credo che centralizzato / distribuito abbia avuto molto a che fare con esso.
Ian,

1

La scelta di un sistema di controllo della versione è una decisione sociale. Tutti i team devono utilizzare la stessa soluzione. A differenza di un editor di testo, che è una decisione personale, diversi sviluppatori possono utilizzare diversi editor e collaborare facilmente.

Quindi ci sono effetti di rete nella scelta di un sistema di controllo della versione, facendo sì che i sistemi che potrebbero essere un po 'migliori o un po' più popolari diventino ancora più popolari.

Ad esempio, preferisco i darc per i progetti open source, ma ho scoperto che molti dei miei potenziali collaboratori avevano familiarità con git e ho ricevuto più contributi più prontamente per i progetti ospitati con git anziché con i darc. Quindi, finisco per usare git molto invece darc. Quindi, poiché lo uso e pubblico il codice su Github, sembra che lo avallo o che lo preferisca, il che potrebbe influenzare gli altri a usarlo.

Gli sviluppatori non vogliono imparare un nuovo sistema di controllo del codice sorgente per ogni progetto a cui contribuiscono, quindi è vantaggioso per la comunità generale avere uno standard "abbastanza buono" e ampiamente popolare, quindi avere ogni team e progetto scegliere il "migliore "soluzione nel vuoto.

Github ha aggiunto solo carburante al fuoco dell'effetto rete.


-1

Guardando il grafico corretto nella risposta di Michael, che mostra sia git-core che git sui sistemi Debian, la domanda sembra essere il motivo per cui git ha iniziato a diventare popolare nel 2006 sui sistemi Debian e perché è cresciuto esponenzialmente tra il 2006-2012.

La ragione potrebbe essere la forte adozione delle distribuzioni Linux basate su Debian, come Ubuntu, che ha iniziato a diventare popolare intorno al 2005-2006 e divenne la prima distribuzione fino al 2011, quando Mint, anch'essa basata su Debian, divenne la numero 1. Alla fine del 2012, Mint è ancora n. 1 e Ubuntu n. 3 secondo DistroWatch .

GitHub, fondata nel 2008, ha fornito l'hosting gratuito di git e tra il 2008 e il 2012 è diventato il servizio di repository di fonti n. 1 al mondo con circa 2,5 milioni di utenti e circa 4,5 milioni di progetti , secondo Wikipedia alla fine del 2012.

Rails e molti altri progetti sono passati da Rubyforge a GitHub alla fine degli anni 2000. Inoltre, Bundler è stato introdotto all'epoca in questione in origine (fine 2009) con supporto per l'installazione / aggiornamento di gemme tramite :gitun'opzione nel Gemfile e Bundler è stato incluso come dipendenza di Rails 3. Progetti in Python, Javascript, C, C ++ , Java, CSS, ecc. Sono anche migrati o avviati su GitHub.

Coloro che volevano contribuire ai progetti su GitHub dovevano biforcare il progetto in GitHub, utilizzare un client git locale per clonare il repository prima di apportare modifiche e reinserirle in GitHub e fare una richiesta pull. Questo è stato molto più semplice rispetto ad altri metodi utilizzati in precedenza e probabilmente è stato un motivo significativo per cui è stato adottato dai progetti che si sono trasferiti su GitHub o che hanno deciso di iniziare lì. Ciò significava che git-core / git doveva essere installato nelle distribuzioni basate su Debian in modo che gli sviluppatori potessero usare GitHub.

Quindi, credo che sia stata una combinazione di distro basate su Debian a diventare più popolare e ad adottare l'adozione di git a causa della crescita di GitHub in utenti e progetti, che probabilmente deriva dall'hosting e dall'esperienza utente di GitHub.


-2

Penso che molte persone confondano la correlazione con la causalità.

I grafici presentati mostrano tutti le correlazioni tra misure di popolarità ed eventi gits ... e altre misure. Tuttavia, una correlazione non è una chiara evidenza di causalità.

Alcune altre risposte tentano di stabilire relazioni con altre cose; ad es. l'evangelismo di Linus Torsvalds per DVCS, la formazione di Github, l'ascesa dei social network. Mentre ci sono prove di correlazione (su una linea del tempo) non è così forte, ciò non esclude la causalità. Soprattutto se si accetta l'ipotesi "effetto rete"; cioè che ci sono più cause.

La linea di fondo, è che il tipo di evidenza disponibile non può mostrare la causalità. Stiamo parlando del comportamento collettivo di centinaia di migliaia di persone e le persone prendono decisioni per ragioni diverse ... o nessuna ragione logica. I programmatori non sono diversi da chiunque altro.

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.