it-swarm.com.de

Wo kann man ein Open Source-Projekt hosten: CodePlex, Google Code, SourceForge?

Ich habe den Rückstand der beantworteten Fragen zu SO bezüglich "Wie man ein Open Source Projekt bewirbt" durchgelesen. Es ist nicht überraschend, dass viele der Antworten auf SoureForge/FreshMeat und andere Sites usw. Verwiesen haben Das brachte mich auf die Idee, wo ist der beste Ort, um ein Projekt zu hosten und warum?

Da mein erstes Projekt derzeit auf CodePlex gehostet wird, begann ich, in den Google-Suchergebnissen zu stöbern, um Informationen zu den Vor- und Nachteilen der einzelnen Projekte zu sammeln. Allerdings sind die Vergleiche, die ich gefunden habe, eher veraltet (2+ Jahre alt).

http://www.stum.de/2008/12/13/sourceforge-vs-codeplex/
http://www.developmentnow.com/blog/2006/11/codeplex-vs-sourceforge/
http://www.spacesocket.com/forum/thread-6654.html
etc...

Die nächste Frage lautet also "Sollte ich mein Projekt auf mehreren Websites hosten?", Auf die der folgende Beitrag die erwartete Antwort liefert (zum Glück! Das wäre ein mühsamer Unterhalt).

Hosting eines Open Source-Projekts an mehreren Standorten

Gibt es auf der Grundlage des aktuellen Zustands verschiedener Open Source-Hosting-Sites wie CodePlex, GitHub, Google Code, SourceForge usw. bemerkenswerte Vor-/Nachteile einer Site gegenüber der anderen? Sollte ich mich an CodePlex halten oder versäume ich es, wenn ich keine der Alternativen verwende? Bringt man mehr Verkehr in ein neues und unbekanntes Projekt?

Ich habe vor, jede Site genauer zu erkunden, um zu sehen, was sie alle bieten, aber angesichts des großen Wissens der guten Leute über SO, dachte ich, ich würde zuerst mit dieser Frage beginnen.

