开源,选择Google Code还是Sourceforge?

2024-01-05 08:08

本文主要是介绍开源,选择Google Code还是Sourceforge?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题记:本来是因为发现普通用户,也就是其他非小组人员也能下载小组的源代码,但是没有权限commit,所以想查能不能不让出了自己以外的别人下载,但是发现暂时没有这样的方法,google code是开源的~~~

开源,选择Google Code还是Sourceforge?

许式伟
2006-12-28

概要

提起Google Code,我需要很惭愧地承认一点,我一开始的时候“把它看扁了”。初接触Google Code的时候,我简单地认为,Google Code只是一个半成品,从各方面的功能来讲,似乎远不能够与Sourceforge的完备相比。但是,随着对Google Code了解的深入,我不能不承认我错了,Google Code再一次证明“简单是美”的法则:Google的服务似乎永远是看似简单(甚至让你觉得不够用),而实则非常完备。 

如果你有开源的计划,或者已经开源,或者你有私人的项目希望有个完备的平台去管理它,那么本文值得你一读,因为这是我在这方面的一些心得。到目前为止,我开源了 WINXDocX已经4个月多了,和Google Code、Sourceforge均有了较长时间的接触,希望借机会和大家交流下。
选择Google Code,还是Sourceforge?总体来讲,两者各有各的优势。从进入的门槛来讲,使用Google Code会比Sourceforge容易很多。

Google Code的优势与劣势

Google Code的优势

  • 速度第一。Google的服务以快速著称,Google Code亦不例外。当你上传新的Release时,你会特别感受到这一点。 
  • 操作简洁。如果Sourceforge和Google Code提供了同样的功能,那么我可以毫不思索的讲,Google Code比Sourceforge快捷易用。我们后文将详细比较各个功能。

Google Code的劣势

  • 容易被盾。以我的经验,Google Code被盾比较频繁。这导致我有时无法浏览Bug列表,发布新的Release等等。所幸的是,Google Code的SVN连接从来没有出现访问障碍。因此这不算太大的问题。另外,按Google Code的说法,有些功能可以在命令行进行,而不需要到Web上,但是我本人尚未进行详细的验证。 
  • 100M的容量限制。Google Code限制每个项目的SVN空间大小不能超过100M,发布的所有Release亦不能超过100M。由于目前我的项目刚刚开始,这一点还不是一个障碍。但是这是一个比较容易到达的数字。可以预见,你的项目要面临搬家的风险。我试图寻找办法来清除一部分SVN历史版本数据、删除一些历史Release版本,未果。 
  • 无数据统计功能。你无法得知你的Release被下载的情况(下载总数以及趋势)。

Sourceforge的优势与劣势

Sourceforge的优势

  • 更多的受众,已经形成第一开源社区。简单统计结果表明,Sourceforge上大约每5分钟就有一个新的Release。也就是说,一天大约有300个新的发布(这不是精确的统计,只是简单估算)。 
  • 功能更加完备。目前来看,Google Code在功能上并不比Sourceforge成熟。如果Google Code是一个完整、快捷、功能足够的平台,那么Sourceforge则是一个方方面面均已经相当完备的开发平台。

Sourceforge的劣势

  • 操作繁复,速度较慢。

详细功能对比

