¿Por qué muchos programadores mueven su código a github?

114

Durante los últimos 6 meses o más, he visto muchos códigos alojados en sourceforge.net, así como otros sitios de alojamiento "Move to GitHub". Una simple búsqueda en Google con la frase "Movido a Github" devuelve varios resultados que contienen el texto movido a Github. Esto es muy confuso para mí, y me pregunto, ¿por qué exactamente se está mudando la gente? ¿Significa que GitHub es mejor o hay alguna ventaja especial que no estoy viendo?

Chibueze Opata
fuente
16
También agregaría que ningún sitio hace que sea más fácil interactuar con el código de inmediato que github. La mayoría de los sitios ocultan el código fuente detrás de varios menús. Github también incluye enlaces a casi cualquier otra tarea que pueda hacer allí mismo en el hogar del proyecto sin toda la basura en todas partes (mirando su fuente forjada ).
Xeoncross
2
Me preguntaba lo mismo, así que fui y me inscribí, y muy pronto también me vendieron. Cambié todos mis proyectos y también conseguí que todos mis clientes participaran.
lorddev
77
porque github es un buen lugar y git es mejor que cvs?
44
SourceForge comenzó a agregar adware a las versiones binarias de Windows de sus desarrolladores; uno de los servidores de distribución de SF en Corea se vio comprometido.
Deer Hunter
1
Laucnpad es un delincuente aún peor al ocultar la fuente. Lo que destaca es algunas "Series e hitos" -> trunk -> "Código para esta serie: La siguiente rama se ha registrado como la rama principal para esta serie de lanzamiento: lp: ~ USER / PROJ / trunk" -> otro metadato página para el tronco? donde esta el codigo oh sí, -> "Explorar el código" ... En realidad, ahora finalmente noté que había "Explorar el código" en la primera página. Pero todas estas páginas de metadatos iguales pero sutilmente diferentes son desconcertantes.
Beni Cherniavsky-Paskin

Respuestas:

102

Este es un síntoma de una migración más amplia hacia sistemas de control de versiones distribuidos .

Algunos sitios web que tradicionalmente alojaban VCS no distribuido (por ejemplo, Codeplex y SourceForge) tardaron un poco en agregar soporte para DVCS (por ejemplo, Git o Mercurial). Entonces, las personas que querían usar DVCS para su proyecto se vieron obligadas a migrar sus proyectos a los proveedores que los apoyaban (por ejemplo, Github o BitBucket). Github fue uno de los primeros en ofrecer soporte para DVCS y, naturalmente, mucha gente migró su código allí para aprovecharlo.

Esos otros sitios web solo ahora están comenzando a ponerse al día con DVCS (Codeplex, por ejemplo, ahora es compatible con Mercurial & Git), pero todavía están muy por detrás en términos de características como bifurcación y envío de solicitudes de extracción. Para aprovechar realmente DVCS, Github y Bitbucket siguen siendo las mejores opciones.

MattDavey
fuente
46
También tenga en cuenta que el conjunto de características de GitHub rápidamente se volvió mucho más atractivo que cualquier otro alojamiento de DVCS ofrecido (incluido el alojamiento propio). Entonces, parte de la respuesta es que GitHub es sexy. :-)
Martijn Pieters
49
@MartijnPieters: ... excepto el alojamiento privado gratuito, que BitBucket había estado ofreciendo durante años.
Den
17
Otros sitios web ofrecen DVCS. En el caso particular de SourceForge, simplemente creo que la razón es que el sitio web es absolutamente horrible, sin importar los sistemas de control de versiones compatibles.
Konrad Rudolph el
17
@ Den Sí, realmente no sé por qué BitBucket no es más popular. Tiene alojamiento privado y le permite elegir entre Git o Mercurial (que me gusta mucho más Mercurial)
Earlz
11
Github y Bitbucket operan en dos modelos de negocio diferentes. Github ofrece casi su "conjunto completo de funciones de forma gratuita y le hace pagar por repositorios privados (excluya los planes Bronce gratuitos que ofrece a cualquier persona con una dirección de correo electrónico .edu . Bitbucket ofrece alojamiento público y privado, pero le cobra por la productividad [con suerte] -Aumentar extras. Si no tiene una razón para ocultar su código, Github parece ser el modelo más lógico. Creo que Bitbucket está por venir, sin embargo, ciertamente me gusta Sourcetree mejor que la GUI nativa de Github (no es que realmente usar cualquiera) ..
David Cowden
45

