¿Por qué el aumento repentino en el número de remitentes de Git en el gráfico popcon de Debian en 2010-01?

86

Casi todos los artículos que he leído 1 comparando Git y Mercurial parece que Mercurial tiene una mejor línea de comando UX con cada comando limitado a una sola idea (a diferencia de decir git checkout).

Pero en algún momento, Git de repente se volvió súper popular y el número de remitentes de Git en el gráfico popcon de Debian (ver imagen del gráfico a continuación) explotó literalmente.

Git vs.Mercurial popularidad

Fuente: Debian

Lo que sucedió en 2010-01 que las cosas cambiaron repentinamente. Parece que GitHub se fundó antes que eso: 2008.

desconocido
fuente
23
Bueno, en algún momento Github golpeó un punto de inflexión y despegó. Dudo que fuera git por sí mismo. Me pregunto si alguien podría correlacionar la popularidad de gits con la popularidad de githubs.
Doug T.
2
En realidad, por curiosidad, ¿qué representa el "número de participantes"?
Adam Houldsworth
66
¿Tiene curiosidad sobre la popularidad general de Git o la instalación de Git en Debian? Sus datos solo proporcionan información sobre una distribución de Linux, ignorando cualquier otra distribución de Linux, junto con los sistemas operativos BSD, Mac y Windows, sin embargo, está haciendo una pregunta genérica sobre el aumento en el uso de una herramienta. Según algunas de las respuestas, hay una explicación específica de Debian, pero no hay datos suficientes para hablar de la popularidad de Git versus la popularidad de Mercurial en todos los usuarios potenciales. Parece que la pregunta presentada se basa en suposiciones erróneas.
Thomas Owens
32
Git literalmente explotó? Git no suena como una herramienta segura en absoluto. Gracias por la advertencia.
Jason
44
Sin embargo, solo git se usa en una gran cantidad de otros paquetes. Eche un vistazo a la diferencia entre apt-cache rdepends git-core, y apt-cache rdepends mercurial. Quizás no tenga nada que ver con git, aparte de que está incluido porque alguien instaló algún otro paquete común. Por ejemplo, soy un usuario de etckeeper e ikiwiki, ambos basados ​​en git (creo que también es posible usar mercurial). Le sugiero que se tome un tiempo y mire todas las cosas que dependen o recomiendan git-core.
Zoredache

Respuestas:

48

El paquete "gnuit" (GNU Interactive Tools, un buscador / visor de archivos y visor de procesos) se llamaba "git" en Debian hasta el 2009-09-09, mientras que git se llamaba "git-core".

Por lo tanto, un mejor gráfico para mirar es:

Lo que muestra que la popularidad no aumentó dramáticamente (tome la línea verde para la parte izquierda hasta que se crucen, luego tome la línea roja).

Miguel
fuente
17
Todavía parece que en 2010/2011, hubo un aumento dramático en la popularidad. Pasó de unas 13k instalaciones de git-core (que es Git) en 2010-01 a más de 50k instalaciones (acumulativas de paquetes git-core y git) en 2011-01. Eso es un aumento de casi 40k instalaciones en un año, un aumento mucho más pronunciado que cualquier otro aumento anual.
Thomas Owens
3
Alguien en HN editó la imagen y todavía parece haber un aumento dramático como menciona @ThomasOwens. i.imgur.com/PmYj7.png
Jungle Hunter
2
Sí, todavía pasa del crecimiento lineal al exponencial, lo cual es muy significativo, incluso si no fue tan repentino como parece
Ben Brocka, el
3
@BenBrocka ¿No va eso realmente de lineal a lineal con un coeficiente más alto? :) Y es probable que finalmente sea logarítmico.
kreativitea
2
@RussellBorogove: Tonterías. El número de llamas voladoras bioluminiscentes en Djibouti está aumentando exponencialmente, y espero que continúe para siempre.
Caracol mecánico
34

El paquete git en Debian se conocía anteriormente como git-core. En abril de 2010 se cambió el nombre del paquete a git. Se pueden encontrar más detalles en esta publicación de blog de Julius Plenz o esta confirmación en Debian .

Aquí hay un gráfico que muestra el número de instalaciones de ambos gity git-corecon el tiempo:

Git-GitCore-Graph

noqqe
fuente
1
Sería bueno tener una captura de pantalla del gráfico aquí. Si te gusta puedo agregarlo. :)
Jungle Hunter
1
+1. Este gráfico demuestra mejor lo que sucedió con el cambio de nombre del paquete.
Jeff Ferland el
26