下面我们展开来对比一下两者的功能:

  • 建立帐号。Google Code只要你有Gmail帐号即可。Sourceforge要求你进行注册。而且你发现,Sourceforge的注册流程十分罗嗦。 
  • 建立项目。Google Code只要你简单填写一下项目的相关信息(http://code.google.com/hosting/createProject),仅一个页面即可完成申请。而Sourceforge的新Project申请流程是繁复的,有很多的下一步,并需要你阅读一些英文细节。另外,你的项目并不马上生效,而是需要进过审批。不出意外的话,在申请之后的第二天再上Sourceforge,你的项目应该通过审批了。 
  • 代码管理。Google Code仅支持SVN库,Sourceforge支持SVN和CVS。Google SVN限制在100M内,Sourceforge则尚未见到明确的容量限制。 
  • 代码库的权限管理。Google Code的代码库权限管理非常简单,在你登陆后,http://code.google.com/hosting/settings 将显示Google Code为你自动生成的随机密码。通过你的用户名和这个随机密码,你就可以访问SVN代码库,对其进行修改。sourceforge推荐使用putty套件,详细参考sourceforge上的说明,总的来说,相当繁复。 
  • 发布版本。Google Code限制所有Release包不能超过100M,单个Release不能超过10M。Sourceforge尚未见到明确的限制。
     
    Google Code发布一个新的Release流程,仍然只需要一个页面即可完成。你只需要选择上传的文件,并为该文件加一些预定义的标签(用于告诉别人你的Release支持的平台或其他信息,这些标签Google Code已经预定义部分,项目管理人员亦可以定义),确认即开始上传。特别地,如果一个Release被打上 Featured 标签,那么它将出现在项目首页。
     
    Sourceforge的流程则比较复杂:
    • 通过ftp上传你要发布的文件。上传地址:ftp://upload.sourceforge.net/incoming,这个过程匿名进行。上传的文件在你后续的步骤中进行“认领”,如果某个包长时间没人认领,Sourceforge将清理之。
    • 进入Sourceforge。用你的Sourceforge帐号登陆。
    • 进入项目主页,进入Admin -> FileReleases。
    • 选择已有的Package或者新建Package,向该Package中添加一个Release。在你的项目发布的文件比较多(不是发布的历史版本多,而是一次发布的文件多,你可能希望对他们进行归类)时,Package可以更加有条理地管理这些文件。
    • 为该Release添加ReleaseNote和ChangeLog。确认。
    • 认领你上传到ftp上的文件。打上勾,确认即可。
    • 为你发布的文件添加说明(支持的平台、包的格式及其他规格)。
    • 如果有人关注这个项目的Release,最后一步,你可以向这些人发送信息,告诉他们发布了新的Release。这一步很有意思,是Google Code不能做到的。
       
  • Bug报告。Google Code中的issues,Sourceforge的tracker。由于用的还不算多,暂时不做详细比较。 
  • 论坛。Google Code中并不直接提供论坛功能,当然,这是因为它推荐你使用强大的Google Groups。Sourceforge则除了提供给用户的论坛(并把用户论坛分为两个,一个讨论产品功能的,一个属于头脑风暴型的开放式讨论),也提供开发者专用的论坛(对非项目成员不可见)。 
  • Project Web。Google Code中没有提供项目主页,而是颇具创意的提供了一个Wiki Pages。Sourceforge提供了项目主页,项目主页的地址是:"项目名.sourceforge.net"。你可以利用这个网址来宣传项目、提供项目信息。这个空间是是php+mysql的,并且你可以通过远程Shell控制,极其灵活。 
  • 团队成员管理。Google Code你可以通过添加其他Gmail帐号为项目成员(Members)或管理员(Administers),但似乎还不能进行更加详细的权限管理。Sourceforge提供了非常精细的项目成员的权限管理。 
  • 下载与访问统计。Google Code无此功能。Sourceforge提供了最近7日、最近2个月、年、全部访问/下载统计。非常详细。 
  • 软件截图(ScreenShots)。可以让用户迅速获得项目的第一印象,吸引眼球。Google Code无此功能。 

附加说明

  • WINX的主页:
    • http://code.google.com/p/winx/
    • http://sourceforge.net/projects/winx (由于台湾地震影响,可能暂时不可访问)
    • http://www.winxcn.com (由于台湾地震影响,可能暂时不可访问)
    • 了解WINX... 
  • DocX的主页
    • http://code.google.com/p/docxcn/
    • http://sourceforge.net/projects/docx (由于台湾地震影响,可能暂时不可访问)
    • 了解DocX... 
  • 更多关于Google的消息,参见这里

这篇关于开源,选择Google Code还是Sourceforge?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/572211

相关文章

如何选择适合孤独症兄妹的学校?

在探索适合孤独症儿童教育的道路上,每一位家长都面临着前所未有的挑战与抉择。当这份责任落在拥有孤独症兄妹的家庭肩上时,选择一所能够同时满足两个孩子特殊需求的学校,更显得尤为关键。本文将探讨如何为这样的家庭做出明智的选择,并介绍星贝育园自闭症儿童寄宿制学校作为一个值得考虑的选项。 理解孤独症儿童的独特性 孤独症,这一复杂的神经发育障碍,影响着儿童的社交互动、沟通能力以及行为模式。对于拥有孤独症兄

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个?

跨平台系列 cross-plateform 跨平台应用程序-01-概览 cross-plateform 跨平台应用程序-02-有哪些主流技术栈? cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个? cross-plateform 跨平台应用程序-04-React Native 介绍 cross-plateform 跨平台应用程序-05-Flutte

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

如何选择SDR无线图传方案

在开源软件定义无线电(SDR)领域,有几个项目提供了无线图传的解决方案。以下是一些开源SDR无线图传方案: 1. **OpenHD**:这是一个远程高清数字图像传输的开源解决方案,它使用SDR技术来实现高清视频的无线传输。OpenHD项目提供了一个完整的工具链,包括发射器和接收器的硬件设计以及相应的软件。 2. **USRP(Universal Software Radio Periphera

《数据结构(C语言版)第二版》第八章-排序(8.3-交换排序、8.4-选择排序)

8.3 交换排序 8.3.1 冒泡排序 【算法特点】 (1) 稳定排序。 (2) 可用于链式存储结构。 (3) 移动记录次数较多,算法平均时间性能比直接插入排序差。当初始记录无序,n较大时, 此算法不宜采用。 #include <stdio.h>#include <stdlib.h>#define MAXSIZE 26typedef int KeyType;typedef char In