web-dev-qa-db-fra.com

Où héberger un projet Open Source: CodePlex, Google Code, SourceForge?

J'ai lu l'arriéré de réponses aux questions sur SO concernant "Comment promouvoir un projet open source". Bien entendu, bon nombre des réponses ont indiqué des personnes à SoureForge/FreshMeat et à d'autres sites, etc. Cela a commencé à me demander où est le meilleur endroit pour héberger un projet et pourquoi?

Comme mon premier projet est actuellement hébergé sur CodePlex, j'ai commencé à parcourir les résultats de recherche Google pour collecter des informations sur les avantages/inconvénients de chacun; Cependant, les comparaisons que j'ai trouvées sont plutôt datées (2 ans et plus).

http://www.stum.de/2008/12/13/sourceforge-vs-codeplex/
http://www.developmentnow.com/blog/2006/11/codeplex-vs-sourceforge/
http://www.spacesocket.com/forum/thread-6654.html
etc...

Donc, la question suivante devient "Devrais-je héberger mon projet sur plusieurs sites", à laquelle le message suivant fournit la réponse attendue (heureusement, ce serait difficile à maintenir).

Hébergement d'un projet open source sur plusieurs sites

Selon l'état actuel de divers sites d'hébergement Open Source tels que CodePlex, GitHub, Google Code, SourceForge, etc., y a-t-il des avantages/inconvénients notables d'un site par rapport à un autre? c'est-à-dire, devrais-je rester avec CodePlex ou suis-je absent en n'utilisant pas l'une des alternatives? Faudra-t-il générer plus de trafic sur un projet nouveau et inconnu?

Je prévois d’explorer chaque site plus en détail pour voir ce qu’ils offrent tous, mais étant donné la vaste connaissance des bons spécialistes de SO, j’ai pensé que je commencerais par cette question.