El alojamiento de proyectos es infraestructura. La infraestructura exhibe efectos de red, lo que significa que la infraestructura se vuelve más útil a medida que más personas están conectadas a ella. (En particular, la utilidad es O (número_de_conexiones), lo que significa que para cualquier miembro individual es O (total_members) y para todo el sistema es O (total_members ^ 2)). Esto, a su vez, conduce a un efecto llamado monopolio natural, lo que significa que es natural para un sistema tal que solo un competidor sobrevivirá, ya que la utilidad se maximiza cuando todos usan el mismo sistema.

Entonces, tiene sentido unirse al líder del mercado, que es GitHub. Hay más repositorios, más usuarios, más sucursales, más revisiones, más todo en GitHub que en SourceForge, Google Code y CodePlex combinados .

La pregunta interesante es, por supuesto, si los efectos de la red significan que el líder del mercado obtiene automáticamente un monopolio natural, ¿cómo pudo GitHub romper los de SourceForge?

Y la respuesta es, al ser tan disruptivo que el dolor de unirse a una infraestructura mucho más pequeña valió la pena para los primeros usuarios:

  • GitHub fue el primero en ofrecer alojamiento Git con un conjunto de características comparable al de SourceForge (o al menos esa parte de SourceForge que la mayoría de la gente usaba)
  • GitHub era genial, desde el punto de vista de la interfaz de usuario: interfaz de usuario web moderna y elegante
  • GitHub era genial, en cuanto a tecnología: Ruby on Rails, Sinatra, Erlang, node.js
  • GitHub era Web 2.0, con su enfoque en la codificación social y usuarios sobre proyectos
Jörg W Mittag
fuente
66
+1 para la explicación de los efectos de red. Pero realmente creo que SourceForge era mucho más grande que Github antes de las repentinas migraciones desenfrenadas ... y casi
suenas
2
Además, considere la creación del cliente GitHub para Windows : por primera vez, como desarrollador de Windows, no me siento un ciudadano de segunda clase cuando se trata de usar Git para el control de código fuente, y GitHub es responsable de eso.
Carson63000
25

Creo que una de las razones es una audiencia diferente: sourceforge es principalmente para alojar aplicaciones , probablemente la característica más destacada de una página de proyecto es un enlace al ejecutable compilado (o alguna otra descarga). En otras palabras, está dirigido a usuarios , no a desarrolladores.

Por otro lado, github es principalmente para alojar el código fuente , la característica más destacada de la página del proyecto es la lista de directorios de la mastersucursal. Está dirigido a los desarrolladores (ya sea que quieran modificar o usar el código de un proyecto), no a los usuarios.

Creo que esta es una de las razones por las cuales las herramientas y bibliotecas orientadas al desarrollador se están moviendo a Github.

svick
fuente
15

Sourceforge también ofrece Git , pero Github lo hace mejor (por ahora).

  • Su sistema de solicitud de extracción funciona bien (mucho mejor que Gitorious, por ejemplo)
  • Su notificación actualizada recientemente es muy conveniente.
  • Muestran el código de inmediato

Su característica principal , en mi opinión, es el "gráfico de red":

ingrese la descripción de la imagen aquí

Diferencia con gitk: también muestra lo que está sucediendo en las ramas de otras personas (sin tener que tirar de sus ramas), lo cual es muy importante al colaborar.

