通过《实战做项目如何选择开源许可协议(一)-了解协议》大概知道了有哪些开源协议和各个协议的作用和区别。我们准备把代码开放出去时,需要了解各个代码托管平台如何设置开源协议。目前常用的平台有: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
本文链接地址: 实战做项目如何选择开源许可协议(二)- 开放代码
相关推荐
如何选择开源许可证? - 阮一峰的网络日志.pdf
JAVA实战项目源码-计算机毕业设计java专业-java-源代码-简易java框架开源订销管理系统-信息化办公 简易java框架开源订销管理系统简介 该系统是一个使用Java语言开发,以国内开源Web MVC框架EasyJWeb作系统引擎...
apache开源项目源码commons-el-1.0-src 全部高质量el表达式的java源程序 java,el,el表达式,el表达式源码,apache开源...apache开源组织开发的开源项目源码,其优良的代码风格和高质量的源码是学习者难得的学习资料!
开源项目-minio-mc.zip,基于go的amazon s3 cli
包含两季的代码: 开源骚客第一季源代码-Sdram_Controller 开源骚客第二季源代码-SDRAM那些事儿
迅速搭建全文搜索平台——开源搜索引擎实战教程--代码
开源项目-jdevelop-go-aws-mfa.zip,Simple tool to refresh an MFA session token for AWS IAM account (using STS)
开源项目-adamryman-go-fuck-yourself.zip,go-fuck-yourself is a go wrapper that will make your code build, forcefully.
开源项目-grpc-grpc-go.zip,grpc/grpc-go: Release 1.11.0
开源项目-OlivierBoucher-go-tracking-server.zip,My first shot at Go ~ What did I do wrong?
以思维导图的方式,描述几种常见的开源许可协议的核心内容。
开源项目-Microsoft-vscode.zip,Microsoft Visual Studio代码开放源代码,附带go插件
开源项目-jasonodonnell-go-opendota.zip,Go-OpenDota
开源项目-go-vgo-robotgo.zip,Robotgo v0.46.0 is released, Go cross-platform system automation
开源项目-rcrowley-go-metrics.zip,go-metrics — 对Go应用进行代码级的打点监控测量
开源项目-GianlucaGuarini-go-observable.zip,go-observable - Golang script to send and receive events with a tiny simple API
开源项目-antham-gommit.zip,GitHub - antham/gommit: Enforce git message commit consistency
开源项目-mongodb-mongo-go-driver.zip,Release MongoDB Go Driver Alpha 2 · mongodb/mongo-go-driver
开源项目-jgautheron-codename-generator.zip,用go编写的代码名生成器
开源项目-mwitkow-go-proto-validators.zip,go的声明性protobuf验证代码