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

J’ai lu l’arriéré des réponses aux questions sur SO concernant “Comment promouvoir un projet open source“. Sans surprise, beaucoup de réponses ont indiqué les gens sur SoureForge / FreshMeat et d’autres sites, ainsi que sur les blogs et autres. Cela m’a commencé à penser où est le meilleur endroit pour accueillir 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 “Dois-je héberger mon projet sur plusieurs sites” auquel la publication suivante fournit la réponse attendue (heureusement que cela poserait un problème de maintenance).

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

Sur la base de l’état actuel des différents 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 à l’autre? Par exemple, devrais-je restr avec CodePlex ou suis-je en train de manquer une des alternatives? Faudra-t-il générer plus de trafic vers un nouveau projet inconnu?

Je compte explorer chaque site plus en détail pour voir ce qu’ils offrent tous, mais compte tenu de la vaste connaissance des gens bien sur SO, j’ai décidé de commencer par cette question en premier.

ACTUALISÉ

Selon erjiang réponse ci-dessous … J’utilise actuellement Mercurial pour le contrôle de version, et je suis ouvert à toute autre chose que TFS. De plus, mon projet actuel ne fait que me développer, mais les projets futurs peuvent être collaboratifs, donc cela vaut la peine de les envisager …

Modifier 2015-08-01: Cette réponse reçoit toujours des points de vue et des votes. C’est plus qu’ancien et j’aimerais le supprimer, mais puisque 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 maintenu à jour – merci pour cela!

SourceForge est passé du côté obscur, reprenant le projet et les regroupant avec Adware ( Google GIMP Sourceforge Adware ). Éviter à tout prix GitHub est toujours le plus populaire, bien qu’il existe des alternatives (par exemple, BitBucket offre des mises en pension privées illimitées pour un maximum de 5 utilisateurs).

C’est fou à quel point le paysage a changé ces dernières années, et si vous lisez ceci dans le futur, peut-être que GitHub n’est plus le produit idéal. En résumé, il y a une pléthore d’options impressionnantes pour n’importe quel système de contrôle de source que vous voulez utiliser.

Ancienne information 2010 ci-dessous pour l’amour de l’histoire

Edit: Cette réponse est maintenant ancienne. Au cours des deux dernières années, GitHub s’est imposé comme le principal hébergeur de code, et chaque fois que je dois créer un nouveau projet OSS, je n’ai pas l’ombre d’un doute là où aller. Laissant cela ci-dessous pour référence.

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

Pourquoi?

Parce que je pense que SourceForge est insignifiant maintenant pour les projets open source. Ok, ça va me causer beaucoup de problèmes, alors laissez-moi clarifier:

Je suis absolument convaincu que les projets Open Source doivent ê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 désormais Mercurial et Bazaar, donc cet argument ne tient plus. Cependant, après deux remaniements, je pense que l’image de SF n’est pas trop grande. Pour les comparer aux images des entresockets: Alors que GitHub est Apple, SF est IBM. Rock solide, mais un peu poussiéreux)

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

CodePlex

+ Real Mercurial / Git Hosting – pas de pont buggy sur TFS, vous avez de vrais Mercurial / Git
+ Wiki intégré qui permet d’append de la documentation riche et des pages agréables
+ Suivi des bogues et forums de discussion inclus
– Le navigateur de code source n’est pas génial – Les diffs apparaissent dans une fenêtre contextuelle et se sentent simplement compliqués
– Les fourchettes et les demandes de tirage ne sont pas aussi faciles – l’interface utilisateur pourrait utiliser un peu de travail

Dans l’ensemble, CodePlex est toujours génial, mais je pense que c’est plus adapté aux développeurs simples ou aux très petites équipes car le site Web est axé 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 de projet, votre projet CodePlex peut être votre guichet unique.

GitHub

+ Git Hosting, supporte SSL / SSH
+ Le graphique du réseau permet de voir les fourchettes et ce qui a fusionné quand
+ Possibilité de «regarder» des projets – votre page de compte est comme un mur Facebook avec de nouvelles checkins
+ Super bon visualiseur avec la possibilité de commenter les modifications d’une seule ligne – voir ici
+ Forking est un processus en 2 clics, tout comme l’envoi de requêtes de tirage
+ 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 Lisez-moi dans votre projet (prend en charge certains langages de balisage tels que Markdown ou HTML), il est affiché, mais la page initiale correspond au code source.
– Wiki n’est pas terrible – c’est Markdown, mais parfois le formatage est 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 développeurs. La page principale du projet est le code source le plus récent. Il y a un wiki séparé, mais c’est plus destiné à la documentation qu’à la présentation de votre projet. Le graphique du réseau est fantastique, même s’il peut y avoir confusion dès qu’il y a plus d’une vingtaine de fourchettes (souvent, lorsqu’un projet de grande envergure est annoncé, tout le monde le fait, mais la plupart des fourches meurent rapidement). GitHub s’adapte très bien à toutes les tailles.

