在哪里托管开源项目:CodePlex、Google Code、SourceForge?

发布于 2024-10-01 05:35:04 字数 1248 浏览 4 评论 0 原文

我一直在阅读有关“如何推广开源项目”的积压已回答问题。毫不奇怪,许多答案都将人们引向 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
等等......

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

在多个站点托管开源项目

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

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

更新

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

I have been reading through the backlog of answered questions on SO regarding "How to promote an open source project". Not surprisingly, many of the answers pointed people to SoureForge/FreshMeat and other sites etc as well as blogging and whatnot. This started me thinking where is the best place to host a project and why?

As my first project is currently hosted on CodePlex, I started to wade through the Google search results to collect information on the pros/cons of each; however the comparisons that I found are rather dated (2+ years old).

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

So the next question becomes "Should I host my project on multiple sites" to which the following post provides the expected answer (thankfully! as that would be a pain to maintain).

Hosting an open source project at several sites

Based on the current state of various Open Source hosting sites such as CodePlex, GitHub, Google Code, SourceForge, etc, etc is there any notable pros/cons of one site over the other? i.e., should I stick with CodePlex or am I missing out by not using one of the alternatives? Will one bring about more traffic to a new and unknown project?

I plan on exploring each site in more detail to see what they all offer, but given the vast knowledge of the good folks on SO, figured I would start with this question first.

UPDATED

As per erjiang answer below... I am currently using Mercurial for version control, and I am open to anything other than TFS. Also, my current project is only me developing, but future projects may be collaborative so worth considering...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

巨坚强 2024-10-08 05:35:04

编辑于2015-08-01:此答案仍在获得浏览和投票。它不仅仅是古老的,我想删除它,但由于它是公认的答案,我不能这样做。话又说回来,这是社区 wiki,社区一直在更新它 - 谢谢您!

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

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

旧的2010信息如下,以供历史参考

编辑:这个答案现在已经过时了。在过去的两年里,GitHub 已经成为主要的代码托管场所,每当我要创建一个新的 OSS 项目时,我都不会怀疑该去哪里。留下这个供参考。

事实上,我的帖子已经快两年了(2008 年),而且不再完全准确。

为什么?

因为我认为SourceForge对于现在的开源项目来说已经无足轻重了。好吧,这会给我带来很多麻烦,所以让我澄清一下:

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

所以如果我再次写这篇文章,它将是 CodePlexGitHubBitBucket,GitHub 成为获胜者。但这是笼统的陈述,所以让我添加细节。 +/- 并不是严格意义上的赞成/反对,它更多的是强调不同的哲学。

CodePlex

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

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

GitHub

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

GitHub 的理念与 CodePlex 不同:一切都与源代码和开发人员之间的协作有关。主项目页面是最新的源代码。有一个单独的 Wiki,但它更多地用于文档而不是项目的演示。网络图非常棒,尽管一旦有超过 20 个分叉就会变得混乱(通常当一个备受瞩目的项目宣布时,每个人都在分叉它,但大多数分叉很快就会消失)。 GitHub 可以很好地适应任何规模。

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

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

BitBucket

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

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

Google 代码

Google 代码不再是一种选择。

- 自 2015 年 3 月起停用项目创建,Google 服务将于 2016 年 1 月 25 日永久关闭,因为竞争服务更好。
- 它很丑陋,而且浏览源代码太复杂(链接有点隐藏)

我没有使用过它,所以我不想说它不好 - 事实并非如此。很多项目都使用它,它非常稳定和强大,没有听到任何开发人员的坏消息。然而,就个人主观意见而言,“设计”让我望而却步。

SVN 与 Git/Mercurial

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

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

最后但并非最不重要的一点是,SourceForge 对我来说仍然太复杂了。这不是一个糟糕的主人,但恕我直言,它确实表明了它的年龄。话虽这么说,它仍然很坚固,并且在世界各地拥有许多镜子。 Bug Tracker 也比其他的更复杂。

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

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

TL;DR

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

