如今GitHub已成为全球最流行的开源项目托管平台,但也有质疑声音——“Github中的大多数项目并不算是开源项目”。这是因为Github中大多数项目并没有明确声明所使用的许可证。

根据版权法规定,如果开源项目中没有包含任何一种OSI批准的开源许可证,那么其他用户将没有权利以任何目的任何形式去使用这些代码或fork这些项目。

但是繁多的许可证及条款可能会令开发者迷惑,不知道究竟该选择哪一种。对此,GitHub今天发布了choosealicense.com网站,在呼吁开源项目开发者选择一个许可证的同时,还提供了许可证的一些简要说明。

1.  我想要一个简单宽松的许可证

建议: MIT许可证。这是一个宽松的、简明扼要的许可证,只要用户在项目副本中包含了版权声明和许可声明,他们就可以拿你的代码做任何想做的事情,你也无需承担任何责任。

使用该许可证的项目:jQuery、Rails

2.  我比较关心专利

建议: Apache许可证。这类似于MIT许可证,但它同时还包含了贡献者向用户提供专利授权相关的条款。

使用该许可证的项目:Apache、SVN和NuGet

3.  我关心项目的共享改进

建议:GPL( V2或 V3)许可证。这是一种copyleft许可证,要求修改项目代码的用户再次分发源码或二进制代码时,必须公布他的相关修改。V3版本与V2类似,但其进一步约束了在某些限制软件更改的硬件上的使用范围。

使用该许可证的项目:Linux、Git

关于如何选择许可证,详细信息可参阅: http://choosealicense.com/licenses/

为了使开发者养成选择开源许可证的习惯,Github在创建新库的表单中添加了一个许可证选项。该选项中提供了一组简化的开源许可证,开发者选择后,Github会自动在其库的根目录中创建一个readme文件。

如果你不想选择许可证,Github也不会勉强。Github表示,选择许可证只是你的权利,不是你的义务。但是需要注意的是,拒绝开源许可证并不意味着你拒绝了项目版权。没有许可证意味着你默认接受版权法中的规定,比如你可以保留你的项目源码被复制、分发、创建衍生版的权利,但有可能这不是你希望做的。

在Github中,如果你的项目以公共库的形式发布,表明你已经接受了Github的服务条款,该条款赋予了其他Github用户一些权利,比如允许他们查看你的项目库或fork等。

如果你想与他人分享你的项目,还是建议你选择一种开源许可证。

Github 终于开始认真考虑开源项目许可证了的更多相关文章

  1. 【转】GitHub平台最火Android开源项目整理——2013-08-25 17

    http://game.dapps.net/news/developer/9199.html GitHub在中国的火爆程度无需多言,越来越多的开源项目迁移到GitHub平台上.更何况,基于不要重复造轮 ...

  2. 如何在 Github 上发现优秀的开源项目?

    之前发过一系列有关 GitHub 的文章,有同学问了,GitHub 我大概了解了,Git 也差不多会使用了,但是还是搞不清 GitHub 如何帮助我的工作,怎么提升我的工作效率? 问到点子上了,Git ...

  3. 【转载】如何在 Github 上发现优秀的开源项目?

    之前发过一系列有关 GitHub 的文章,有同学问了,GitHub 我大概了解了,Git 也差不多会使用了,但是还是搞不清 GitHub 如何帮助我的工作,怎么提升我的工作效率? 问到点子上了,Git ...

  4. Golang优秀开源项目汇总, 10大流行Go语言开源项目, golang 开源项目全集(golang/go/wiki/Projects), GitHub上优秀的Go开源项目

    Golang优秀开源项目汇总(持续更新...)我把这个汇总放在github上了, 后面更新也会在github上更新. https://github.com/hackstoic/golang-open- ...

  5. (转载)如何在 Github 上发现优秀的开源项目?

    转载自:传送门 之前发过一系列有关 GitHub 的文章,有同学问了,GitHub 我大概了解了,Git 也差不多会使用了,但是还是搞不清 GitHub 如何帮助我的工作,怎么提升我的工作效率? 问到 ...

  6. GitHub上不错的Android开源项目(三)

    收集相关系列资料,自己用作参考,练习和实践.小伙伴们,总有一天,你也能写出 Niubility 的 Android App :-) GitHub上不错的Android开源项目(一):http://ww ...

  7. GitHub上不错的Android开源项目(二)

    收集相关系列资料,自己用作参考,练习和实践.小伙伴们,总有一天,你也能写出 Niubility 的 Android App :-) 系列文章如下: GitHub上不错的Android开源项目(一):h ...

  8. GitHub上最火的开源项目SlidingMenu导入出错的终极解决方案

    SlidingMenu 开源项目下载地址 : https://github.com/jfeinstein10/slidingmenu Actionbarsherlock 开源项目下载地址 :http: ...

  9. [GitHub]第六讲:开源项目贡献流程

    Github 是目前世界上最大的开源项目的托管交流平台.贡献开源项目的流程也是 Github 全力支持的,也一样是遵循 Github Flow,虽然跟前面团队合作流程会有一点差别.在团队内部,大家都是 ...

随机推荐

  1. spring测试父类,使用junit-4.4.jar,spring-test.jar

    @ContextConfiguration(locations = "classpath:conf/applicationContext.xml") @RunWith(Spring ...

  2. jquery中判断是否按下回车enter键

    <script>   function sendsubmit()   {   $("#userLoginForm").submit();   return false; ...

  3. ARRAY_SIZE宏

    宏ARRAY_SIZE,是求设备结构体中设备的个数,   定义在linux/kernel.h中   #define ARRAY_SIZE(arr) (sizeof(arr)/sizeof((arr)[ ...

  4. 利用Qemu Guest Agent (Qemu-ga) 实现 Openstack 监控平台

    经常使用vmWare的同学都知道有vmware-tools这个工具,这个安装在vm内部的工具,可以实现宿主机与虚拟机的通讯,大大增强了虚拟机的性能与功能, 如vmware现在的Unity mode下可 ...

  5. C# Lambda Expressions 简介

    C# Lambda Expressions 简介 原文http://msdn2.microsoft.com/en-us/library/bb397687.aspx 翻译:朱之光 (larry1zhu@ ...

  6. SGU 114

    114. Telecasting station time limit per test: 0.25 sec. memory limit per test: 4096 KB Every city in ...

  7. HDU 3038 How Many Answers Are Wrong(带权并查集)

    太坑人了啊,读入数据a,b,s的时候,我刚开始s用的%lld,给我WA. 实在找不到错误啊,后来不知怎么地突然有个想法,改成%I64d,竟然AC了 思路:我建立一个sum数组,设i的父亲为fa,sum ...

  8. **php队列的实现思路和详细过程

    http://www.imooc.com/wenda/detail/252185 一.队列使用场景:为什么需要队列在web开发中,我们经常会遇到需要处理批量任务的时候,这些批量任务可能是用户提交的,也 ...

  9. poj 1026 Cipher

    置换群就可以搞定!!! 注意下格式就好了…… #include<iostream> #include<stdio.h> #include<algorithm> #i ...

  10. BZOJ 3129 SDOI2013 方程

    如果没有限制,答案直接用隔板法C(m-1,n-1) 对于>=x的限制,我们直接在对应位置先放上x-1即可,即m=m-(x-1) 对于<=x的限制,由于限制很小我们可以利用容斥原理将它转化为 ...