[~ # ~] mis à jour [~ # ~]

Comme indiqué dans la réponse ci-dessous, j'utilise actuellement Mercurial pour le contrôle de version, et je suis ouvert à toute autre solution que TFS. De plus, mon projet actuel ne concerne que moi, mais des projets futurs pourraient être collaboratifs, donc il vaut la peine d'être envisagés ...

166
Chris Baxter

Edit 2015-08-01: Cette réponse reçoit toujours les vues et les votes. C'est plus qu'ancien et je voudrais le supprimer, mais comme c'est la réponse acceptée, je ne peux pas le faire. Là encore, c'est le wiki de la communauté et la communauté l'a mis à jour - merci pour cela!

SourceForge est passé du côté obscur, reprenant le projet et le liant à un logiciel de publicité ( Google Adware Source de Google GIMP ). Eviter à tout prix. GitHub est toujours le plus populaire, bien qu'il existe des alternatives (par exemple, BitBucket offre des pensions privées illimitées et gratuites pour un maximum de 5 utilisateurs.)

C'est fou ce que le paysage a changé au cours des dernières années, et si vous lisez ceci à l'avenir, GitHub n'est peut-être plus le produit idéal. En résumé: Il existe une pléthore d’options impressionnantes pour tout système de contrôle de source que vous souhaitez utiliser.

Ancien 2010 informations ci-dessous pour des raisons d'histoire

Edit: Cette réponse est maintenant ancienne. Au cours des 2 dernières années, GitHub est devenu le principal lieu d'hébergement de code, et chaque fois que je dois créer un nouveau projet de logiciel libre, je n'ai pas la moindre trace du moindre doute sur où aller. Laissant ceci ci-dessous pour référence.

En effet, mon affectation a presque 2 ans (2008) maintenant et n’est plus tout à fait exacte.

Pourquoi?

Parce que je pense que SourceForge est insignifiant maintenant pour les projets open source. D'accord, cela va me causer beaucoup d'ennuis, alors laissez-moi préciser:

Je suis absolument convaincu que les projets Open Source devraient être exécutés sur un DVCS, de préférence git ou Mercurial, car ils sont les plus répandus - rien contre Bazaar, mais je pense que c'est un peu trop obscur. ( Edit: SourceForge propose maintenant Mercurial et Bazaar, de sorte que cet argument ne tient plus. Cependant, après deux remaniements, je pense que l’image de SF n’est pas très bonne. Pour les comparer aux images des entreprises: alors que GitHub est Apple, SF est IBM. Rock solide, mais un peu poussiéreux)

Donc, si je devais écrire à nouveau cette annonce, ce serait CodePlex vs. GitHub vs. BitBucket , GitHub étant le gagnant. Mais c’est une déclaration générale, alors permettez-moi d’ajouter des détails. +/- n'est pas strictement Pro/Con, c'est plus pour mettre en évidence différentes philosophies.

CodePlex

+ Real Mercurial/Git Hosting - pas de pont buggy au dessus de TFS, vous avez un vrai Mercurial/Git
+ Wiki intégré permettant d’ajouter une documentation riche et des pages attrayantes
+ Bug Tracker et forums de discussion inclus
- Le navigateur de code source n'est pas si génial - Les différences apparaissent dans une fenêtre contextuelle et se compliquent
- Les demandes de fourche et de tirage "pas aussi facile" - l'interface utilisateur pourrait nécessiter du travail

Dans l’ensemble, CodePlex est toujours excellent, mais j’estime qu’il convient mieux aux développeurs isolés ou aux très petites équipes car le site Web est centré sur le wiki plutôt que sur le code source. C'est plus une publication qu'une plateforme de collaboration. Théoriquement, vous n'avez pas besoin d'une page d'accueil, votre projet CodePlex peut être votre guichet unique.

GitHub

+ Git Hosting, supporte SSL/SSH
+ Le graphique réseau permet de voir les fourchettes et ce qui a fusionné dans quoi quand
+ Possibilité de "regarder" des projets - votre page de compte est comme un mur Facebook avec de nouveaux enregistrements
+ Très bon afficheur de différences avec la possibilité de commenter les modifications d’une seule ligne - voir ici
+ Forking est un processus en 2 clics, il en est de même pour l'envoi de demandes d'extraction
+ GitHub a maintenant l’outil graphique GitHub pour Windows
- La page principale n’est pas très jolie pour les non-développeurs. Si vous avez un fichier Readme dans votre projet (prend en charge certains langages de balisage tels que Markdown ou HTML), il s'affiche, mais la page initiale est le code source.
- Le wiki n’est pas si génial: c’est Markdown, mais parfois le formatage semble un peu trop complexe.

GitHub a une philosophie différente de celle de CodePlex: il s’agit du code source et de la collaboration entre les développeurs. La page principale du projet est le code source le plus à jour. Il existe un wiki distinct, mais il est davantage destiné à la documentation qu'à la présentation de votre projet. Le graphique de réseau est fantastique, bien qu’il puisse devenir confus s’il ya plus de 20 fourchettes (fréquemment, lorsqu'un projet très médiatisé est annoncé à tout le monde et que leur chien l’a forgé, mais la plupart des fourchettes meurent rapidement). GitHub s'adapte très bien à toutes les tailles.

En fait, GitHub me permet de créer un projet, d'appliquer un correctif/correctif, de le valider pour mon projet et d'envoyer une demande d'extraction à l'auteur. Avec le graphique réseau, il est très facile de voir le commit.

Mais vous aurez probablement besoin d'une page d'accueil distincte pour présenter votre projet aux utilisateurs finaux et permettre les téléchargements, car les fonctionnalités de téléchargement de GitHubs ne sont pas géniales.

BitBucket

+ Git/Mercurial
+ Autorise les dépôts privés gratuitement, jusqu'à 5 utilisateurs

Je n'ai pas assez utilisé BitBucket pour faire un vrai commentaire. La seule caractéristique qui le distingue est que l’hébergement privé est gratuit, alors que GitHub facture et que Codeplex ne l’offre pas du tout.

Google Code

Google Code n'est plus une option.

- La création de projet est désactivée depuis mars 2015 et le service Google sera fermeture définitive le 25 janvier 2016 , comme les services concurrents sont simplement meilleurs.
- C'est moche et c'est trop compliqué de parcourir le code source (le lien est un peu enfoui)

Je ne l'ai pas utilisé alors je ne veux pas dire que c'est mauvais - ce n'est pas. De nombreux projets l'utilisent et il est très stable et robuste, et aucun développeur n'en a beaucoup entendu parler. Cependant, en tant que opinion personnelle, subjective, le "design" me rebute.

SVN vs Git/Mercurial

