Sont des pierres précieuses GitHub moins stables que les pierres précieuses rubyforge?

StackOverflow https://stackoverflow.com/questions/1112875

  •  12-09-2019
  •  | 
  •  

Question

Dans cette question, je l'ai mentionné mon hypothèse que les pierres précieuses sont plus rubyforge officiel, faisant autorité et stable que les fourches GitHub. L'une des personnes ayant répondu à ma question dit que mon hypothèse pourrait ne pas être précis.

Qu'avez-vous observé? Est-ce que les gens utilisent github pour libérer rapidement et libérer souvent, mettre uniquement sur les versions stables rubyforge, ou les gens libèrent moins souvent sur rubyforge pour d'autres raisons (par exemple rubyforge être plus compliqué)?

Mise à jour : Cette question est un peu discutable maintenant. gemmes sont Github défunte et noreferrer pierres précieuses rubyforge vont être déplacés vers rubygems.org.

Était-ce utile?

La solution

Aucune différence autant que je peux dire.

Il y a une vaste gamme de qualité / stabilité des pierres précieuses des deux sources. Certains sont solides comme le roc, d'autres sont de qualité pré-alpha.

Cela dépend vraiment du projet de bijou lui-même.

Cela dit cependant, le modèle github ne se prête à son tour plus rapide autour des questions. Il est beaucoup plus facile à la fourchette d'un projet, corriger un bug, et le soumettre de nouveau à inclure dans la source d'origine. Donc, au moins sur les projets populaires, les bugs se fixe plus rapide. Alors peut-être que cela aide les projets arrivent à maturité plus rapide, mais je ne sais pas.

Autres conseils

Ce que je remarqué une baisse de la qualité du GEM libéré par GitHub par rapport à la qualité globale de GEMS à RubyForge.

à mon humble avis, il y a au moins deux principales explications de ce comportement:

-

Avant GitHub 99% des Rubyist dépendait Subversion. Vous pouvez dire ce que vous voulez à propos de Subversion, mais il est certainement plus facile à utiliser par rapport à Git et tout le monde est conscient du tronc / tags / mise en page des branches. Ensuite, les gens ont commencé à se déplacer vers Git. Juste une tranche super limitée des utilisateurs Subversion a commencé à utiliser Git avec le niveau des connaissances, il devrait exiger et, ce que je remarqué, est que les gens ont commencé à oublié sur les balises.

Il était une fois il y avait des tags. Chez les personnes de subversion ont été utilisés pour libérer une nouvelle version basée sur des balises spécifiques de sorte que vous pouvez facilement détecter quelle version vous avez installé et qui était la branche stable.

Aujourd'hui, je vois des tonnes de bibliothèques toujours en cours de développement dans la branche principale Git. Pas de tags, pas de branches stables. En général, lorsque les bibliothèques où libérées par RubyForge il y avait un niveau d'attention à l'étape de déploiement.

-

GitHub fait l'étape de publication plus embêtant. Cela dit, vous pouvez facilement publier un nouveau GEM poussant simplement le gemspec dans votre dépôt.

A mon avis, cette simplicité pourrait peut conduire à une qualité inférieure. développé plus moins qualifiés ont commencé à distribuer GEMS parce qu'il est aussi facile que la génération d'un nouveau projet avec Bijoutier (ou une bibliothèque similaire) et en poussant un dépôt git. Ils ne savaient pas beaucoup plus sur la gestion des versions, compatibilité descendante, les bosses de libération, l'entretien de la libération.

Souvent, je suis tombé sur une des bibliothèques inachevées emballés comme un GEM juste parce que le développeur a oublié de le fichier distant .gemspec. Chaque commit a provoqué une nouvelle GEM être construit sans cohérence apparente et la consistance.

Je suis tout à fait en faveur de la pratique « libération souvent » mais quand il est logique. Git fournit un excellent support de branche, vous n'avez pas besoin d'encombrer la branche principale avec des tonnes de commits et sans rapport avec pièce de libération inachevée de code que vous appelez les bibliothèques.

-

Last but not least, ce que je déteste sans doute le plus est la duplication illimitée du même GEM. Lorsque RubyForge était la source GEM pas contestée, il était assez facile de trouver et d'installer un nouveau projet.

à mon humble avis, GitHub introduit une couche de complexité inutile. Tout d'abord, vous avez à la fois GEM disponible via rubyforge comme mygem et via GitHub comme username-mygem. Vous avez souvent besoin de passer du temps à comprendre que GEM est le plus mis à jour et détient le développement maître.

En outre, certains GEM populaire n'a plus été mis à jour sur RubyForge et beaucoup de gens continue à les utiliser juste parce que RubyGems ne vous informe pas de nouvelles versions. Facile à comprendre, si vous avez installé coolgem libérer 1.2.4 et la même bibliothèque est maintenant disponible en tant que super-utilisateur-coolgem (version 2.0), RubyGems est pas assez intelligent pour vous dire une nouvelle mise à jour est disponible.

-

Maintenant, il est temps pour un avertissement.

Je ne dis pas que les utilisateurs GitHub produit GEMS merdiques par rapport à RubyForge. Je suis un utilisateur GitHub et avant que j'étais aussi bien un utilisateur RubyForge. Des milliers de GEMS migré avec succès des RubyForge à GitHub sans laisser dans le « que l'on » limbes l'utilisateur final.

Les meilleurs Rails par exemple, mais je peux citer beaucoup d'autres, y compris GEMS (mais sans s'y limiter) Capistrano, hpricot, redcloth ... Toutes ces bibliothèques sont maintenant hébergé sur GitHub et si vous regardez attentivement, vous pouvez facilement les reconnaître même niveau de qualité que précédemment.

Last but not least, toutes ces bibliothèques continuent d'être libérés par RubyForge comme source principale de sorte que vous n'avez pas besoin de reconfigurer votre environnement pour détecter si l'installation des rails-rails ou rails.

En outre, l'utilisateur final n'est pas affectée par les décisions de développement. Prenez Capistrano par exemple. Un couple mois auparavant Jamis a annoncé la fin de son engagement envers le développement. La communauté a pris en charge le développement et a déplacé le référentiel maître de Jamis / Capistrano Capistrano / Capistrano. Que se passerait-il si le GEM a été libéré comme jamis-Capistrano? Tous les utilisateurs devront passer à la nouvelle GEM et le nouveau référentiel avec beaucoup de tracas.

Ce scénario ne se présentait, car RubyForge était et continue d'être le principal centre de distribution Capistrano.

-

En conclusion, je constate malheureusement une diminution globale de la qualité GEM principalement causée par plus de personnes approchant Ruby et RubyGems sans le niveau nécessaire de connaissances. Le même applique à un grand nombre de plugins Rails.

GitHub ne peut pas être étiqueté comme le coupable. Quand les choses deviennent complexes plus faciles et plus de gens les approcher sans une connaissance sous-jacente, il est normal que la qualité peut diminuer parce que la complexité est un processus de sélection naturelle.

Quoi qu'il en soit, il y a encore un excellent niveau de qualité dans la communauté Ruby. Il est étonnant de voir comment les développeurs Ruby se sont engagés à des tests unitaires et d'autres habitudes de programmation professionnelle.

Probablement moins stable et un peu plus à jour :) -r

pour répondre à votre question enfin:. Les deux ressources que vous avez mentionnés (rubyforge, github) sont désormais obsolètes, puisque Gemcutter est le lieu nouveau et seulement pour rubygems

Gemcutter est le nouveau défaut officiel rubygem hôte: http: //www.rubyinside. com / Gemcutter-est-la-nouvelle-officielle-rubygem-hôte par défaut 2659.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top