Frage

In diese Frage, Ich erwähnte meine Annahme, dass rubyforge Edelsteine sind weitere offizielle, autoritative und stabiler als github gabelt.Einer der Menschen, die als Antwort auf meine Frage sagte, daß meine Annahme, die möglicherweise nicht genau sein.

Was haben Sie beobachtet?Menschen nutzen github release früh-und release-oft, nur putting stable releases auf rubyforge, oder machen die Leute das lösen weniger oft auf rubyforge aus anderen Gründen (z.B. rubyforge mehr Aufwand)?

Update:Diese Frage ist ein wenig umstritten jetzt. Github Edelsteine sind aufgelösten, und rubyforge Edelsteine gehen bewegt werden, um rubygems.org.

War es hilfreich?

Lösung

Kein Unterschied, soweit ich das sagen kann.

Es gibt eine große Auswahl in der Qualität/Stabilität der Edelsteine, die aus beiden Quellen.Einige sind rock solid, andere sind pre-alpha Qualität.

Es hängt wirklich davon ab, das gem-Projekt selbst.

Having sagte, dass, obwohl, auf der github-Modell setzt sich verleihen zu mehr schnelle umdrehen auf Probleme.Es ist viel einfacher zu Gabel ein Projekt, beheben einen Fehler und senden Sie es zurück in die ursprüngliche Quelle.Also zumindest auf der populären Projekten bugs behoben schneller.Vieleicht hilft das ja Projekte, die Reifen schneller, aber ich weiß es nicht.

Andere Tipps

Was mir aufgefallen ist, eine abnehmende Qualität der EDELSTEIN erscheint über GitHub im Vergleich mit der Allgemeinen Qualität der EDELSTEINE, bei RubyForge.

IMHO gibt es mindestens zwei wichtige Erklärung für dieses Verhalten:

--

Vor GitHub 99% von Rubyist wurde Subversion-abhängig.Sie können sagen, was Sie wollen, Subversion, aber es ist definitiv einfacher zu bedienen im Vergleich mit Git und jeder ist sich bewusst, trunk/tags/branches layout.Dann begannen die Menschen zu bewegen, zu Git.Nur eine super-limited-slice von Subversion-Benutzer gestartet, um die Verwendung von Git mit der Ebene des Wissens, die es verlangen sollten, und, was mir aufgefallen ist, ist, dass die Menschen begannen zu vergessen-tags.

Once upon a time-es waren tags.In subversion Menschen wurden verwendet, um neue release-version, basierend auf bestimmten tags, so dass Sie leicht erkennen können, welche version Sie installiert haben, und das war die "stable" - Zweig.

Heute sehe ich Tonnen von Bibliotheken, die immer in der Entwicklung in den Git master branch.Keine tags, keine stabile Zweige.Im Allgemeinen, wenn Sie Bibliotheken, in denen veröffentlicht, die über RubyForge es war eine höhere Aufmerksamkeit für die Bereitstellung Schritt.

--

GitHub macht der Verlag den Schritt nicht mehr ein Streit.Das heißt, Sie können ganz einfach veröffentlichen ein neues JUWEL einfaches drücken der gemspec in Ihrem repository.

Meiner Meinung nach diese Einfachheit könnte führen zu einer geringeren Qualität.Mehr weniger qualifizierte entwickelt, gestartet zu verteilen EDELSTEINE, weil es so einfach wie das erstellen eines neuen Projekts mit Juwelier (oder eine ähnliche Bibliothek) und schob ein git-repository.Sie wusste nicht viel mehr über release-management, Abwärtskompatibilität, release Stößen, release Wartung.

Oft stieß ich auf ein unvollendetes Bibliotheken verpackt wie ein JUWEL, nur weil die Entwickler vergessen remote .gemspec-Datei.Jeder commit verursacht ein neues JUWEL gebaut werden, mit keine scheinbare Kohärenz und Konsistenz.

Ich bin absolut zu Gunsten der "release often" der Praxis, aber wenn es Sinn macht.Git bietet eine hervorragende Zweig unterstützt, brauchen Sie nicht verunstalteten den master-Zweig mit Tonnen von nicht verwandten begeht und loslassen unvollendeten Stück von code, Sie nennen Bibliotheken.

--