Pour réitérer mon commentaire ci-dessus sur le fait que SourceForge soit obsolète: C’est bien sûr un peu dur. Je pense toutefois que SVN est préjudiciable aux projets open source. Tout d'abord, les exigences de métadonnées étranges pour ignorer les fichiers. Sur Git ou Mercurial, vous avez un fichier appelé .gitignore ou .hgignore à la racine de votre arborescence source, qui inclut une liste de fichiers/répertoires/modèles à ignorer. Pas de magie svn: ignorer les métadonnées dans le dossier .svn. Cela seul jette SVN hors de l'eau pour moi. Si je lance un nouveau projet Visual Studio, je dois ensuite appliquer ces métadonnées magiques, alors qu'avec Git/Mercurial, je ne fais que copier un fichier et en finir.

Ensuite, il est fantastique de pouvoir bifurquer, patcher et envoyer une demande de tirage, en particulier pour les patches de petite taille ou ponctuels.

Dernier point mais non le moindre, SourceForge est toujours BEAUCOUP trop complexe à mon goût. Ce n'est pas un mauvais hôte, mais cela montre vraiment son âge à mon humble avis. Cela étant dit, il reste robuste et possède de nombreux miroirs dans le monde entier. De plus, le Bug Tracker est beaucoup plus sophistiqué que les autres.

De même, si votre projet nécessite, pour une raison quelconque, des règles de contribution strictes (ce qui peut avoir un sens, par exemple une protection juridique pour vous assurer que le code engagé est effectivement légalement fourni), un système traditionnel tel que SVN hébergé sur SourceForge peut fonctionner.

Edit: Je ne savais pas que SF avait enfin un hébergement distribué. Comme dit plus haut, il est robuste, mais ce n’est plus le "petit garçon cool", et je trouve cela beaucoup trop complexe.

TL; DR

Pour tout projet de petite à moyenne envergure, je recommande GitHub, pour les petits projets pour lesquels vous voulez un site Web agréable, j'utiliserais CodePlex et pour les projets privés, pour BitBucket. Pour les grands projets qui nécessitent un système de suivi des bogues très sophistiqué, des tonnes de fonctionnalités supplémentaires et un site Web "réel", envisagez Source Forge.

128
Michael Stum

Eh bien, vous n'avez pas précisé le système de contrôle de source que vous utilisez, ce qui influence grandement vos choix.

(non complet)

  • Git -> GitHub ou Gitorious sont les choix évidents
  • Mercurial -> BitBucket
  • SVN -> Savannah, SF.net
  • Bazar -> Launchpad
  • CVS -> mise à niveau vers un système de contrôle de source plus récent

Je suis un fan de Git, mais Mercurial est également génial. Personnellement, j'utilise GitHub pour ses fonctionnalités collaboratives géniales, telles que des requêtes faciles de forking et d'extraction.

Je veux ajouter que CodePlex n'est pas très populaire dans l'écosystème open source en dehors du camp Microsoft, et c'est facile à voir à partir de la liste la plus téléchargée. C'est probablement une combinaison de la manière dont il est naturellement centré sur Microsoft et des stigmates du passé. Si vous développez exclusivement pour .NET ou quelque chose de similaire, cela changera la perspective.

Edit: En outre, je dirais que les développeurs n'utilisent généralement pas la navigation de manière aléatoire pour des projets intéressants. Vous êtes également susceptible de passer inaperçu sur GitHub que sur Codeplex, mais si quelqu'un découvre votre projet , il sera plus susceptible de l'envoyer. messages/fichiers de bogues/contribuer s’ils ont déjà un compte sur ce site.

8
erjiang

Étant donné que Github grandit assez rapidement, il semble être le plus important parmi les projets que je vois actuellement. Cela aurait mon vote.

Mais je pense que l'un ne signifie pas que vous ne pouvez pas utiliser l'autre. Je vois de nombreux projets qui utilisent Github pour la source et Google Code pour la documentation. Et à côté de cela, un lien Sourceforge y est également associé.

Peu importe ce que vous utilisez en tant qu'hôte principal, mais je vous recommanderais également d'ajouter vos projets sur les autres sites afin de pouvoir le trouver facilement.

4
Wolph

Cette question semble être une copie de celle-ci: https://stackoverflow.com/questions/10490/best-open-source-project-hosting-site

Voici ma réponse à cette question: https://stackoverflow.com/questions/10490/best-open-source-project-hosting-site/3433969#3433969

En général, je pense que les principaux avantages/inconvénients sont principalement liés aux fonctionnalités de développement proposées et au public principal de chaque site, ce que, dans ma réponse ci-dessus, je présente pour les quatre sites les plus populaires.

4
jwanagel