[~ # ~] aktualisiert [~ # ~]

Laut Antwort von Erjiang unten ... verwende ich derzeit Mercurial für die Versionskontrolle und bin offen für alles andere als TFS. Außerdem entwickle ich nur mein aktuelles Projekt. Zukünftige Projekte können jedoch eine Zusammenarbeit wert sein.

166
Chris Baxter

Edit 2015-08-01: Diese Antwort erhält immer noch Ansichten und Stimmen. Es ist mehr als alt und ich möchte es löschen, aber da es die akzeptierte Antwort ist, kann ich das nicht tun. Andererseits ist es Community-Wiki und die Community hat es auf dem neuesten Stand gehalten - danke dafür!

SourceForge ist auf die dunkle Seite übergegangen, hat das Projekt übernommen und mit Adware ( Google GIMP Sourceforge Adware ) gebündelt. Vermeiden Sie unter allen Umständen. GitHub ist bis jetzt immer noch der beliebteste, obwohl es Alternativen gibt (z. B. BitBucket bietet unbegrenzte private Repos kostenlos für bis zu 5 Benutzer.)

Es ist verrückt, wie sehr sich die Landschaft in den letzten Jahren verändert hat, und wenn Sie dies in Zukunft lesen, ist GitHub möglicherweise nicht mehr das coole Produkt. Fazit: Für jedes Versionsverwaltungssystem, das Sie verwenden möchten, gibt es eine Fülle fantastischer Optionen.

Alt 2010 Informationen unten der Geschichte zuliebe

Edit: Diese Antwort ist jetzt uralt. In den letzten zwei Jahren hat sich GitHub als erstklassiger Ort für Code-Hosting herauskristallisiert. Wenn ich ein neues OSS-Projekt erstellen muss, weiß ich nicht, wohin ich gehen soll. Lassen Sie dies unten als Referenz.

Tatsächlich ist mein Beitrag jetzt fast 2 Jahre alt (2008) und nicht mehr ganz korrekt.

Warum?

Weil ich denke, dass SourceForge für Open-Source-Projekte jetzt unbedeutend ist. Okay, das wird mich in große Schwierigkeiten bringen, also lass mich klarstellen:

Ich bin absolut davon überzeugt, dass Open Source-Projekte auf einem DVCS ausgeführt werden sollten, vorzugsweise Git oder Mercurial, da sie am weitesten verbreitet sind - nichts gegen Bazaar, aber ich denke, es ist ein bisschen zu dunkel. ( Edit: SourceForge bietet jetzt Mercurial und Bazaar an, so dass dieses Argument nicht mehr besteht. Nach zwei Neugestaltungen finde ich das Image von SF jedoch nicht besonders gut. Um sie mit den Bildern von Unternehmen zu vergleichen: Während GitHub Apple ist, ist SF IBM. Steinhart, aber etwas staubig

Wenn ich diesen Beitrag also noch einmal schreiben würde, wäre es CodePlex vs. GitHub vs. BitBucket , wobei GitHub der Gewinner ist. Aber das ist eine pauschale Aussage, also lassen Sie mich Details hinzufügen. +/- ist nicht nur Pro/Con, sondern vielmehr, um verschiedene Philosophien hervorzuheben.

CodePlex

+ Echtes Mercurial/Git-Hosting - keine fehlerhafte Bridge über TFS, Sie haben echtes Mercurial/Git
+ Integriertes Wiki, mit dem Sie umfangreiche Dokumentationen und gut aussehende Seiten hinzufügen können
+ Bug Tracker und Diskussionsforen enthalten
- Quellcode-Browser ist nicht so toll - Diffs werden in einem Popup angezeigt und fühlen sich nur kompliziert an
- Forks und Pull Requests "nicht so einfach" - die Benutzeroberfläche könnte etwas Arbeit gebrauchen

Insgesamt ist CodePlex immer noch großartig, aber ich denke, es ist eher für einzelne Entwickler oder sehr kleine Teams geeignet, da der Fokus der Website eher auf dem Wiki als auf dem Quellcode liegt. Es ist mehr ein Publishing als eine Kollaborationsplattform. Theoretisch benötigen Sie keine Projekthomepage, Ihr CodePlex-Projekt kann Ihr One-Stop-Shop sein.

GitHub

+ Git Hosting, unterstützt SSL/SSH
+ Netzwerkgraph erlaubt es, Gabeln zu sehen und was wann in was verschmolzen ist
+ Möglichkeit, Projekte zu "beobachten" - Ihre Kontoseite gleicht einer Facebook-Pinnwand mit neuen Eincheckmöglichkeiten
+ Super guter Diff-Viewer mit der Möglichkeit, einzelne Zeilenänderungen zu kommentieren - siehe hier
+ Forking ist ein 2-Klick-Prozess und sendet Pull-Anfragen
+ GitHub hat jetzt das GUI-Tool GitHub für Windows
- Die Hauptseite ist für Nicht-Entwickler nicht besonders hübsch. Wenn Sie eine Readme-Datei in Ihrem Projekt haben (unterstützt einige Markup-Sprachen wie Markdown oder HTML), wird diese angezeigt, aber die Startseite ist der Quellcode
- Wiki ist nicht so toll - es ist Markdown, aber manchmal fühlt sich die Formatierung etwas zu komplex an.

GitHub hat eine andere Philosophie als CodePlex: Es geht um den Quellcode und um die Zusammenarbeit zwischen Entwicklern. Die Hauptprojektseite ist der aktuellste Quellcode. Es gibt ein separates Wiki, das jedoch eher für die Dokumentation als für die Präsentation Ihres Projekts gedacht ist. Das Netzwerkdiagramm ist fantastisch, obwohl es verwirrend werden kann, wenn mehr als 20 Gabeln vorhanden sind (häufig, wenn ein hochkarätiges Projekt angekündigt wird, dass jeder und sein Hund es gabeln, aber die meisten Gabeln sterben schnell). GitHub lässt sich sehr gut auf jede Größe skalieren.

Tatsächlich macht es GitHub mir sehr einfach, ein Projekt abzweigen, einen Fix/Patch anzuwenden, ihn auf meine Abzweigung zu übertragen und eine Pull-Anfrage an den Autor zu senden. Zusammen mit dem Netzwerkdiagramm ist das Festschreiben sehr einfach zu sehen.

Sie benötigen jedoch höchstwahrscheinlich eine separate Homepage, um Ihr Projekt den Endbenutzern zu präsentieren und Downloads bereitzustellen, da die Downloadfunktionen von GitHubs nicht besonders gut sind.

BitBucket

+ Git/Mercurial
+ Ermöglicht kostenlose private Repositorys für bis zu 5 Benutzer

Ich habe BitBucket nicht genug benutzt, um einen echten Kommentar abzugeben. Die einzige Besonderheit ist, dass das private Hosting kostenlos ist, während GitHub Gebühren erhebt und Codeplex es überhaupt nicht anbietet.

Google Code

Google Code ist keine Option mehr.

- Die Projekterstellung ist seit März 2015 deaktiviert , und der Google-Dienst wird wird am 25. Januar 2016 endgültig geschlossen , as Die konkurrierenden Dienste sind einfach besser.
- Es ist hässlich und es ist zu kompliziert, den Quellcode zu durchsuchen (der Link ist etwas vergraben)

Ich habe es nicht benutzt, also möchte ich nicht sagen, dass es schlecht ist - es ist nicht so. Viele Projekte verwenden es und es ist sehr stabil und robust. Von keinem Entwickler wurde viel Schlechtes gehört. Aus persönlicher, subjektiver Sicht Gründen schreckt mich das "Design" ab.

SVN vs. Git/Mercurial

Um meinen obigen Kommentar zum Veralten von SourceForge zu wiederholen: Das ist natürlich ein bisschen hart. Ich glaube jedoch, dass SVN für Open Source-Projekte schädlich ist. Erstens, seltsame Metadatenanforderungen, um Dateien zu ignorieren. Auf Git oder Mercurial befindet sich im Stammverzeichnis Ihres Quellbaums eine Datei mit dem Namen .gitignore oder .hgignore, die eine Liste der zu ignorierenden Dateien/Verzeichnisse/Muster enthält. No magic svn: Metadaten im .svn-Ordner ignorieren. Das allein bläst SVN für mich aus dem Wasser. Wenn ich ein neues Visual Studio-Projekt starte, muss ich diese magischen Metadaten anwenden, während ich mit Git/Mercurial nur eine Datei kopiere und fertig bin.

Dann ist die Möglichkeit, eine Pull-Anfrage abzweigen, zu patchen und zu senden, fantastisch, insbesondere für kleine/einmalige Patches.

Last but not least ist SourceForge immer noch viel zu komplex für meinen Geschmack. Es ist kein schlechter Gastgeber, aber es zeigt wirklich, wie alt es ist, IMHO. Davon abgesehen ist es immer noch robust und hat weltweit viele Spiegel. Auch der Bug Tracker ist viel ausgefeilter als die anderen.

Wenn für Ihr Projekt aus irgendeinem Grund strenge Beitragsregeln erforderlich sind (die sinnvoll sein können, z. B. der rechtliche Schutz, um sicherzustellen, dass der festgeschriebene Code tatsächlich legal beigesteuert wird), funktioniert möglicherweise ein traditionelles System wie SVN, das auf SourceForge gehostet wird.

Edit: Wusste nicht, dass SF endlich Hosting verteilt hat. Wie oben gesagt, es ist robust, aber nicht mehr das "coole Kind", und ich finde es viel zu komplex.

TL; DR

Für jedes kleine bis mittlere Projekt empfehle ich GitHub von ganzem Herzen, für kleine Projekte, bei denen Sie eine schöne Website wünschen, würde ich mich für CodePlex entscheiden, und für private Projekte würde ich mich für BitBucket entscheiden. Für große Projekte, die einen sehr ausgeklügelten Bug-Tracker, jede Menge zusätzliche Funktionen und eine "echte" Website erfordern, sollten Sie Source Forge in Betracht ziehen.

128
Michael Stum

Nun, Sie haben nicht gesagt, welches Quellcodeverwaltungssystem Sie verwenden, was Ihre Entscheidungen stark beeinflusst.

(nicht umfassend)

  • Git -> GitHub oder Gitorious sind die naheliegende Wahl
  • Mercurial -> BitBucket
  • SVN -> Savannah, SF.net
  • Basar -> Launchpad
  • CVS -> Upgrade auf ein neueres Versionsverwaltungssystem

Ich bin ein Git-Fan, aber Mercurial ist auch ziemlich großartig. Ich persönlich benutze GitHub für seine großartigen Funktionen für die Zusammenarbeit, wie einfaches Forking und Pull Requests.

Ich möchte hinzufügen, dass CodePlex im Open-Source-Ökosystem außerhalb des Microsoft-Lagers nicht sehr beliebt ist. Es ist wahrscheinlich eine Kombination aus der natürlichen Ausrichtung von Microsoft und früheren Stigmen. Wenn Sie ausschließlich für .NET oder ähnliches entwickeln, ändert sich die Perspektive.

Edit: Außerdem würde ich argumentieren, dass Entwickler normalerweise nicht zufällig nach interessanten Projekten suchen. Sie werden auf GitHub wahrscheinlich genauso unbemerkt bleiben wie auf Codeplex, aber wenn jemand Ihr Projekt entdeckt , wird er es mit größerer Wahrscheinlichkeit senden Nachrichten/Dateifehler/Beitragen, wenn sie bereits ein Konto auf dieser Website haben.

8
erjiang

Da Github ziemlich schnell wächst und das prominenteste unter den Projekten zu sein scheint, sehe ich diese Tage. Es würde meine Stimme bekommen.

Aber ich denke, man muss nicht bedeuten, dass man den anderen nicht benutzen kann. Ich sehe viele Projekte, die Github als Quelle und Google Code für die Dokumente verwenden. Und außerdem ein Sourceforge-Link dazu.

Es ist eigentlich egal, was Sie als primären Host verwenden, aber ich würde empfehlen, dass Sie Ihre Projekte auch auf den anderen Sites hinzufügen, damit Sie sie leicht finden können.

4
Wolph

Diese Frage scheint wie ein Duplikat von dieser zu sein: https://stackoverflow.com/questions/10490/best-open-source-project-hosting-site

Hier war meine Antwort auf diese Frage: https://stackoverflow.com/questions/10490/best-open-source-project-hosting-site/3433969#3433969

Generell denke ich, dass die wichtigsten Vor- und Nachteile in erster Linie mit den angebotenen Entwicklungsfunktionen und der primären Zielgruppe der einzelnen Websites zusammenhängen. In der obigen Antwort gehe ich auf die vier beliebtesten Websites ein.

4
jwanagel