Last but not least, was ich wohl am meisten hasse ist die unbegrenzte Vervielfältigung der gleichen JUWEL.Wenn RubyForge war der unangefochtene JUWEL Quelle, es war ziemlich leicht zu finden und installieren Sie ein neues Projekt.

IMHO, GitHub eingeführt, eine unnötige Schicht von Komplexität.Zuerst müssen Sie GEM beide über rubyforge als mygem und über GitHub als username-mygem.Sie brauchen oft Zeit zu verbringen, um herauszufinden, welche GEM ist das am meisten aktualisierte und hält die master-Entwicklung.

Darüber hinaus sind einige beliebte EDELSTEIN war nicht mehr aktualisiert auf RubyForge und viele Menschen weiter, um Sie zu benutzen, nur weil RubyGems nicht Benachrichtigen Sie über neue Versionen.Leicht zu verstehen, wenn Sie Sie installiert haben coolgem Version 1.2.4 und derselben Bibliothek ist jetzt erhältlich als superuser-coolgem (release 2.0), RubyGems ist nicht klug genug, um sagen Sie ein neues update verfügbar ist.

--

Jetzt ist es Zeit für einen disclaimer.

Ich sage nicht, GitHub-Benutzer erzeugt beschissen EDELSTEINE im Vergleich mit RubyForge.Ich bin ein GitHub-Benutzer und vor ich war ein RubyForge Benutzer als gut.Tausende von EDELSTEINEN erfolgreich migriert von RubyForge auf GitHub, ohne den end-Benutzer im "ist-die man" limbo.

Das beste Beispiel Schienen, aber ich kann schweigen von den vielen anderen Edelsteine, einschließlich (aber nicht beschränkt auf) Capistrano, Hpricot, RedCloth...Alle diese Bibliotheken sind jetzt gehostet auf GitHub und wenn Sie Sie sorgfältig betrachten, können Sie leicht erkennen, die in gleicher Qualität wie zuvor.

Last but not least, alle diejenigen, die Bibliotheken weiterhin veröffentlicht, über RubyForge als master-Quelle, so dass Sie nichts konfigurieren müssen, Ihre Umgebung zu erkennen, ob zu installieren Schienen-Schienen oder Schienen.

Auch die end-Benutzer ist nicht betroffen durch die Entwicklung Entscheidungen.Nehmen Capistrano, zum Beispiel.Vor ein paar Monaten Jamis kündigte das Ende seines Engagements für die Entwicklung.Die Gemeinde übernahm die Entwicklung und zog das master-repository aus jamis/capistrano zu capistrano/capistrano.Was würde passieren, wenn der EDELSTEIN veröffentlicht wurde jamis-capistrano?Alle Benutzer wäre ein Wechsel auf das neue JUWEL und ein neues repository mit viel Aufwand.

Dieses Szenario nie entstand, weil RubyForge war und auch weiterhin werden die wichtigsten Capistrano delivery hub.

--

Zusammenfassend muss ich leider merkt insgesamt ein Rückgang von EDELSTEIN-Qualität vor allem durch die mehr Menschen auf Ruby und RubyGems ohne das notwendige Maß an wissen.Das gleiche gilt für eine große Anzahl an Rails-plugins.

GitHub können gekennzeichnet werden als die Schuldigen.Wenn komplexe Dinge werden mehr leicht und mehr Menschen sich Ihnen nähern, ohne eine zugrunde liegende wissen, ist es normal, dass die Qualität sinken kann, weil die Komplexität ist eine Natürliche Auswahl.

Trotzdem gibt es immer noch eine ausgezeichnete Qualität in der Ruby-community.Es ist erstaunlich zu sehen, wie Ruby-Entwickler sind verpflichtet, unit-Tests und anderen professionellen Programmierung Gewohnheiten.

Wahrscheinlich weniger stabil und etwas mehr up to date :) -r

um Ihre Frage zu beantworten schließlich:sowohl der Ressourcen, die Sie erwähnt (rubyforge, github) sind inzwischen obsolet, da gemcutter ist das neue und einzige Ort für rubygems.

Gemcutter Ist Die Neue Offizielle Standard RubyGem-Host:http://www.rubyinside.com/gemcutter-is-the-new-official-default-rubygem-host-2659.html

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top