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 ...
quelle
Antworten:
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.
quelle
Nun, Sie haben nicht gesagt, welches Versionsverwaltungssystem Sie verwenden, was Ihre Auswahl stark beeinflusst.
(nicht umfassend)
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.
quelle
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.
quelle
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.
quelle