Edit 2015-08-01: This answer is still getting views and votes. It's more than ancient and I'd like to delete it, but since it's the accepted answer, I can't do that. Then again, it's community wiki and the community has kept it up-to-date - thank you for that!

SourceForge has crossed over to the dark side, taking over project and bundling them with Adware (Google GIMP Sourceforge Adware). Avoid at all costs. GitHub is as of now still the most popular one, although there are alternatives (e.g., BitBucket offers unlimited private repos for free for up to 5 users.)

It's crazy how much the landscape changed in the past few years, and if you're reading this in the future, maybe GitHub is no longer the cool product. Bottom line is: There are a plethora of awesome options for whatever source control system you want to use.

Old 2010 information below for the sake of history

Edit: This answer is now ancient. In the past 2 years, GitHub has emerged as the prime Code Hosting place, and whenever I have to create a new OSS project, I don't have the trace of a shadow of a doubt where to go to. Leaving this below for reference.

Indeed, my posting is almost 2 years old (2008) now and not entirely accurate anymore.

Why?

Because I think that SourceForge is insignificant now for open source projects. Okay, this will get me into a lot of trouble, so let me clarify:

I am absolutely convinced that Open Source projects should be run on a DVCS, preferably git or mercurial as they are the most widespread - nothing against Bazaar, but I think it's a bit too obscure. (Edit: SourceForge now offers Mercurial and Bazaar, so that argument doesn't stand anymore. However, following two redesigns I think that SF's image isn't too great. To compare them to the images of companies: While GitHub is Apple, SF is IBM. Rock solid, but a bit dusty)

So if I were to write this posting again, it would be CodePlex vs. GitHub vs. BitBucket, with GitHub being the Winner. But that is a blanket statement, so let me add details. +/- isn't strictly Pro/Con, it's more to highlight different philosophies.

CodePlex

+ Real Mercurial/Git Hosting - no buggy bridge on top of TFS, you have real Mercurial/Git
+ Integrated Wiki that allows to add rich documentation and nice looking pages
+ Bug Tracker and Discussion Forums included
- Source Code browser isn't that great - Diffs appear in a popup and just 'feel' complicated
- Forks and Pull Requests 'not as easy' - the UI could use some work

Overall, CodePlex is still great but I feel it's more suited for single developers or very small teams because the focus of the website is on the Wiki rather than on the source code. It's more a publishing than a collaboration platform. Theoretically you don't need a project homepage, your CodePlex project can be your one stop shop.

GitHub

+ Git Hosting, supports SSL/SSH
+ Network graph allows to see forks and what merged into what when
+ Ability to 'watch' projects - your account page is like a Facebook wall with new checkins
+ Super good diff viewer with the ability to comment on single line changes - see here
+ Forking is a 2-click process, and so is sending pull requests
+ GitHub now has the the GUI tool GitHub for Windows
- Main page is not very 'pretty' for Non-Developers. If you have a Readme in your project (supports some markup languages like Markdown or HTML) it is displayed, but the initial page is the source code
- Wiki isn't that great - it's Markdown, but sometimes formatting feels a bit too complex.

GitHub has a different philosophy than CodePlex: it's all about the source code and about collaboration among devs. The main project page is the most up to date source code. There is a separate Wiki, but that's more intended for Documentation rather than presentation of your project. The network graph is fantastic, although it can get confusing once there are more than about 20 forks (frequently when a high profile project is announced everyone and their dog is forking it, but most forks die quickly). GitHub scales very well to any size.

In fact, GitHub makes it super easy for me to fork a project, apply a fix/patch, commit it to my fork and send a pull request to the author. Together with the Network graph it's really easy to see the commit.

But you most likely need a separate home page to present your project to end users and to provide downloads, as GitHubs download facilities aren't that great.

BitBucket

+ Git/Mercurial
+ Allows private repositories for free, up to 5 users

I haven't used BitBucket enough to make a real comment. The one feature that sets it apart is that private hosting is free, while GitHub charges and Codeplex does not offer it at all.

Google Code

Google Code is not an option anymore.

