Warum verschieben viele Programmierer ihren Code auf Github?

114

In den letzten 6 Monaten oder länger habe ich viele Codes auf sourceforge.net sowie auf anderen Hosting-Sites "Move to GitHub" gesehen. Eine einfache Google-Suche mit der Phrase "Auf Github verschoben" gibt mehrere Ergebnisse zurück, die den nach Github verschobenen Text enthalten. Das ist sehr verwirrend für mich und ich frage mich, warum genau sich Menschen bewegen. Bedeutet das, dass GitHub besser ist oder gibt es einen besonderen Vorteil, den ich nicht sehe?

Chibueze Opata
quelle
16
Ich möchte auch hinzufügen, dass es keine Site einfacher macht, sofort mit Code zu interagieren als github. Die meisten Sites verstecken den Quellcode hinter mehreren Menüs. Github enthält auch Links zu fast jeder anderen Aufgabe, die Sie direkt im Projekthaus ausführen können, ohne all den Müll überall (mit Blick auf SourceForge ).
Xeoncross
2
Ich habe mich das Gleiche gefragt, also habe ich mich angemeldet und war bald auch verkauft. Ich habe alle meine Projekte umgestellt und auch alle meine Kunden an Bord geholt.
Lorddev
7
weil github ein schöner ort ist und git besser ist als cvs?
4
SourceForge hat damit begonnen, Adware zu den Windows-Binärversionen seiner Entwickler hinzuzufügen. Einer der Distributionsserver von SF in Korea wurde kompromittiert.
Deer Hunter
1
Laucnpad ist ein noch schlimmerer Täter, wenn es darum geht, die Quelle zu verbergen. Was auffällt, sind einige "Serien und Meilensteine" -> Stamm -> "Code für diese Reihe: Der folgende Zweig wurde als Hauptzweig für diese Versionsreihe registriert: lp: ~ USER / PROJ / Stamm" -> noch weitere Metadaten Seite für Kofferraum? wo ist der code oh ja, -> "Durchsuchen des Codes" ... Eigentlich ist mir jetzt endlich aufgefallen, dass es direkt auf der ersten Seite "Durchsuchen des Codes" gibt. Aber all diese gleichermaßen, aber subtil unterschiedlichen Metadatenseiten sind verwirrend.
Beni Cherniavsky-Paskin

Antworten:

102

Dies ist ein Symptom für eine umfassendere Migration zu verteilten Versionskontrollsystemen .

Einige Websites, auf denen traditionell nicht verbreitetes VCS gehostet wurde (z. B. Codeplex & SourceForge), fügten nur langsam Unterstützung für DVCS hinzu (z. B. Git oder Mercurial). Leute, die DVCS für ihr Projekt verwenden wollten, mussten ihre Projekte zu den Anbietern migrieren, die sie unterstützten (z. B. Github oder BitBucket). Github war einer der Ersten, der DVCS-Unterstützung anbot, und so haben natürlich viele Leute ihren Code dorthin migriert, um davon zu profitieren.

Diese anderen Websites holen erst jetzt DVCS ein (Codeplex unterstützt beispielsweise jetzt Mercurial & Git), liegen jedoch in Bezug auf Funktionen wie das Verzweigen und Übermitteln von Pull-Anfragen immer noch weit zurück. DVCS Github und Bitbucket sind immer noch die besten Optionen, um die Vorteile zu nutzen.