Estuve usando Darcs para mis propios proyectos por un tiempo. Cambié a git durante la rápida ascensión a la que se refiere su gráfico, así que aquí está mi observación:

Los sistemas de control de fuente distribuidos aproximadamente en ese momento eran algo innovador. Los llamados programadores alfa los usaban de forma paralela, pero quedaban fuera del radar de la mayoría de los desarrolladores de software profesionales. La forma de ver el mundo de CVS / SVN / SourceSafe / TFS fue algo con lo que los programadores en general estaban más o menos contentos y la mayoría de la gente asumió que los problemas que generaron el sistema de control de fuente distribuido podrían solucionarse con mejores herramientas. Así como obtuviste una mejora al pasar de CVS -> SVN a que algún día habría algo que te permitiría ir a SVN -> SVN ++. ¿De qué otra forma gestionarías el control de código fuente?

Luego vino git. Lo que forzó a git al radar de todos fue que hubo un gran proyecto público que lo adoptó de inmediato. Git consiguió muchos usuarios de forma gratuita: si ibas a hacer un hackeo serio del kernel, usabas git. Si bien no puedo estar 100% seguro, apostaría a que en ese momento ningún otro DVCS tenía una base de usuarios tan grande.

Entonces funcionó. Funcionó bien Funcionó bien en público. También, para sus verrugas iniciales, era más estable que la mayoría de los DVCS concurrentes en ese momento. Darcs, por ejemplo, podría ponerse en un estado inconsistente que requiriera una utilidad absurdamente compleja (¿cuadrática? ¿Factorial? No puedo recordarlo con seguridad, pero fue malo ) para solucionarlo. Git siempre ha sido más estable.

Desde su gran base de usuarios, simplemente se desangra.

Todo proyecto, comercial o de código abierto, necesita esa masa crítica. Darcs no lo entendió. Tampoco Mercurial. Piensa de nuevo. Muchos proyectos más pequeños lo usan. Probablemente hay incluso una serie de usuarios comerciales. Pero, ¿cuál es tu gran historia de éxito?

"Si es lo suficientemente bueno para el kernel de Linux, es lo suficientemente bueno para usted" es un argumento muy convincente.

Entonces, para resumir, fue un buen producto que apareció en el momento adecuado y obtuvo una gran base de usuarios dedicada.

Miguel
fuente
44
Creo que tanto git como hg comenzaron alrededor de 2005, en 2010 eran tecnología de 5 años. No los habría llamado mainstream, pero tampoco creo que edge edge sea ​​correcto.
R0MANARMY
10
¿Cómo responde eso a la pregunta formulada? "Lo que sucedió en 2010-01 que las cosas cambiaron repentinamente" como se muestra en la captura
mosquito
2
@gnat Esa es la etapa de sangrado / masa crítica a la que me refería.
Michael
44
@Michael, tal como lo veo, tu respuesta no explica mucho sobre eso. Con el debido respeto, la forma en que está redactada ahora parece más una conjetura salvaje, un tiro en la oscuridad. "En aquel entonces, en enero de 2010, sentí que se acercaba, había algo en el aire ..." No fue de mucha ayuda, lo siento
mosquito el
1
Los problemas que generaron el control de fuente distribuida se han solucionado con mejores herramientas. El SVN de hoy es mucho mejor que la versión de hace años que la gente de DVCS parece pensar que todavía es actual, y soluciona los problemas inherentes con el modelo antiguo sin introducir todos los nuevos dolores de cabeza y la complejidad adicional que DVCS trae a la mesa.
Mason Wheeler
13

Fui un adoptante tardío, cambiando de Mercurial a Git alrededor de 2010.

La razón por la que creo que Git se hizo tan popular es porque sitios como GitHub tuvieron un efecto de red en las herramientas de control de versiones. Esto no se había visto anteriormente, ya que compartiría el código según el proyecto o la empresa.

Recuerdo específicamente cambiar a Git y Github porque todos los proyectos que me interesaban seguir y en los que contribuí habían hecho lo mismo, así como a los desarrolladores con los que me asocio.

Ese es un efecto de red.

GitHub era la capa de colaboración basada en web más popular construida en DVCS y Git terminó siendo "lo suficientemente bueno". Mercurial fue ciertamente más fácil de aprender y usar, Git tiene muchos matices, pero tenía una marca sólida debido a Linus.