- Project creation is disabled since March 2015, and the Google service will be permanently closing down in January 25, 2016, as the competing services are simply better.
- It's ugly and it's too complicated to browse the source code (the link is somewhat buried)

I haven't used it so I don't want to say it's bad - it's not. A lot of projects use it and it's very stable and robust, haven't heard much bad from any developer. However, as a matter of personal, subjective opinion the 'design' puts me off.

SVN vs. Git/Mercurial

To reiterate my comment above about SourceForge being obsolete: That is of course a bit harsh. I do however believe that SVN is detrimental for open source projects. First of all, weird metadata requirements to ignore files. On Git or mercurial, you have a file called .gitignore or .hgignore in the root of your source tree which includes a list of files/directories/patterns to ignore. No magic svn:ignore metadata in the .svn folder. This alone blows SVN out of the water for me. If I start a new Visual Studio project I need to then apply that magic metadata, while with Git/mercurial I just copy over one file and be done with it.

Then, the ability to fork, patch and send a pull request is fantastic, especially for small/one-off patches.

Last but not least, SourceForge is still WAY too complex for my taste. It's not a bad host, but it really shows it's age IMHO. That being said, it's still robust and has many mirrors world wide. Also the Bug Tracker is much more sophisticated than the others.

Also, if your project for some reason requires strict contribution rules (which may make sense, e.g. legal protection to make sure the committed code is indeed legally contributed) then a traditional system like SVN hosted on SourceForge may work.

Edit: Wasn't aware that SF finally has distributed hosting. As said above, it's robust but just not the 'cool kid' anymore, and I find it much too complex.

TL;DR

For any small to medium project I whole hearty recommend GitHub, for small projects where you want a nice Web Site as well I'd go with CodePlex and for private projects I'd go with BitBucket. For big projects that require a very sophisticated bug tracker, tons of extra features and a 'real' website, consider Source Forge.

同展鸳鸯锦 2024-10-08 05:35:04

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

(不全面)

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

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

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

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

Well, you haven't said what source control system you use, which greatly influences your choices.

(not comprehensive)

  • Git -> GitHub or Gitorious are the obvious choices
  • Mercurial -> BitBucket
  • SVN -> Savannah, SF.net
  • Bazaar -> Launchpad
  • CVS -> upgrade to a newer source control system

I'm a Git fan, but Mercurial is pretty awesome as well. I personally use GitHub for it's awesome collaborative features, like easy forking and pull requests.

I want to add that CodePlex isn't very popular in the open-source ecosystem outside of the Microsoft camp, and that's easy to see from their most-downloaded list. It's probably a combination of how naturally Microsoft-centric it is, and also from past stigmas. If you're developing exclusively for .NET or something similar, then that'll change the perspective.

Edit: Also, I would argue that developers don't usually go browsing randomly for interesting projects. You're equally likely to go unnoticed on GitHub as you are on Codeplex, but if someone does discover your project, they'll be more likely to send messages/file bugs/contribute if they already have an account on that website.

东北女汉子 2024-10-08 05:35:04

由于 Github 的增长速度相当快,并且似乎是我这些天看到的项目中最突出的。这会得到我的投票。

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

作为主要主机使用什么并不重要,但我建议您也在其他站点上添加您的项目,以便很容易找到它。

Since Github is growing quite fast and seems to be the most prominent among the projects I see these days. It would get my vote.

But I think one doesn't have to mean you can't use the other. I see many projects that use Github for the source and Google Code for the docs. And besides that a Sourceforge link to it aswell.

It doesn't really matter what you use as a primary host, but I would recommend you add your projects on the other sites aswell so it's easy to find it.

弱骨蛰伏 2024-10-08 05:35:04

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

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

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

This question seems like a duplicate of this one: https://stackoverflow.com/questions/10490/best-open-source-project-hosting-site

Here was my answer on that question: https://stackoverflow.com/questions/10490/best-open-source-project-hosting-site/3433969#3433969

In general I think the important pros/cons most significantly relate to the development features offered and the primary audience of each site, which in my above answer I walk through for the four most popular sites.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文