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


165

Ich habe den Rückstand der beantworteten Fragen zu SO zum Thema "Wie man ein Open Source-Projekt fördert" durchgelesen. Es überrascht nicht, dass viele der Antworten die Leute auf SoureForge / FreshMeat und andere Websites usw. sowie auf das Bloggen und so weiter hinwiesen. Dies brachte mich zu der Überlegung, wo der beste Ort für ein Projekt ist und warum?

Da mein erstes Projekt derzeit auf CodePlex gehostet wird, begann ich, die Google-Suchergebnisse zu durchsuchen, um Informationen zu den Vor- und Nachteilen der einzelnen Projekte zu sammeln. Die Vergleiche, die ich gefunden habe, sind jedoch ziemlich 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. spaceocket.com/forum/thread-6654.html
etc ...

Die nächste Frage lautet also "Soll ich mein Projekt auf mehreren Websites hosten", auf die der folgende Beitrag die erwartete Antwort liefert (zum Glück! Dies wäre ein Problem bei der Aufrechterhaltung).

Hosting eines Open Source-Projekts an mehreren Standorten

Gibt es basierend auf dem aktuellen Status verschiedener Open Source-Hosting-Sites wie CodePlex, GitHub, Google Code, SourceForge usw. usw. bemerkenswerte Vor- und Nachteile einer Site gegenüber der anderen? dh sollte ich bei CodePlex bleiben oder verpasse ich es, wenn ich keine der Alternativen verwende? Wird man mehr Verkehr zu einem neuen und unbekannten Projekt bringen?

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

AKTUALISIERT

Laut Erjiang-Antwort unten ... Ich verwende derzeit Mercurial für die Versionskontrolle und bin offen für alles andere als TFS. Mein aktuelles Projekt ist nur meine Entwicklung, aber zukünftige Projekte können kollaborativ sein, so dass es sich lohnt, darüber nachzudenken ...


55
Das Schließen dieser Frage war IMO völlig unnötig. Ich muss mich fragen, was durch den Abschluss erreicht wurde. Die Frage hat viele positive Stimmen (die Leute finden sie offensichtlich interessant), sie hat eine sehr positive Antwort (daher ist diese Frage und Antwort offensichtlich hilfreich) und es handelt sich um ein Community-Wiki (selbst wenn sie nach subjektiven Meinungen oder Produktempfehlungen fragt, könnte dies niemand haben einfach vom Sponsoring des neuesten und besten Produkts profitiert).
stakx - nicht mehr beitragen

12
Dies ist die Art von Frage, die hätte geschlossen werden müssen, bevor sie so viele Antworten erhalten hat, da sie nicht wirklich angemessen war. Da es jedoch so viele Reaktionen erhalten hat, ist das Schließen kontraproduktiv und schmälert die geleisteten Beiträge.
Chris Stratton

4
Eine Sache, die durch das Schließen dieser Frage @stakx erreicht wird, ist, sie vor neuen Antworten zu schützen. Jetzt wird es sicherlich irrelevant.
Bob Stein

@ BobStein-VisiBone sinken irrelevant? Ich bin gerade über sechs Jahre auf diese Frage gestoßen, nachdem sie ursprünglich gestellt wurde.
Wonea

2
@ Wonea Ich war in einer sarkastischen Stimmung. Ich bin enttäuscht, wenn relevante, nützliche und beantwortbare Fragen wie diese humpeln. Wenn sich neue Möglichkeiten für das Hosting von Open Source ergeben, ist diese Seite derzeit künstlich darauf beschränkt, sie in eine vorhandene Antwort umzuwandeln. Opportunitätsfragen brauchen insbesondere Raum, um sich weiterzuentwickeln. Ich gehe davon aus, dass es jedes Jahr abgestandener wird. Stackoverflow ist großartig, aber es zerstört auch viel, was großartig ist.
Bob Stein

Antworten:


127

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.


3
Ich kann Google Code nicht zustimmen. Ich denke, es ist einfach, intuitiv und leicht (und die Website ist schnell ! Vergleichen Sie das mit CodePlex…!) Und wäre jedes Mal meine erste Wahl. Aber der Rest ist eine interessante Lektüre.
Konrad Rudolph

2
@Konrad Richtig, wie gesagt, es ist eine persönliche Sache. Vielleicht schreckt mich der minimalistische Ansatz ab. Ich habe nichts Schlechtes über die funktionale Seite gehört, aber ich habe dort nie ein Projekt gehostet.
Michael Stum

2
Tolle Antwort, sehr detailliert! Gibt eine hervorragende Erklärung für die Unterschiede zwischen den wichtigsten Websites (CodePlex und GitHub), auf die ich am meisten neugierig war. Interessant ist auch, dass Sie SourceForge zu diesem Zeitpunkt als unbedeutend identifizieren. definitiv eine Meinungsänderung gegenüber den älteren Artikeln. Vielen Dank!
Chris Baxter

