it-swarm.com.de

Warum verschieben viele Programmierer ihren Code auf Github?

In den letzten 6 Monaten oder länger habe ich viele Codes gesehen, die auf sourceforge.net sowie auf anderen Hosting-Sites "Move to GitHub" gehostet wurden. Eine bloße Google-Suche mit dem Ausdruck "Nach 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?

116
Chibueze Opata

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

Einige Websites, auf denen traditionell nicht verteiltes VCS gehostet wurde (z. B. Codeplex & SourceForge), fügten die Unterstützung für DVCS (z. B. Git oder Mercurial) nur langsam hinzu. Daher mussten Personen, die DVCS für ihr Projekt verwenden wollten, ihre Projekte auf die Anbieter 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 ihn zu nutzen.

Diese anderen Websites fangen erst jetzt an, DVCS einzuholen (Codeplex unterstützt beispielsweise jetzt Mercurial & Git), aber sie sind in Bezug auf Funktionen wie das Gabeln und Senden von Pull-Anfragen immer noch weit zurück. Um DVCS wirklich zu nutzen, sind Github und Bitbucket immer noch die besten Optionen.

102
MattDavey

Projekthosting ist Infrastruktur. Die Infrastruktur weist Netzwerkeffekte auf, was bedeutet, dass die Infrastruktur umso nützlicher wird, je mehr Menschen mit ihr verbunden sind. (Insbesondere ist der Nutzen O (Anzahl_der_Verbindungen), was bedeutet, dass es für jedes einzelne Mitglied O (total_members) und für das gesamte System O (total_members ^ 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 das gleiche System verwendet.

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

Die interessante Frage ist natürlich, wie GitHub SourceForges brechen konnte, wenn Netzwerkeffekte bedeuten, dass der Marktführer automatisch ein natürliches Monopol erhält.

Und die Antwort lautet: so störend, dass sich der Schmerz des Beitritts zu einer viel kleineren Infrastruktur für die frühen Anwender gelohnt hat:

  • GitHub war der erste, der Git-Hosting mit einem Funktionsumfang anbot, der mit dem von SourceForge (oder zumindest dem Teil von SourceForge, den die meisten Leute verwendeten) vergleichbar ist.
  • GitHub war vom Standpunkt der Benutzeroberfläche aus cool: eine elegante, moderne Web-Benutzeroberfläche
  • GitHub war technisch gesehen cool: Ruby on Rails, Sinatra, Erlang, node.js)
  • GitHub war Web 2.0 mit Schwerpunkt auf Social Coding und Benutzer über Projekte
45
Jörg W Mittag

Ich denke, einer der Gründe ist die unterschiedliche Zielgruppe: sourceforge dient hauptsächlich dem Hosting Anwendungen. 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, nicht an Entwickler.

Auf der anderen Seite ist Github hauptsächlich für das Hosting von Quellcode gedacht. Das bekannteste Merkmal der Projektseite ist die Verzeichnisliste des Zweigs master. Es richtet sich an Entwickler (entweder um Code aus einem Projekt zu ändern oder zu verwenden), nicht an Benutzer.

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

25
svick

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

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

Ihre Killer-Funktion ist meiner Meinung nach das "Netzwerk-Diagramm":

enter image description here

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

15
Nicolas Raoul

GitHub ist einfach, benutzerfreundlich, leicht zu erlernen, leistungsstark, sieht gut aus und ist Web 2.0-artig.

Ich benutze GitHub und finde es bemerkenswert einfacher zu verwenden als SourceForge, dessen Leistung hinter einer Reihe von Menüs verborgen war und ziemlich aufwendige Operationen erforderte, um etwas einzurichten. Und ich bin Programmierer.

Darüber hinaus denke ich, dass es eine weitere leistungsstarke Funktion gibt: Ob es sich um eine Person handelt, die irgendwo ihr erstes Open-Source-Projekt 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 bedienen, kostengü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.

11
Suman

Sie müssen auch einige ziemlich beeindruckende Funktionen von Github berücksichtigen, die ich noch nicht erwähnt habe.

  • github-Seiten mit Markdown mit Github-Geschmack
  • github mobile app
  • github Eclipse Plugin
  • github für Mac
  • Github-Jobs
  • github für Fenster
  • github Ticketing/Bug Tracking System
  • github-Entwickler-API, die eine nahtlose Integration von Drittanbietern ermöglicht
  • häufige Aktualisierungen/Verbesserungen der Benutzeroberfläche (Sie können die Änderungen von einem Tag zum nächsten buchstäblich sehen, d. h. das Suchtextfeld wird jetzt dynamisch erweitert , die Uhr wurde zur neuen Sternschaltfläche usw.)
  • github gists (gut für Utility-Skripte, Shortcode-Snippets usw.)
  • nahtlose Github-Integration über Hub

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

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

5
A-Dubb

Ein weiterer Grund, der möglicherweise zusätzliche Entwickler zu GitHub zieht, ist, dass Entwicklertools beginnen, Git zu nutzen, und Plattformen wie Eclipse haben jetzt standardmäßig integrierte Git-Unterstützung (gilt für die Pakete für Java, C++ - Entwickler usw.) Es sind weniger Schritte erforderlich, um Ihr Projekt auf GitHub hochzuladen.

4
Jessica Brown