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é ...
la source
Réponses:
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.
la source
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)
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.
la source
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.
la source
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.
la source