4
Es gibt auch Faktoren, die für die Art des Projekts, das Sie ausführen, besonders sind. Bei .NET-Projekten unterstützt CodePlex beispielsweise die ClickOnce-Bereitstellung, Google Code jedoch nicht.
dbkk

1
@MichaelStum Vielleicht können Sie die GitHub Pages-Dienste hinzufügen. Der Einstiegspunkt für jedes von GitHub gehostete Projekt sollte eine Seite sein.
Matías Fidemraizer

8

Nun, Sie haben nicht gesagt, welches Versionsverwaltungssystem Sie verwenden, was Ihre Auswahl 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 großartige Funktionen für die Zusammenarbeit, wie einfaches Forken und Pull-Anfragen.

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

Bearbeiten: Außerdem würde ich argumentieren, dass Entwickler normalerweise nicht zufällig nach interessanten Projekten suchen. Sie sind gleich wahrscheinlich unbemerkt auf GitHub gehen , wie Sie auf Codeplex sind, aber wenn jemand hat Ihr Projekt entdecken, werden sie eher Nachrichten senden / Datei Bugs / beitragen , wenn sie bereits auf dieser Website ein Konto haben.


2
Ich benutze derzeit Mercurial (würde TFS nicht mit einer 10ft Stange berühren)
Chris Baxter

2
Es ist etwas falsch mit der Phrase Easy Forking
Marko

2
Für alle, die auf GitHub neugierig sind, ist es die beste Möglichkeit, ein vorhandenes Projekt zu ändern, anstatt eine irreversible Aufteilung eines Projekts zu sein. Nachdem Sie Ihre persönlichen Änderungen vorgenommen haben, können Sie diesem ursprünglichen Projekt eine "Pull-Anfrage" an die Änderungen von Ihrer Gabel senden.
Erjiang

Ich bin damit einverstanden, dass CodePlex ausschließlich auf die Microsoft-Entwicklung ausgerichtet ist. das funktioniert zufällig für mich ... der Eindruck, den ich bekomme, ist, dass wenn allgemein Open Source ... GitHub; wenn .NET fokussiertes und einzelnes / kleineres Team CodePlex. Auch wie die Bearbeitung des Bewusstseins ... das wird der nächste Kampf sein. Vielen Dank!
Chris Baxter

1
@marko: Einfaches Gabeln ist eine gute Sache
Nicolas Raoul

4

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

Aber ich denke, einer 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 spielt keine Rolle, was Sie als primären Host verwenden, aber ich würde empfehlen, dass Sie Ihre Projekte auch auf den anderen Websites hinzufügen, damit Sie sie leicht finden können.


Interessant, dass Sie das Hosting auf mehreren Websites empfehlen würden. Meine ersten Gedanken wären, mit den oben verlinkten Referenzen übereinzustimmen. Was denkst du über diesen Thread?
Chris Baxter

@Calgary Coder: Ich spreche nicht speziell über Hosting, sondern über mehr Links. Ich habe Sourceforge vor Jahren wegen der Langsamkeit und der schrecklichen Designänderungen eingestellt. Das Erstellen des Projekts bei sourceforge und das Verknüpfen mit Ihrer Github-Website (oder einer anderen Website) kann jedoch dazu beitragen, dass Ihr Projekt leichter zu finden ist. Für die Dokumentation fand ich das Google Code-Wiki einfacher als das Github-Wiki. Deshalb bevorzuge ich das. Ich mag die Github-Oberfläche und die Gabelungsoptionen, daher denke ich, dass dies eine gute Wahl für Ihre Quelle ist. Für die Codeüberprüfung fand ich Launchpad sehr schön.
Wolph

4

Diese Frage scheint ein Duplikat dieser Frage zu sein: /programming/10490/best-open-source-project-hosting-site

Hier war meine Antwort auf diese Frage: /programming/10490/best-open-source-project-hosting-site/3433969#3433969

Im Allgemeinen denke ich, dass die wichtigen Vor- und Nachteile am wichtigsten mit den angebotenen Entwicklungsfunktionen und der primären Zielgruppe jeder Site zusammenhängen, die ich in meiner obigen Antwort für die vier beliebtesten Sites durchgehe.


1
Vielen Dank für den Link, ich habe versucht, eine Frage nicht zu duplizieren, aber ich habe diese verpasst.
Chris Baxter

1
@CalgaryCoder haben Sie vielleicht zumindest positiv bewertet, da Sie sich die Zeit genommen haben, ihm zu danken. Nvm, ich habe es für dich
getan ;-)

Diese Links scheinen jetzt tot zu sein.
Bibel
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.