【问题标题】:Where to host an Open Source Project: CodePlex, Google Code, SourceForge? [closed]在哪里托管开源项目:CodePlex、Google Code、SourceForge? [关闭]
【发布时间】:2011-05-04 20:07:11
【问题描述】:

我一直在阅读关于“如何推广开源项目”的 SO 的已回答问题的积压。毫不奇怪,许多答案将人们指向 SoureForge/FreshMeat 和其他网站等,以及博客等。这让我开始思考,哪里是托管项目的最佳地点,为什么?

由于我的第一个项目目前托管在 CodePlex 上,我开始浏览 Google 搜索结果以收集有关每个项目的优缺点的信息;然而,我发现的比较相当过时(2 岁以上)。

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
等等……

所以下一个问题变成了“我应该在多个站点上托管我的项目”,下面的帖子提供了预期的答案(谢天谢地!因为这将是一个痛苦的维护)。

Hosting an open source project at several sites

基于各种开源托管站点(例如 CodePlex、GitHub、Google Code、SourceForge 等)的当前状态,一个站点相对于另一个站点有什么显着的优点/缺点吗?即,我应该坚持使用 CodePlex,还是因为不使用其中一种替代方案而错过了?是否会为新的未知项目带来更多流量?

我计划更详细地探索每个网站,看看它们都提供了什么,但鉴于 SO 上的好人的广博知识,我想我会先从这个问题开始。

更新

根据下面的二江回答...我目前正在使用 Mercurial 进行版本控制,并且我对 TFS 以外的任何东西都持开放态度。另外,我目前的项目只有我在开发,但未来的项目可能是协作的,所以值得考虑......

【问题讨论】:

  • 关闭这个问题是完全没有必要的 IMO。我不得不想知道收盘取得了什么成就?这个问题有很多赞成票(很明显人们觉得它很感兴趣),它有一个高度赞成的答案(所以这个问答显然很有帮助),它是社区维基(所以即使它要求主观意见或产品推荐,也没有人可以仅仅因为赞助最新最好的产品而获利)。
  • 这种类型的问题应该在得到如此多的回应之前就被关闭,因为它并不是一个真正合适的类型。然而,既然它已经得到了这么多的回应,关闭是适得其反的,并且贬低了已经做出的贡献。
  • 通过关闭此问题@stakx 实现的一件事是保护它免受新答案的影响。现在它肯定会变得无关紧要。
  • @BobStein-VisiBone 变得无关紧要?在最初被问到这个问题六年后,我才想到这个问题。
  • @wonea 我的心情很讽刺。当诸如此类的相关、有用和可回答的问题陷入困境时,我感到很失望。就目前而言,如果出现托管开源的新机会,则此页面会人为地限制将它们编辑为现有答案。机会问题尤其需要发展空间。我希望它每年都会变得更陈旧。 Stackoverflow 很棒,但它也浪费了很多很棒的东西。

标签: open-source hosting


【解决方案1】:

编辑 2015-08-01: 这个答案仍在获得意见和投票。它不仅仅是古老的,我想删除它,但由于它是公认的答案,我不能这样做。再说一次,它是社区 wiki,社区一直在更新 - 谢谢!

SourceForge 已经越过了黑暗面,接管了项目并将它们与 Adware (Google GIMP Sourceforge Adware) 捆绑在一起。不惜一切代价避免。 GitHub 到目前为止仍然是最受欢迎的,尽管还有其他选择(例如,BitBucket 为最多 5 位用户免费提供无限的私人存储库。)

在过去的几年里,情况发生了如此大的变化,这真是太疯狂了,如果你将来读到这篇文章,也许 GitHub 不再是很酷的产品了。底线是:对于您想要使用的任何源代码控制系统,都有很多很棒的选项。

2010 以下信息仅供参考

编辑:这个答案现在很古老。在过去的两年里,GitHub 已成为主要的代码托管场所,每当我必须创建一个新的 OSS 项目时,我都没有一丝怀疑该去哪里的影子。将其留在下面以供参考。

确实,我的帖子现在已经快 2 年(2008 年)了,而且不再完全准确。

为什么?

因为我认为 SourceForge 现在对于开源项目来说是微不足道的。好吧,这会给我带来很多麻烦,所以让我澄清一下:

我绝对相信开源项目应该在 DVCS 上运行,最好是 git 或 mercurial,因为它们是最普遍的 - 没有反对 Bazaar,但我认为它有点太模糊了。 (编辑: SourceForge 现在提供 Mercurial 和 Bazaar,所以这个论点不再成立。但是,经过两次重新设计,我认为 SF 的形象并不太好。将它们与公司的形象进行比较: 虽然 GitHub 是 Apple,SF 是 IBM。坚如磐石,但有点尘土飞扬)