Solo porque GitHub se lanzó en el '08 y el crecimiento comienza en el '10 no significa que GitHub no sea responsable. Si observa las tablas de crecimiento competitivas en otras áreas, como las redes sociales y el crecimiento de Facebook, la línea es muy similar.

No ves gráficos de crecimiento como ese sin un efecto de bucle viral / red.

Por ej. comparar con un gráfico de crecimiento de Facebook

tabla de crecimiento de facebook

Actualización: Sé que la fuente anterior puede no haber sido precisa, pero hay muchas fuentes de datos que demuestran que Git ha estado creciendo de manera exponencial en los últimos años.

Gráfico 1: Menciones de Git en anuncios de trabajo

mención de git en anuncios de trabajo

Y la encuesta de Eclipse que muestra que la cuota de mercado de Git pasó del 13% en 2011 al 27% en 2012 . Increíble crecimiento.

Esta publicación explica mucho mejor el crecimiento de Git y los efectos de red que lo que he hecho aquí.

nikcub
fuente
99
Hay una gran diferencia entre un aumento exponencial (como vemos con el gráfico de Facebook) y el gráfico original que incluye la pregunta. Si se creyera ese gráfico, hay una discontinuidad dramática en la pendiente en un punto específico, lo que implicaría algún evento que sucedió, no un efecto de red. Y, de hecho, ¡según otras respuestas, este evento fue el nombre del paquete! :)
starwed
Este gráfico puede estar equivocado, pero hay otras encuestas que demuestran que el crecimiento de Git ha sido exponencial. Por ej. La encuesta de Eclipse como se discutió en esta publicación (que hace el mismo punto que estoy haciendo, pero de una manera mucho mejor): jamesmckay.net/2012/06/…
nikcub
El enlace mckay está roto. Aquí está la versión de Wayback Machine .
Faheem Mitha
5

Solo para dejar en claro, este gráfico muestra la instalación de git en sistemas debian.

Alrededor del momento en que ocurre el pico, el paquete Debian cambió su nombre de git-core a git. Tal vez la gente encontró el paquete más fácil ahora que el nombre reflejaba el software.

Peter van der Does
fuente
5

Me sorprende que nadie haya mencionado a Github como una de las principales razones para que Git gane popularidad . Empujaron git mainstream.

Github se lanzó en abril de 2008 y en 1-2 años, ganaron popularidad. Y luego, cuando ves una explosión repentina del uso de git / git-core se debe principalmente a los 2 millones de usuarios de github y sus 3.7 millones de repositorios. Github hizo que git sea fácil de usar. Bitbucket estaba allí, pero Github lo hizo sin esfuerzo. Estoy seguro de que si los chicos de Github eligieron Hg en lugar de git, deberíamos haber visto el mismo aumento en el uso de Hg.

La analogía puede ser: Canonical: Linux :: Github: Git

John
fuente
Estoy absolutamente de acuerdo. Github hace que el control de revisiones sea divertido, fácil de entender y muy útil con todos estos repositorios de código abierto. En mi opinión, son la razón por la que Git se hizo tan grande.
d34n5
1

Bueno, en mi humilde opinión, los VCS distribuidos como Hg y Git son inherentemente mejores que un VCS centralizado, por lo que SVN siempre iba a perder con uno de ellos.

Y git, como ya se ha observado, tenía la gran ventaja sobre Hg de que fue utilizado por el proyecto de código abierto más grande y exitoso del planeta, eso es un historial excelente, desde el principio.

En cuanto a por qué la explosión repentina a principios de 2010, mi suposición es bastante prosaica. Git es brillante, pero no es enormemente intuitivo para un principiante.

El mejor libro de Git, en mi humilde opinión, es Pro Git, que se publicó en septiembre de 2009. El segundo mejor (en mi humilde opinión), el libro de O'Reilly's Git, se publicó en junio de 2009.

Por lo tanto, la razón por la cual el uso de Git explotó a principios de 2010 podría ser tan simple como el hecho de que fue cuando los recursos realmente buenos para aprender cómo usarlo estuvieron disponibles.

djh
fuente
1
SVN nunca fue un VCS centralizado líder en lo que respecta a la ramificación y fusión. Hg y Git fueron los primeros VCS de código abierto que se adaptaron bien a la ramificación y fusión. No creo que centralizado / distribuido haya tenido tanto que ver con eso.
Ian
1