Nicolas Raoul
fuente
10
+1 Todos sabemos que al final, los gráficos son lo único que importa.
Xeoncross
2
También es fantástico para encontrar la sucursal más mantenida. Recientemente tuve que encontrar qué bifurcación de cierto repositorio se mantenía realmente (no trivial porque las bifurcaciones más actualizadas aún no habían aparecido en la parte superior de una búsqueda en Google).
beatgammit
1
Además, parece que Github puede mostrar estadísticas de clonación, mientras que no puedo encontrar una sola forma de hacerlo en sourceforge :(
Aquarius Power
11

GitHub es simple, fácil de usar, fácil de comenzar, potente y se ve muy bien y es Web 2.0-ish.

Uso GitHub, y me parece notablemente más fácil de usar que SourceForge, que tenía su poder oculto detrás de una serie de menús y requería operaciones bastante elaboradas para configurar todo. Y yo soy programador.

Además, creo que hay una característica más poderosa: ya sea un individuo que quiera publicar su primer proyecto de código abierto en algún lugar, o equipos que quieran colaborar en un proyecto comercial (privado), GitHub "escala" perfectamente para casi todos casos de uso

Al final del día, creo que se trata de psicología humana. ¿El producto es fácil de usar, fácil de usar, económico (o gratuito) ... se ve bien y es algo que recomendaría a mis amigos? Para GitHub, respondería sí a todas esas preguntas.

Suman
fuente
Con el código de Google, puedo destacar los problemas, lo que les permite a los desarrolladores saber qué problemas son importantes para la comunidad y me ayuda a realizar un seguimiento del progreso. Parece que Github solo tiene seguidores anónimos, lo que puede generar comentarios no deseados (+1, yo también, etc.). Esto es significativo para proyectos populares con recursos limitados.
beatgammit
5

También debes tener en cuenta algunas características impresionantes que ofrece github que aún no he visto mencionadas.

  • páginas de github con descuento de github con sabor
  • aplicación móvil github
  • plugin github eclipse
  • github para mac
  • trabajos de github
  • github para windows
  • sistema de tickets / seguimiento de errores de github
  • API de desarrollador de Github que permite una integración perfecta de terceros
  • actualizaciones / mejoras frecuentes de la interfaz de usuario (literalmente puede ver los cambios de un día para otro, es decir, el cuadro de texto de búsqueda ahora se expande dinámicamente en el foco , el reloj se convirtió en el nuevo botón de estrella, etc.)
  • GitHub GIST (bueno para las secuencias de comandos de utilidad, fragmentos de código cortos, etc.)
  • integración perfecta de github a través de hub

Otros sitios pueden tener estas características, pero estoy bastante seguro de que ningún sitio los tiene todos.

Estos chicos están prácticamente en todas partes ... dispersando lentamente sus ventajas técnicas en la web y el escritorio por igual. Solo estamos creciendo y mejorando mientras hablamos y contratan a los mejores ingenieros (incluso lograron robar a Phil Haack de Microsoft ... imagínense).

A-Dubb
fuente
4

Una razón adicional que puede estar atrayendo desarrolladores adicionales a GitHub es que las herramientas de desarrollo están comenzando a adoptar git, y las plataformas como Eclipse ahora tienen soporte Git incorporado de fábrica (se aplica a los paquetes para desarrolladores Java, C ++, etc.). se necesitan menos pasos para subir su proyecto a GitHub.

Jessica Brown
fuente
1
Otro IDE que agregó compatibilidad con Git es Visual Studio, en la versión 2013 y posteriores. Consulte msdn.microsoft.com/en-us/library/hh850437.aspx para obtener más detalles
Bernard Vander Beken,
-1

Para ser honesto, lo más importante de Git para mí cuando lo veo: 1. Gráfico de red o debería llamar al historial (también comentando) 2. Solicitud de bifurcación y extracción 3. Es más poderoso, realmente, diría que es así ¡Siento que tengo una secretaria sosteniendo todo mi trabajo, y puedo decirle a ese segundo que escriba cualquier cosa para mí, el cambio, todo! 4. Es fácil revertir

Solo esto. Se siente sexy usándolo

Benyamin Limanto
fuente
err, ¿por qué llegué abajo?
Benyamin Limanto
Si bien creo que tuvo buenas intenciones al responder la pregunta, no creo que su respuesta agregue mucho a la respuesta que estaba solicitando el OP. Suena como su respuesta a "¿Por qué los programadores están moviendo su código a github?" es "porque me gusta". Probablemente, otras respuestas aquí sean mejores y es por eso que alguien rechazó el voto.
Frank Bryce