因此,如果我要再次写这篇文章,那将是 CodePlex vs. GitHub vs. BitBucket,GitHub 是赢家。但这是一个笼统的陈述,所以让我补充一下细节。 +/- 并不是严格意义上的 Pro/Con,它更多地是为了突出不同的理念。

CodePlex

+ 真正的 Mercurial/Git 托管 - TFS 之上没有错误的桥,您拥有真正的 Mercurial/Git
+ 集成的 Wiki,允许添加丰富的文档和漂亮的页面
+ 包括错误跟踪器和讨论论坛
- 源代码浏览器不是很好 - 差异出现在弹出窗口中,只是“感觉”很复杂
- 分叉和拉取请求“不那么容易” - 用户界面可能需要一些工作

总体而言,CodePlex 仍然很棒,但我觉得它更适合单个开发人员或非常小的团队,因为该网站的重点是 Wiki,而不是源代码。它更像是一个发布而不是一个协作平台。理论上您不需要项目主页,您的 CodePlex 项目可以成为您的一站式商店。

GitHub

+ Git 托管,支持 SSL/SSH
+ 网络图允许查看分叉以及何时合并到什么
+ 能够“观看”项目 - 您的帐户页面就像一个带有新签到的 Facebook 墙
+ 超级好的差异查看器,能够评论单行更改 - see here
+ 分叉是一个 2-click 过程,发送拉取请求也是如此
+ GitHub 现在有 GUI 工具 GitHub for Windows
- 对于非开发者来说,主页不是很“漂亮”。如果您的项目中有自述文件(支持某些标记语言,如 Markdown 或 HTML),则会显示它,但初始页面是源代码
- Wiki 不是很好 - 它是 Markdown,但有时格式化感觉有点过于复杂。

GitHub 的理念与 CodePlex 不同:它只关注源代码以及开发人员之间的协作。主项目页面是最新的源代码。有一个单独的 Wiki,但更多的是用于文档而不是项目的演示。网络图非常棒,尽管一旦有超过 20 个分叉它就会变得混乱(通常当一个高调的项目宣布每个人和他们的狗都在分叉它时,但大多数分叉很快就死了)。 GitHub 可以很好地扩展到任何大小。

事实上,GitHub 让我可以非常轻松地创建项目、应用修复/补丁、将其提交到我的 fork 并向作者发送拉取请求。结合网络图,很容易看到提交。

但您很可能需要一个单独的主页来向最终用户展示您的项目并提供下载,因为 GitHub 的下载设施不是那么好。

比特桶

+ Git/Mercurial
+ 允许免费的私人存储库,最多 5 个用户

我没有使用 BitBucket 来发表真正的评论。它与众不同的一个特点是私人托管是免费的,而 GitHub 收费,Codeplex 根本不提供。

谷歌代码

Google 代码不再是一种选择。

- 自 2015 年 3 月起禁用项目创建,Google 服务将是 permanently closing down in January 25, 2016,因为竞争服务更好。
- 太丑了,浏览源码太复杂(链接有些埋没)

我没有用过它,所以我不想说它不好——它不是。很多项目都使用它,它非常稳定和健壮,没有听到任何开发人员的坏话。然而,就个人主观意见而言,“设计”让我很反感。

SVN 与 Git/Mercurial

重申我上面关于 SourceForge 已过时的评论:这当然有点苛刻。然而,我确实相信 SVN 对开源项目是有害的。首先,忽略文件的奇怪元数据要求。在 Git 或 mercurial 上,您在源代码树的根目录中有一个名为 .gitignore 或 .hgignore 的文件,其中包含要忽略的文件/目录/模式的列表。没有魔法 svn:ignore .svn 文件夹中的元数据。仅此一项就将 SVN 从水中吹了出来。如果我开始一个新的 Visual Studio 项目,我需要应用那个神奇的元数据,而使用 Git/mercurial 我只需复制一个文件并完成它。

然后,分叉、修补和发送拉取请求的能力非常棒,尤其是对于小型/一次性补丁。

最后但并非最不重要的一点是,SourceForge 对我来说仍然过于复杂。这不是一个糟糕的主人,但它确实表明它的年龄恕我直言。话虽如此,它仍然很强大,并且在世界范围内拥有许多镜子。此外,Bug Tracker 比其他的要复杂得多。

此外,如果您的项目出于某种原因需要严格的贡献规则(这可能是有道理的,例如确保提交的代码确实是合法贡献的法律保护),那么托管在 SourceForge 上的 SVN 等传统系统可能会起作用。

编辑: 不知道 SF 终于有了分布式托管。如上所述,它很强大,但不再是“酷孩子”了,我觉得它太复杂了。

TL;DR

对于任何中小型项目,我全心全意地推荐 GitHub,对于需要漂亮网站的小型项目,我会选择 CodePlex,而对于私人项目,我会选择 BitBucket。对于需要非常复杂的错误跟踪器、大量额外功能和“真实”网站的大型项目,请考虑使用 Source Forge。