Elegir un sistema de control de versiones es una decisión social. Todo el equipo necesita usar la misma solución. A diferencia de un editor de texto, que es una decisión personal: diferentes desarrolladores pueden usar diferentes editores y colaborar fácilmente.

Por lo tanto, hay efectos de red al elegir un sistema de control de versiones, lo que hace que los sistemas que pueden ser un poco mejores o un poco más populares se vuelvan aún más populares.

Por ejemplo, prefiero darcs para proyectos de código abierto, pero descubrí que más de mis contribuyentes potenciales estaban familiarizados con git, y recibí más contribuciones más fácilmente para proyectos alojados con git en lugar de darcs. Entonces, termino de usar git mucho en lugar de darcs. Luego, como lo uso y publico código en Github, parece que lo apruebo o incluso lo prefiero, lo que podría influir en que otros lo usen.

Los desarrolladores no quieren aprender un nuevo sistema de control de fuente para cada proyecto al que contribuyen, por lo que beneficia a la comunidad en general tener un estándar que sea "suficientemente bueno" y ampliamente popular, y que cada equipo y proyecto elija el "mejor "solución en el vacío.

Github solo agregó combustible al fuego del efecto de red.

Mark Stosberg
fuente
-1

Mirando el gráfico corregido en la respuesta de Michael, que muestra tanto git-core como git en los sistemas Debian, la pregunta parece ser por qué git comenzó a popularizarse en 2006 en los sistemas Debian y por qué creció exponencialmente entre 2006-2012.

La razón podría ser la fuerte adopción de distribuciones de Linux basadas en Debian, como Ubuntu, que comenzó a popularizarse alrededor de 2005-2006 y se convirtió en la distribución # 1 hasta alrededor de 2011, cuando Mint, también basada en Debian, se convirtió en # 1. A finales de 2012, Mint sigue siendo # 1 y Ubuntu # 3 según DistroWatch .

GitHub, fundada en 2008, proporcionó alojamiento gratuito de git, y entre 2008 y 2012 se convirtió en el servicio de repositorio de fuentes n. ° 1 en el mundo con ~ 2.5 millones de usuarios y ~ 4.5 millones de proyectos , según Wikipedia a fines de 2012.

Rails y muchos otros proyectos cambiaron de Rubyforge a GitHub a fines de la década de 2000. Además, Bundler se introdujo alrededor del tiempo originalmente en cuestión (finales de 2009) con soporte para instalar / actualizar gemas a través de una :gitopción en Gemfile, y Bundler se incluyó como una dependencia de Rails 3. Proyectos en Python, Javascript, C, C ++ , Java, CSS, etc. también migraron o comenzaron en GitHub.

Aquellos que quisieran contribuir a los proyectos en GitHub necesitaban bifurcar el proyecto en GitHub, usar un cliente git local para clonar el repositorio antes de hacer modificaciones y empujarlos nuevamente a GitHub y hacer una solicitud de extracción. Esto era mucho más simple que otros métodos utilizados anteriormente y podría decirse que era una razón importante por la que fue adoptado por los proyectos que se trasladaron a GitHub o decidieron comenzar allí. Esto significaba que git-core / git necesitaba ser instalado en las distribuciones basadas en Debian para que los desarrolladores pudieran usar GitHub.

Por lo tanto, creo que fue una combinación de distribuciones basadas en Debian que se hicieron más populares y crecieron en la adopción de git debido al crecimiento de GitHub en usuarios y proyectos, lo que probablemente se deba a la experiencia de usuario y alojamiento gratuito de GitHub.

Gary S. Weaver
fuente
-2

Creo que mucha gente confunde la correlación con la causalidad.

Los gráficos presentados muestran todas las correlaciones entre las medidas de popularidad de gits y eventos ... y otras medidas. Sin embargo, una correlación no es una evidencia clara de causalidad.

Algunas otras respuestas intentan establecer relaciones con otras cosas; por ejemplo, el evangelismo de Linus Torsvalds para DVCS, la formación de Github, el surgimiento de las redes sociales. Si bien existe evidencia de que la correlación (en una línea de tiempo) no es tan fuerte, eso no excluye la causalidad. Especialmente si acepta la hipótesis del "efecto de red"; es decir, que hay múltiples causas.

La conclusión es que el tipo de evidencia disponible no puede mostrar causalidad. Estamos hablando del comportamiento colectivo de cientos de miles de personas, y las personas toman decisiones por diferentes razones ... o ninguna razón lógica en absoluto. Los programadores no son diferentes a los demás.

Stephen C
fuente