En fait, GitHub me permet de bricoler un projet très facilement, d’appliquer un correctif / correctif, de le mettre sur mon fork et d’envoyer une requête à l’auteur. Avec le graphique du réseau, il est très facile de voir le commit.

Mais vous avez probablement besoin d’une page d’accueil distincte pour présenter votre projet aux utilisateurs finaux et pour fournir des téléchargements, car les fonctionnalités de téléchargement de GitHubs ne sont pas très performantes.

BitBucket

+ Git / Mercurial
+ Permet des repositorys privés gratuits, 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, tandis que GitHub se charge et Codeplex ne l’offre pas du tout.

Code Google

Google Code n’est plus une option.

– La création du projet est désactivée depuis mars 2015 et le service Google sera définitivement fermé le 25 janvier 2016 , car les services concurrents sont simplement meilleurs.
– C’est moche et c’est trop compliqué de parcourir le code source (le lien est un peu enterré)

Je ne l’ai pas utilisé, donc je ne veux pas dire que c’est mauvais – ce n’est pas le cas. Un grand nombre de projets l’utilisent et c’est très stable et robuste, mais aucun développeur n’a entendu parler de lui. Cependant, pour des raisons d’opinion personnelle et subjective, le «design» me rebute.

SVN vs Git / Mercurial

Pour réitérer mon commentaire ci-dessus à propos de SourceForge étant 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, des exigences de métadonnées étranges pour ignorer les fichiers. Sur Git ou mercurial, vous avez un fichier appelé .gitignore ou .hgignore dans la racine de votre arbre source, qui inclut une liste de fichiers / répertoires / patterns à ignorer. Pas de svn magique: ignorez les métadonnées dans le dossier .svn. Cela seul souffle 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 copie simplement un fichier et en ai fini avec.

Ensuite, la possibilité de créer une demande de tirage, de patcher et d’envoyer des requêtes est fantastique, en particulier pour les petits correctifs ponctuels.

Last but not least, SourceForge est encore trop complexe à mon goût. Ce n’est pas un mauvais hôte, mais cela montre vraiment que c’est l’âge. Cela étant dit, il est toujours robuste et possède de nombreux miroirs dans le monde entier. De plus, le Bug Tracker est beaucoup plus sophistiqué que les autres.

De plus, si pour une raison quelconque votre projet nécessite des règles de consortingbution ssortingctes (ce qui peut être logique, par exemple une protection juridique pour s’assurer que le code engagé est légalement consortingbué), un système traditionnel comme SVN hébergé sur SourceForge peut fonctionner.

Edit: Je ne savais pas que SF a enfin dissortingbué l’hébergement. Comme dit ci-dessus, c’est plus robuste, mais ce n’est plus le “cool kid”, et je trouve cela beaucoup trop complexe.

TL; DR

Pour tous les projets de petite et moyenne taille, je recommande vivement GitHub, pour les petits projets où vous voulez un site Web intéressant. J’irais avec CodePlex et pour les projets privés, j’irais avec BitBucket. Pour les grands projets qui nécessitent un outil de suivi des bogues très sophistiqué, des tonnes de fonctionnalités supplémentaires et un site Web «réel», considérez Source Forge.

Eh bien, vous n’avez pas dit quel système de contrôle de source vous utilisez, ce qui influence grandement vos choix.

(pas complet)

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

Je suis un fan de Git, mais Mercurial est également génial. Personnellement, j’utilise GitHub pour ses fonctionnalités collaboratives impressionnantes, telles que les requêtes de traçage et d’extraction faciles.

Je veux append que CodePlex n’est pas très populaire dans l’écosystème open-source en dehors du camp Microsoft, et c’est facile à voir dans la liste la plus téléchargée. C’est probablement une combinaison de la nature de Microsoft centrée sur elle 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 ne vont généralement pas au hasard 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 d’envoyer des messages / bogues de fichiers / de consortingbuer s’il possède déjà un compte sur ce site.

Puisque Github se développe rapidement et semble être le plus important parmi les projets que je vois de nos jours. Il recevrait mon vote.

Mais je pense qu’il ne faut pas dire que vous ne pouvez pas utiliser l’autre. Je vois beaucoup de projets qui utilisent Github pour la source et Google Code pour les documents. Et en plus, un lien avec Sourceforge est également disponible.

Peu importe ce que vous utilisez en tant qu’hôte principal, mais je vous recommande d’append vos projets sur les autres sites afin de les trouver facilement.

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 avantages et les inconvénients les plus importants sont liés aux fonctionnalités de développement offertes et à l’audience principale de chaque site. Dans ma réponse précédente, je passe en revue les quatre sites les plus populaires.