【讨论】:

  • 我不同意 Google Code,我认为它简单、直观且轻量级(而且网站 快速!与 CodePlex 相比……!) #1每次选择。但其余的读起来很有趣。
  • @Konrad 没错,如前所述,这是个人的事情。也许简约的方法让我望而却步。我没有听说过它的功能方面有什么不好的地方,但我从来没有在那里主持过项目。
  • 很好的答案,非常详细!很好地解释了我最感兴趣的主要站点(好吧,CodePlex 和 GitHub)之间的差异。同样有趣的是,您在这个阶段认为 SourceForge 微不足道;绝对是旧文章的观点变化。谢谢!
  • 还有一些特定于您正在运行的项目类型的因素。例如,对于 .Net 项目,CodePlex 支持 ClickOnce 部署,而 Google Code 则不支持。
  • @MichaelStum 也许你可以添加 GitHub Pages 服务。任何 GitHub 托管项目的入口点都应该是一个页面。
【解决方案2】:

嗯,你还没有说你使用什么源代码控制系统,这极大地影响了你的选择。

(不全面)

  • Git -> GitHub 或 Gitorious 是显而易见的选择
  • Mercurial -> BitBucket
  • SVN -> 萨凡纳,SF.net
  • 集市 -> 启动板
  • CVS -> 升级到更新的源代码控制系统

我是 Git 粉丝,但 Mercurial 也非常棒。我个人使用 GitHub 是因为它具有出色的协作功能,例如简单的分叉和拉取请求。

我想补充一点,CodePlex 在微软阵营之外的开源生态系统中并不是很流行,这从他们下载次数最多的列表中很容易看出。这可能是它以微软为中心的自然方式以及过去的耻辱的结合。如果您专门为 .NET 或类似的东西进行开发,那么这将改变观点。

编辑:另外,我认为开发人员通常不会随机浏览有趣的项目。您在 GitHub 上和在 Codeplex 上一样可能被忽视,但如果有人确实发现了您的项目,他们将更有可能发送消息/文件错误/贡献,如果他们已经有该网站上的帐户。

【讨论】:

  • 我目前使用 Mercurial(不会用 10 英尺的杆接触 TFS)
  • 短语easy forking有问题
  • 对于任何好奇的人来说,在 GitHub 上,分叉不是项目不可逆转的拆分,而是修改现有项目的最佳方式。进行个人修改后,您可以向该原始项目发送“拉取请求”以从您的 fork 中进行更改。
  • 我同意 CodePlex 仅针对 Microsoft 开发;这恰好对我有用......我得到的印象是,如果一般开源...... GitHub;如果专注于 .NET 和单一/较小的团队 CodePlex。也喜欢关于意识的编辑……那将是下一场战斗。谢谢!
  • @marko:容易分叉是件好事
【解决方案3】:

由于 Github 的增长速度非常快,并且似乎是我最近看到的项目中最突出的。它会得到我的投票。

但我认为一个并不一定意味着你不能使用另一个。我看到许多项目使用 Github 作为源代码,使用 Google Code 作为文档。除此之外,还有一个指向它的 Sourceforge 链接。

您使用什么作为主要主机并不重要,但我建议您也将您的项目添加到其他网站上,以便轻松找到它。

【讨论】:

  • 有趣的是,您会推荐在多个站点上托管。我最初的想法是同意上面链接的参考 SO 答案......你对那个线程有什么想法?
  • @Calgary Coder:我不是专门谈论托管,而是更多的链接。几年前我已经停止使用 Sourceforge,因为它速度慢而且设计变化可怕。但是在 sourceforge 创建项目并链接到您的 github(或其他)网站可以帮助您更容易地找到您的项目。对于文档,我发现 Google Code wiki 比 Github wiki 更容易,所以这就是我更喜欢它的原因。我确实喜欢 Github 界面和分叉选项,所以我认为这是您的来源的不错选择。对于代码审查,我发现启动板非常好。
【解决方案4】:

这个问题似乎与这个问题重复:https://stackoverflow.com/questions/10490/best-open-source-project-hosting-site

这是我对这个问题的回答:https://stackoverflow.com/questions/10490/best-open-source-project-hosting-site/3433969#3433969

总的来说,我认为最重要的优点/缺点与所提供的开发功能和每个网站的主要受众有关,在我上面的回答中,我将介绍四个最受欢迎的网站。

【讨论】:

  • 感谢您的链接,我试图不重复一个问题,但我错过了那个问题。
  • @CalgaryCoder 你可能至少已经投了赞成票,因为你花时间感谢他。 Nvm,我为你做的 ;-)
  • 这些链接现在似乎已失效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-04
  • 1970-01-01
  • 1970-01-01
  • 2011-02-13
  • 1970-01-01
  • 2014-07-10
  • 2019-12-28
相关资源
最近更新 更多