通过《实战做项目如何选择开源许可协议(一)-了解协议》大概知道了有哪些开源协议和各个协议的作用和区别。我们准备把代码开放出去时,需要了解各个代码托管平台如何设置开源协议。目前常用的平台有: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
本文链接地址: 实战做项目如何选择开源许可协议(二)- 开放代码
相关推荐
5. **许可信息**:开源项目通常会有一个`LICENSE`文件,明确该项目的许可条款,例如MIT、Apache 2.0或GPL等。这决定了用户可以如何使用、修改和分发代码。 6. **README文件**:`README.md`或`README.txt`通常会包含...
buraksezer-gdoc可能遵循MIT、Apache 2.0或其他类似的开放源代码许可协议。 6. **Makefile**或`build.sh`/`install.sh`:构建脚本,用于自动化编译和安装过程,使得用户只需执行一条命令即可完成安装。 7. **贡献...
【标签】"开源项目"表明了letsencrypt-boulder是开放源代码的,这意味着任何人都可以查看、使用、修改其代码,并根据开源许可证贡献回项目,促进了代码的透明度和社区协作。 在【压缩包子文件的文件名称列表】中,...
开源项目通常遵循特定的许可协议,如Apache License、GPL等,这些协议规定了代码可以如何被使用和分享。 在"压缩包子文件的文件名称列表"中,只有一个条目:"null-analysis-master",这可能是一个Git仓库的主分支...
开源软件意味着源代码对公众开放,任何人都可以查看、使用、修改和分发这些代码,遵循特定的开源许可协议。在这个案例中,淘宝开源客户端可能采用了如MIT、Apache或GPL等开源许可,鼓励社区协作和创新。 关于淘宝...
开发者可以借此学习到如何在iOS环境中创建和管理开源项目,以及如何遵循开源许可协议。 压缩包子文件的名称"SmartFact-IOS-master"暗示这是一个Git仓库的主分支克隆,通常包含了项目的全部源代码、资源文件、配置和...
- **许可协议**:CMake采用类BSD许可协议发布,这意味着它可以自由地用于各种商业和非商业项目中。 - **社区支持**:广泛的开源社区支持确保了CMake的持续改进和发展。 ##### 2.2 跨平台特性 - **平台兼容性**:...
这款系统是开放源代码的,允许用户根据自己的需求进行定制和二次开发,对于学习编程、进行毕业设计或课程设计的学生来说,是一个非常有价值的参考资源。 【描述】提供的源码意味着用户可以深入理解系统的内部运作...
1. **开放源代码**:CMake 使用类似于 BSD 的许可协议发布,确保了其开源特性。 2. **跨平台支持**:CMake 可以跨平台生成本地编译配置文件。具体来说,在 Linux/Unix 系统上生成 Makefile,在 macOS 上生成 Xcode ...
PHPlog作为开源软件,遵循特定的开源许可协议,如GPL或MIT。这意味着源代码对公众开放,允许任何人查看、使用、修改和分发。开源软件鼓励社区协作和改进,用户可以贡献代码、报告问题或者提出新功能。 ### 5. 文件...
是由自由软件基金会(Free Software Foundation, FSF)制定的一种版权保护协议,它允许用户自由使用、复制、修改和发布软件的源代码,同时也要求修改后的版本也必须以GPL许可证发布。这个许可证是自由软件运动的核心...
2. **开源文化**:理解开源软件的意义和优势,如何参与开源项目,以及如何遵循开源许可协议。 3. **Git版本控制**:了解Git的基本操作,如克隆、提交、分支和合并,以及"master"分支的概念。 4. **代码结构**:...
8. LICENSE文件:定义了项目的开源许可协议,如MIT、Apache 2.0等。 通过这个项目,学习者不仅可以了解到Web开发的基础知识,还可以接触到实际项目开发中的问题解决策略和最佳实践。此外,参与开源项目还能提升...
- **GPL**:最严格的开源许可之一。 - **MIT**:宽松型许可。 - **BSD**:限制较少,鼓励商业使用。 - **Apache**:适合于Web服务器等领域。 - **LGPL**:允许与非自由软件结合使用。 **11. BSS段、数据段、代码段...
8. **LICENSE**:项目的开源许可协议文件。 通过分析这个开源项目,开发者可以学习到Android应用开发的基本结构、组件使用、数据持久化、网络请求、UI设计等多个方面的知识。对于初学者,这是一个很好的实战案例,...
- **许可证**: 采用了GPL许可协议,确保了Linux的开源性和可自由修改性。 - **优点**: - 稳定性高: 长时间运行无需重启。 - 成本低: 许多版本是免费提供的。 - 安全性强: 内置防火墙和其他安全功能。 - 多任务...
开源系统通常遵循像MIT、Apache 2.0或GPL等许可协议,鼓励社区参与和透明度。 【压缩包子文件的文件名称列表】"ivzhao.github.io-master" 提示我们这是GitHub仓库的主分支(通常称为master分支)的下载副本。在...
9. **开放源代码实践**:课程可能涵盖参与开源项目的实际过程,如在GitHub上查找和贡献代码,理解开源许可协议,以及如何通过Issue和Pull Request进行协作。 10. **项目实战**:通过实际项目,学习者可以将所学知识...
开源软件遵循特定的许可协议,通常鼓励社区参与和协作。 Java Swing是Java平台上用于创建桌面应用程序的一个库,它提供了丰富的组件和工具,如按钮、文本框、菜单等,使得开发者能够构建具有图形用户界面(GUI)的...