您的位置:首页 > 编程语言

实战做项目如何选择开源许可协议(二)- 开放代码

2013-08-02 12:52 337 查看
通过《实战做项目如何选择开源许可协议(一)-了解协议》大概知道了有哪些开源协议和各个协议的作用和区别。我们准备把代码开放出去时,需要了解各个代码托管平台如何设置开源协议。目前常用的平台有:googlecode、github、sourceforge、codeplex。下面分别列一下这些平台如何设置开源协议:

1、googlecode,google推出的代码托管平台,整体可用还是比较强的,如果不是经常被墙用这个也可以。支持svn、git协议。要在这个上面共享代码,

首先需要注册一个google账号,登录。

在url输入 http://code.google.com/intl/zh-CN/ ,打开网页后,最下方有个 create a
new project。




点击创建工程后,可以选择自己工程的开源协议。预定义协议支持不是太多,主要有常见的BSD、GPL、MIT、APACHE、ECLIPSE、MPL。没有包含的可以选择other open source 填写。




2、github, 这个后期之秀,由于git协议本身的优势这几年也赚足了眼球。更有2011年的报道
Github 的提交次数超过了Sourceforge、Google Code和微软的CodePlex。 这么火的代码托管工具我们当然也要在这个上面共享代码,

需要注册一个github账号,登录。

在首页中间有个 create repositories,创建代码工程。



和google code 不同的是,github没有直接选择开源协议这一项。这篇文章可以看得出GitHub一族,正在推动开源软件走向无授权时代。如果要在github设置开源协议如何设置呢?其实很简单,在刚创建的工程主页,点击添加文件按钮。



新建一个文件LICENSE(这个命名随意,只要能说明清楚就行),把你需要设置的协议内容复制到对应的文件中去就可以了。当然你想特别说明一下,也可以在项目主页的readme.txt中说明。比如 https://github.com/apache/activemq 的license
设置。

这个license可以根据自己需要设置,不过最好还是标准模板大家更规范一些。





刚写完github没法设置,今天登录却发现github已经增加了开源协议选项,csdn也有了相关的新闻《Github
终于开始认真考虑开源项目许可证了》。看来任何地方都还是需要规范化,毕竟开源本身就是一个社会群体活动,有了大家的积极参与才能长久持续下去。





ps:托管Git (开源或闭源)项目的网站闭源需要收费,最低7$/月起,另有免费的300G空间,超过也要单独收费,不过作为咋普通开源项目也足够了。

3、sourceforge,曾经很辉煌的全球最大开放源代码软件开发平台和仓库,现在虽然有github这样的竞争者追赶,但依然还是老大。它有这些优势:无带宽限制、提供下载统计分析、每天巨大的流量增加你的文件的曝光率、SourceForge
在开源领域可信度高、支持svn和git协议。

注册登录到sourceforge。

创建project。sourceforge的创建project隐藏的有点深。在登录后的右上角有个me,旁边小三角点击弹出层选中Account。





然后在account页选中projects tab,右边有个 Register a New Project超链接,点击就可以创建项目了。




设置开源协议,点击项目进入项目主页,选择admin tab =》 左侧导航Categoryization =》 页面 license。





sourceforge的协议支持非常多,有开源协议控的可以多看看,不得不说这个界面操作还是有点复杂。

4、codeplex。最后再看看微软的这个代码托管工具。打开页面设计的还比较直接,显示了几个大按钮,可以很容易就点击到。看到首页界面不知道设置开原协议如何操作?是不是像界面这几个按钮一样简单。





登录codeplex,可以使用微软账号登录。
创建项目,在项目创建页依然没有协议设置,只有googlecode有。

点击创建的project,进入project的设置页面,选择 license tab,点击 tab下方右边一点的 change license链接后 找到自己需要的协议设置。它支持的协议和google code差不多,多了微软协议和CDDL。




比较了目前最常见的集中开源项目托管平台对开源协议的支持和如何操作,大家按自己需求选择吧。

转载自LANCEYAN.COM
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: