Edit 2015-08-01: Diese Antwort erhält immer noch Ansichten und Stimmen. Es ist mehr als alt und ich würde es gerne löschen, aber da es die akzeptierte Antwort ist, kann ich das nicht tun. Andererseits ist es das 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 . Um jeden Preis vermeiden. GitHub ist derzeit noch das beliebteste, obwohl es Alternativen gibt (z. B. bietet BitBucket unbegrenzt kostenlose private Repos für bis zu 5 Benutzer kostenlos an.)
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 vielleicht nicht mehr das coole Produkt. Fazit: Es gibt eine Vielzahl fantastischer Optionen für jedes Quellcodeverwaltungssystem, das Sie verwenden möchten.
Alte Informationen von 2010 unten aus Gründen der Geschichte
Bearbeiten: Diese Antwort ist jetzt uralt. In den letzten 2 Jahren hat sich GitHub zum wichtigsten Ort für Code-Hosting entwickelt, und wenn ich ein neues OSS-Projekt erstellen muss, habe ich nicht die Spur eines Zweifels, wohin ich gehen soll. Lassen Sie dies unten als Referenz.
In der Tat ist mein Beitrag jetzt fast 2 Jahre alt (2008) und nicht mehr ganz korrekt.
Warum?
Weil ich denke, dass SourceForge jetzt für Open Source-Projekte unbedeutend ist. Okay, das wird mich in große Schwierigkeiten bringen, also lassen Sie 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 etwas zu dunkel. ( Bearbeiten: SourceForge bietet jetzt Mercurial und Bazaar an, sodass dieses Argument nicht mehr besteht. Nach zwei Neugestaltungen denke ich jedoch, dass das Image von SF nicht allzu gut ist. Um sie mit den Bildern von Unternehmen zu vergleichen: Während GitHub Apple ist, ist SF ist IBM. Ganz solide, aber etwas staubig)
Wenn ich diesen Beitrag 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 Brücke ü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
- Der Quellcode-Browser ist nicht so toll - Diffs erscheinen in einem Popup und fühlen sich einfach kompliziert an.
- Gabeln und Pull-Anfragen sind 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 eher eine Veröffentlichung als eine Plattform für die Zusammenarbeit. Theoretisch benötigen Sie keine Projekthomepage, Ihr CodePlex-Projekt kann Ihr One-Stop-Shop sein.
GitHub
+ Git Hosting, unterstützt SSL / SSH
+ Netzwerkdiagramm ermöglicht es, Gabeln zu sehen und was in was verschmolzen ist, wenn
+ Fähigkeit, Projekte zu "beobachten" - Ihre Kontoseite ist wie eine Facebook-Pinnwand mit neuen Checkins
+ Super guter Diff-Viewer mit der Fähigkeit zu kommentieren zu einzeiligen Änderungen - siehe hier
+ Forking ist ein 2-Klick-Prozess, ebenso wie das Senden von Pull-Anfragen
+ GitHub hat jetzt das GUI-Tool GitHub für Windows
- Die Hauptseite ist für Nicht-Entwickler nicht sehr "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 erste Seite 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 zur Dokumentation als zur 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, werden alle und ihr 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 zu verzweigen, einen Fix / Patch anzuwenden, es auf meine Gabel zu übertragen und eine Pull-Anfrage an den Autor zu senden. Zusammen mit dem Netzwerkdiagramm ist das Festschreiben sehr einfach zu erkennen.
Wahrscheinlich benötigen Sie jedoch eine separate Homepage, um Ihr Projekt den Endbenutzern vorzustellen und Downloads bereitzustellen, da die Download-Funktionen von GitHubs nicht so gut sind.
Bit Bucket
+ Git / Mercurial
+ Ermöglicht kostenlose private Repositories für bis zu 5 Benutzer
Ich habe BitBucket nicht genug verwendet, um einen echten Kommentar abzugeben. Das einzige Merkmal, das es auszeichnet, ist, dass privates 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 am 25. Januar 2016 endgültig geschlossen , da die konkurrierenden Dienste einfach besser sind.
- Es ist hässlich und zu kompliziert, um 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. Viele Projekte verwenden es und es ist sehr stabil und robust, hat von keinem Entwickler viel Schlechtes gehört. Aus persönlicher, subjektiver Sicht schreckt mich das „Design“ jedoch ab.
SVN gegen Git / Mercurial
Um meinen obigen Kommentar zu wiederholen, dass SourceForge veraltet ist: Das ist natürlich ein bisschen hart. Ich glaube jedoch, dass SVN für Open Source-Projekte schädlich ist. Zuallererst 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. Kein magischer SVN: Ignorieren Sie Metadaten im Ordner .svn. Dies 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 einfach über eine Datei kopiere und damit fertig bin.
Dann ist die Möglichkeit, eine Pull-Anfrage zu teilen, zu patchen und zu senden, fantastisch, insbesondere für kleine / einmalige Patches.
Last but not least ist SourceForge für meinen Geschmack immer noch viel zu komplex. Es ist kein schlechter Gastgeber, aber es zeigt wirklich, dass es IMHO alt ist. Trotzdem ist es immer noch robust und hat weltweit viele Spiegel. Auch der Bug Tracker ist viel ausgefeilter als die anderen.
Wenn Ihr Projekt aus irgendeinem Grund strenge Beitragsregeln erfordert (was sinnvoll sein kann, z. B. rechtlicher 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.
Bearbeiten: 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 auch eine schöne Website wünschen, würde ich mich für CodePlex und für private Projekte für BitBucket entscheiden. Für große Projekte, die einen sehr ausgeklügelten Bug-Tracker, unzählige zusätzliche Funktionen und eine "echte" Website erfordern, sollten Sie Source Forge in Betracht ziehen.