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

165

J'ai lu l'arriéré des réponses aux questions sur le SO concernant "Comment promouvoir un projet open source". Sans surprise, de nombreuses réponses ont orienté les gens vers SoureForge / FreshMeat et d'autres sites, etc., ainsi que sur les blogs et autres. Cela m'a amené à me demander quel 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).

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 ...

La question suivante devient donc "Dois-je héberger mon projet sur plusieurs sites" à laquelle le post suivant fournit la réponse attendue (heureusement! Car ce serait pénible à maintenir).

Héberger un projet open source sur plusieurs sites

Sur la base de 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 à l'autre? c'est-à-dire, dois-je m'en tenir à CodePlex ou est-ce que je passe à côté en n'utilisant pas l'une des alternatives? Est-ce que l'on va générer plus de trafic vers un nouveau projet 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 bonnes personnes sur SO, je me suis dit que je commencerais par cette question.

ACTUALISÉ

Selon la réponse d'erjiang ci-dessous ... J'utilise actuellement Mercurial pour le contrôle de version, et je suis ouvert à tout autre que TFS. De plus, mon projet actuel n'est que moi en train de développer, mais les projets futurs peuvent être collaboratifs, donc cela vaut la peine d'être considéré ...

Chris Baxter
la source
55
Clôturer cette question était l'OMI complètement inutile. Je dois me demander ce qui a été réalisé par la clôture? La question a beaucoup de votes positifs (donc évidemment les gens la trouvent intéressante), elle a une réponse très positive (donc cette Q&R est évidemment utile), et c'est un wiki communautaire (donc même si elle demande une opinion subjective ou des recommandations de produit, personne ne pourrait ont profité simplement du parrainage du dernier et meilleur produit).
stakx - ne contribue plus
12
C'est le type de question qui aurait dû être fermée avant d' avoir autant de réponses, car ce n'était pas vraiment d'un type approprié. Cependant, maintenant qu'il a reçu autant de réponses, la fermeture est contre-productive et déprécie les contributions qui ont été faites.
Chris Stratton
4
Une chose obtenue en fermant cette question @stakx est de la protéger des nouvelles réponses. Maintenant, il va sûrement sombrer dans la non-pertinence.
Bob Stein
@ BobStein-VisiBone est-il hors de propos? Je viens de poser cette question plus de six ans après qu'elle a été posée à l'origine.
wonea
2
@wonea J'étais d'humeur sarcastique. Je suis déçu lorsque des questions pertinentes, utiles et auxquelles on peut répondre sont entravées. Dans l'état actuel des choses, si de nouvelles opportunités d'hébergement open-source apparaissent, cette page est artificiellement contrainte de les éditer dans une réponse existante. Les questions d'opportunité ont particulièrement besoin de place pour évoluer. Je m'attends à ce qu'il devienne de plus en plus périmé chaque année. Stackoverflow est génial, mais il supprime également beaucoup de ce qui est génial.
Bob Stein

Réponses:

127

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

SourceForge est passé du côté obscur, prenant en charge le projet et les regroupant avec Adware ( Google GIMP Sourceforge Adware ). A éviter à tout prix. GitHub est à l'heure actuelle toujours le plus populaire, bien qu'il existe des alternatives (par exemple, BitBucket propose des dépôts privés illimités gratuitement pour un maximum de 5 utilisateurs.)

C'est fou à quel point le paysage a changé au cours des dernières années, et si vous lisez ceci à l'avenir, peut-être que GitHub n'est plus le produit cool. En bout de ligne, il existe une pléthore d'options impressionnantes pour le système de contrôle de source que vous souhaitez utiliser.

Anciennes informations de 2010 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 premier lieu d'hébergement de code, et chaque fois que je dois créer un nouveau projet OSS, je n'ai pas l'ombre d'un doute où aller. Laissant ceci ci-dessous pour référence.

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

Pourquoi?

Parce que je pense que SourceForge est désormais insignifiant pour les projets open source. D'accord, cela me posera 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 refontes, je pense que l'image de SF n'est pas trop belle. Pour les comparer aux images d'entreprises: Alors que GitHub est Apple, SF est IBM. Solide comme le roc, mais un peu poussiéreux)

Donc, si je devais écrire à nouveau cette publication, ce serait CodePlex contre GitHub contre BitBucket , GitHub étant le gagnant. Mais c'est une déclaration générale, alors laissez-moi ajouter des détails. +/- n'est pas strictement Pro / Con, il s'agit plutôt de mettre en évidence différentes philosophies.

CodePlex