MattDavey
quelle
46
Beachten Sie auch, dass der Funktionsumfang von GitHub schnell attraktiver wurde als jeder andere von DVCS angebotene Hoster (einschließlich Selbsthosting). Ein Teil der Antwort ist, dass GitHub sexy ist. :-)
Martijn Pieters
49
@MartijnPieters: ... mit Ausnahme des kostenlosen privaten Hostings, das BitBucket schon seit Ewigkeiten anbietet.
Den
17
Andere Websites bieten DVCS an. Im speziellen Fall von SourceForge glaube ich einfach, dass die Website absolut schrecklich ist, egal welche Versionskontrollsysteme unterstützt werden.
Konrad Rudolph
17
@Den Ja, ich weiß wirklich nicht, warum BitBucket nicht beliebter ist. Es hat private Hosting und lassen Sie uns zwischen Git oder Mercurial (die ich Mercurial viel mehr
mag
11
Github und Bitbucket arbeiten mit zwei verschiedenen Geschäftsmodellen. Github bietet fast sein gesamtes Funktionsspektrum kostenlos an und lässt Sie für private Repos bezahlen (abgesehen von den kostenlosen Bronze-Plänen, die es jedem mit einer .edu-E-Mail-Adresse gibt . Bitbucket bietet sowohl öffentliches als auch privates Hosting, belastet Sie jedoch für die [hoffentlich] Produktivität Wenn Sie keinen Grund haben, Ihren Code zu verbergen, scheint Github das logischere Modell zu sein. Ich denke, Bitbucket ist jedoch auf dem Vormarsch - Sourcetree gefällt mir sicherlich besser als Githubs native Git-GUI (nicht wirklich Verwenden Sie entweder) ..
David Cowden
45

Projekthosting ist Infrastruktur. Die Infrastruktur weist Netzwerkeffekte auf, was bedeutet, dass die Infrastruktur umso nützlicher wird, je mehr Personen mit ihr verbunden sind. (Insbesondere ist die Nützlichkeit O (Anzahl_von_Verbindungen), was bedeutet, dass es für jedes einzelne Mitglied O (Gesamtzahl_Mitglieder) und für das gesamte System O (Gesamtzahl_Mitglieder ^ 2) ist.) Dies führt wiederum zu einem Effekt, der als natürliches Monopol bezeichnet wird, was bedeutet, dass es für ein solches System natürlich ist, dass nur ein Konkurrent überlebt, da der Nutzen maximiert wird, wenn jeder dasselbe System verwendet.

Es ist also sinnvoll, sich dem Marktführer GitHub anzuschließen. Auf GitHub gibt es mehr Repositories, mehr Benutzer, mehr Verzweigungen, mehr Revisionen und mehr alles als auf SourceForge, Google Code und CodePlex zusammen .

Die interessante Frage ist natürlich, ob Netzwerkeffekte dazu führen, dass der Marktführer automatisch ein natürliches Monopol erhält. Wie konnte GitHub SourceForges brechen?

Und die Antwort ist, dass es sich für die Early Adopters gelohnt hat, sich einer viel kleineren Infrastruktur anzuschließen , weil sie so störend ist:

  • GitHub war das erste Unternehmen, das Git-Hosting mit einem Funktionsumfang anbot, der mit dem von SourceForge (oder zumindest dem Teil von SourceForge, den die meisten Benutzer verwendeten) vergleichbar war.
  • GitHub war vom Standpunkt der Benutzeroberfläche aus cool: eine elegante, moderne Web-Benutzeroberfläche
  • GitHub war technisch cool: Ruby on Rails, Sinatra, Erlang, node.js
  • GitHub war das Web 2.0 mit den Schwerpunkten Social Coding und Benutzer über Projekte
Jörg W. Mittag
quelle
6
+1 für die Erklärung der Netzwerkeffekte. Aber ich denke wirklich, SourceForge war viel größer als Github vor den plötzlichen zügellosen Migrationen ... und Sie klingen fast wie ein Github-Mitarbeiter ...
Chibueze Opata
2
Ziehen Sie auch die Erstellung des GitHub für Windows- Clients in Betracht - zum ersten Mal fühle ich mich als Windows-Entwickler nicht als Bürger zweiter Klasse, wenn es darum geht, Git für die Quellcodeverwaltung zu verwenden, und GitHub ist dafür verantwortlich.
Carson63000
25

Ich denke, einer der Gründe liegt in der unterschiedlichen Zielgruppe: SourceForge ist in erster Linie für das Hosten von Anwendungen bestimmt . Das wahrscheinlich bekannteste Merkmal einer Projektseite ist ein Link zur kompilierten ausführbaren Datei (oder einem anderen Download). Mit anderen Worten, es richtet sich an Benutzer und nicht an Entwickler.

Auf der anderen Seite ist Github in erster Linie für das Hosten von Quellcode gedacht. Das herausragendste Merkmal der Projektseite ist die Verzeichnisauflistung der masterBranche. Es richtet sich an Entwickler (die Code aus einem Projekt ändern oder verwenden möchten), nicht an Benutzer.

Ich denke, dies ist einer der Gründe, warum auf Entwickler ausgerichtete Tools und Bibliotheken auf Github umsteigen.

svick
quelle
15

Sourceforge bietet auch Git an , aber Github macht es einfach besser (fürs Erste).

  • Ihr Pull-Request-System funktioniert gut (viel besser als zum Beispiel Gitorious)
  • Die kürzlich aktualisierte Benachrichtigung ist sehr praktisch.
  • Sie zeigen den Code sofort

Ihr Killer-Feature ist meiner Meinung nach die "Netzwerkgrafik":

Bildbeschreibung hier eingeben

Unterschied zu gitk: Es zeigt Ihnen auch, was in den Filialen anderer Leute vor sich geht (ohne an den Filialen ziehen zu müssen), was bei der Zusammenarbeit sehr wichtig ist.

Nicolas Raoul
quelle
10
+1 Wir alle wissen, dass letztendlich nur Grafiken wichtig sind.
Xeoncross
2
Es ist auch fantastisch, um die am besten gewartete Filiale zu finden. Ich musste kürzlich herausfinden, welche Abzweigung eines bestimmten Repositorys tatsächlich verwaltet wurde (nicht trivial, da die aktuelleren Abzweigungen noch nicht an die Spitze einer Google-Suche verschoben wurden).
Beatgammit
1
Außerdem scheint es so, als ob Github Klonstatistiken anzeigen kann, während ich auf SourceForge keinen einzigen Weg finde, dies zu tun :(
Aquarius Power
11

GitHub ist einfach, benutzerfreundlich, schnell einsatzbereit, leistungsstark, sieht gut aus und ist Web 2.0-konform.

Ich benutze GitHub und finde es bemerkenswert einfacher zu bedienen als SourceForge, dessen Funktionen hinter einer Reihe von Menüs verborgen waren und das ziemlich aufwendige Operationen benötigte, um alles einzurichten. Und ich bin ein Programmierer.

Darüber hinaus gibt es meines Erachtens eine leistungsfähigere Funktion: Ob es sich um eine Einzelperson handelt, die ihr erstes Open-Source-Projekt irgendwo veröffentlichen möchte, oder um Teams, die an einem kommerziellen (privaten) Projekt zusammenarbeiten möchten, GitHub "skaliert" perfekt für fast alle Anwendungsfälle.

Am Ende des Tages denke ich, dass es um die menschliche Psychologie geht. Ist das Produkt einfach zu bedienen, einfach zu benutzen, günstig (oder kostenlos) ... sieht es gut aus und würde ich es meinen Freunden empfehlen? Für GitHub würde ich all diese Fragen mit Ja beantworten.

Suman
quelle
Mit Google-Code kann ich Probleme erkennen. Dadurch erfahren die Entwickler, welche Probleme für die Community wichtig sind, und ich kann den Fortschritt verfolgen. Github scheint nur anonyme Follower zu haben, was zu Spam-Kommentaren führen kann (+1, ich auch, etc). Dies ist wichtig für beliebte Projekte mit begrenzten Ressourcen.
Beatgammit
5

Sie müssen auch einige großartige Features berücksichtigen, die von github angeboten werden und die ich noch nicht erwähnt habe.

  • Github-Seiten mit Github-Geschmack
  • Github Mobile App
  • Github Eclipse Plugin
  • Github für Mac
  • Github Jobs
  • Github für Windows
  • Github-Ticketing / Bug-Tracking-System
  • Github Developer API, die eine nahtlose Integration von Drittanbietern ermöglicht
  • Häufige UI-Updates / -Erweiterungen (Sie können buchstäblich die Änderungen von einem Tag zum nächsten sehen, dh das Suchtextfeld wird jetzt dynamisch fokussiert , die Uhr wird zur neuen Stern-Schaltfläche usw.)
  • Github- Gists (gut für Hilfsskripte , kurze Code-Schnipsel usw.)
  • nahtlose Github-Integration über Hub

Andere Websites haben diese Funktionen, aber ich bin mir ziemlich sicher, dass keine andere Website sie alle bietet.

Diese Typen sind praktisch überall ... und verteilen ihre technischen Leckerbissen langsam im Web und auf dem Desktop. Sie werden immer größer und besser , und sie stellen die besten Ingenieure ein (sie haben es sogar geschafft, Phil Haack von Microsoft zu stehlen ... go figure).

A-Dubb
quelle
4

Ein weiterer Grund, der möglicherweise zusätzliche Entwickler zu GitHub lockt, ist, dass Entwickler-Tools beginnen, Git zu nutzen, und dass auf Plattformen wie Eclipse Git-Unterstützung bereits integriert ist (gilt für Pakete für Java, C ++ - Entwickler usw.) Es sind weniger Schritte erforderlich, um Ihr Projekt auf GitHub hochzuladen.

Jessica Brown
quelle
1
Eine weitere IDE, die Git-Unterstützung hinzugefügt hat, ist Visual Studio in Version 2013 und höher. Siehe msdn.microsoft.com/en-us/library/hh850437.aspx für Details
Bernard Vander Beken
-1

Um ehrlich zu sein, ist Git das Wichtigste für mich, wenn ich es sehe: 1. Netzwerkdiagramm oder Soll ich den Verlauf aufrufen (auch kommentieren) 2. Verzweigungs- und Pull-Anforderung 3. Es ist leistungsfähiger, wirklich würde ich sagen, dass es so ist Es fühlt sich an, als hätte ich eine Sekretärin, die alle meine Arbeiten festhält, und ich kann sagen, dass ich alles für mich aufschreiben soll, die Veränderung, alles! 4. Rollback ist einfach

Nur das. Fühlt sich sexy damit an

Benyamin Limanto
quelle
ähm, warum bin ich unten angekommen?
Benyamin Limanto
Obwohl ich denke, dass Sie gute Absichten bei der Beantwortung der Frage hatten, glaube ich nicht, dass Ihre Antwort viel zu der Antwort beiträgt, nach der das OP gefragt hat. Es klingt wie Ihre Antwort auf "Warum verschieben Programmierer ihren Code auf Github?" ist "weil es mir gefällt". Andere Antworten hier sind wahrscheinlich besser, und deshalb hat jemand eine Ablehnung durchgeführt.
Frank Bryce