+ Real Mercurial / Git Hosting - pas de pont bogué au-dessus de TFS, vous avez un véritable Mercurial / Git
+ Wiki intégré qui permet d'ajouter une documentation riche et de belles pages
+ 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 `` sentent '' simplement compliquées
- Les fourchettes et les demandes d'extraction `` pas aussi faciles '' - l'interface utilisateur pourrait nécessiter un peu de travail

Dans l'ensemble, CodePlex est toujours génial, mais je pense qu'il est plus adapté aux développeurs uniques ou aux très petites équipes car le site Web se concentre 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, prend en charge SSL / SSH
+ Le graphique réseau permet de voir les fourches et ce qui a fusionné dans quoi quand
+ Possibilité de `` regarder '' des projets - votre page de compte est comme un mur Facebook avec de nouvelles vérifications
+ Super bon visionneuse de différences avec la possibilité de commenter sur les modifications d'une seule ligne - voir ici
+ Le fork est un processus en 2 clics, tout comme l'envoi de pull requests
+ GitHub a maintenant l'outil GUI 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 comme Markdown ou HTML), il est affiché, mais la page initiale est le code source
- Wiki n'est pas si génial - c'est Markdown, mais le formatage semble parfois un peu trop complexe.

GitHub a une philosophie différente de CodePlex: tout est question de code source et de collaboration entre les développeurs. La page principale du projet est le code source le plus à jour. Il existe un Wiki séparé, mais il est plus destiné à la documentation qu'à la présentation de votre projet. Le graphique du réseau est fantastique, même s'il peut devenir déroutant une fois qu'il y a plus d'environ 20 fourchettes (souvent lorsqu'un projet de haut niveau est annoncé, tout le monde et leur chien le bifurquent, mais la plupart des fourchettes meurent rapidement). GitHub s'adapte très bien à toutes les tailles.

En fait, GitHub me permet de créer très facilement un projet, d'appliquer un correctif / correctif, de le valider dans mon fork et d'envoyer une pull request à l'auteur. Avec le graphique du réseau, il est vraiment 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 si bonnes.

BitBucket

+ Git / Mercurial
+ Permet des référentiels privés gratuitement, jusqu'à 5 utilisateurs

Je n'ai pas suffisamment 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 facture et Codeplex ne l'offre pas du tout.

Code Google

Google Code n'est plus une option.

- La création de projet est désactivée depuis mars 2015, et le service Google fermera définitivement le 25 janvier 2016 , car les services concurrents sont tout 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. De nombreux projets l'utilisent et il est très stable et robuste, aucun développeur n'a entendu beaucoup de mal. Cependant, en tant qu'opinion personnelle et subjective, le «design» me rebute.

SVN contre Git / Mercurial

Pour réitérer mon commentaire ci-dessus sur le fait que SourceForge est obsolète: c'est bien sûr un peu dur. Je pense cependant 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 à la racine de votre arborescence source qui comprend une liste de fichiers / répertoires / modèles à ignorer. Pas de magie svn: ignorez les métadonnées dans le dossier .svn. Cela seul souffle SVN hors de l'eau pour moi. Si je démarre un nouveau projet Visual Studio, je dois ensuite appliquer ces métadonnées magiques, tandis qu'avec Git / mercurial, je copie simplement un fichier et j'en ai terminé.

Ensuite, la possibilité de fork, de patcher et d'envoyer une pull request est fantastique, en particulier pour les patchs petits / uniques.

Enfin et surtout, 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 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 votre projet, pour une raison quelconque, nécessite des règles de contribution strictes (ce qui peut avoir du sens, par exemple une protection juridique pour s'assurer que le code engagé est effectivement contribué légalement), alors un système traditionnel comme SVN hébergé sur SourceForge peut fonctionner.

Edit: Je ne savais pas que SF avait enfin un hébergement distribué. Comme dit ci-dessus, c'est robuste mais ce n'est plus le `` cool kid '', et je le trouve beaucoup trop complexe.

TL; DR

Pour tout projet petit à moyen, je recommande vivement GitHub, pour les petits projets où vous voulez un beau site Web, j'irais aussi 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 «vrai» site Web, pensez à Source Forge.

Michael Stum
la source
3
Je ne peux pas être d'accord sur Google Code, je pense que c'est facile, intuitif et léger (et le site Web est rapide ! Comparez cela à CodePlex…!) Et serait mon choix n ° 1 à chaque fois. Mais le reste est une lecture intéressante.
Konrad Rudolph
2
@Konrad C'est vrai, comme dit, c'est une chose personnelle. Peut-être que l'approche minimaliste me rebute. Je n'ai rien entendu de mal à propos du côté fonctionnel , mais je n'y ai jamais hébergé de projet.
Michael Stum
2
Excellente réponse, très détaillée! Donne une excellente explication des différences entre les principaux sites (enfin, CodePlex et GitHub) qui m'ont le plus intéressé. Il est également intéressant de noter que vous identifiez SourceForge comme insignifiant à ce stade; certainement un changement d'opinion par rapport aux articles plus anciens. Merci!
Chris Baxter
4
Il existe également des facteurs propres au type de projet que vous exécutez. Par exemple, avec les projets .Net, CodePlex prend en charge le déploiement ClickOnce, contrairement à Google Code.
dbkk
1
@MichaelStum Vous pouvez peut-être ajouter les services GitHub Pages. Le point d'entrée de tout projet hébergé sur GitHub doit être une page.
Matías Fidemraizer
8

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 système de contrôle de source plus récent

Je suis un fan de Git, mais Mercurial est également génial. J'utilise personnellement GitHub pour ses fonctionnalités de collaboration impressionnantes, comme la facilité de création de requêtes 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 dans leur liste les plus téléchargées. C'est probablement une combinaison de la façon dont il est naturellement centré sur Microsoft et également des stigmates du passé. Si vous développez exclusivement pour .NET ou quelque chose de similaire, cela changera la perspective.

Edit: De plus, je dirais que les développeurs ne recherchent généralement pas au hasard des projets intéressants. Vous êtes également susceptible de passer inaperçu sur GitHub que vous êtes sur CodePlex, mais si quelqu'un ne découvre votre projet, ils seront plus susceptibles d'envoyer des messages / bogues de fichiers / contribuer si elles ont déjà un compte sur ce site.

erjiang
la source
2
J'utilise actuellement Mercurial (je ne toucherais pas TFS avec un poteau de 10 pieds)
Chris Baxter
2
Il y a quelque chose qui ne va pas avec la phrase easy forking
Marko
2
Pour quiconque est curieux, sur GitHub, au lieu de forger une scission irréversible d'un projet, c'est la meilleure façon de modifier un projet existant. Après avoir effectué vos modifications personnelles, vous pouvez envoyer à ce projet d'origine une «demande d'extraction» aux modifications de votre fork.
erjiang
J'accepte que CodePlex s'adresse uniquement au développement Microsoft; cela fonctionne pour moi ... l'impression que j'ai est que si open source général ... GitHub; si .NET Focused et une équipe unique / plus petite CodePlex. Aussi comme la modification sur la sensibilisation ... ce sera la prochaine bataille. Merci!
Chris Baxter
1
@marko: une fourche facile est une bonne chose
Nicolas Raoul
4

Puisque Github se développe assez rapidement et semble être le plus important parmi les projets que je vois ces jours-ci. Il obtiendrait mon vote.

Mais je pense que l'un ne signifie pas nécessairement que vous ne pouvez pas utiliser l'autre. Je vois de nombreux projets qui utilisent Github pour la source et Google Code pour les documents. Et en plus de cela, un lien Sourceforge vers lui aussi.

Ce que vous utilisez en tant qu'hôte principal n'a pas vraiment d'importance, mais je vous recommande d'ajouter vos projets sur les autres sites afin qu'il soit facile de le trouver.

Wolph
la source
Intéressant que vous recommandiez l'hébergement sur plusieurs sites. Mes premières pensées seraient d'accord avec les références SO réponse liée ci-dessus ... que pensez-vous de ce fil?
Chris Baxter
@Calgary Coder: Je ne parle pas spécifiquement d'hébergement, mais plutôt de liens. J'ai arrêté d'utiliser Sourceforge il y a des années à cause de la lenteur et des changements de conception horribles. Mais créer le projet sur sourceforge et créer un lien vers votre site Web github (ou autre) peut aider à faciliter la recherche de votre projet. Pour la documentation, j'ai trouvé que le wiki Google Code était plus facile que le wiki Github, c'est pourquoi je préfère cela. J'aime l'interface Github et les options de forking, donc je pense que c'est un bon choix pour votre source. Pour la révision du code, j'ai trouvé que le tableau de bord était très agréable.
Wolph
4

Cette question semble être un double de celle-ci: /programming/10490/best-open-source-project-hosting-site

Voici ma réponse à cette question: /programming/10490/best-open-source-project-hosting-site/3433969#3433969

En général, je pense que les avantages / inconvénients importants se rapportent le plus aux fonctionnalités de développement proposées et au public principal de chaque site, que dans ma réponse ci-dessus, je parcours pour les quatre sites les plus populaires.

jwanagel
la source
1
Merci pour le lien, j'essayais de ne pas dupliquer une question, mais j'ai raté celle-là.
Chris Baxter
1
@CalgaryCoder, vous pourriez au moins avoir voté pour, puisque vous avez pris le temps de le remercier. NVM, je l'ai fait pour vous ;-)
Mawg dit de réintégrer Monica le
Ces liens semblent être morts maintenant.
pbible le