在一个开源项目,开源许可证(Open Source License)的选择也是一个非常重要的环节。今天我们就来聊一下License的那些事儿。在一个开源项目,开源许可证(Open Source License)的选择也是一个非常重要的环节。今天我们就来聊一下License的那些事儿。
·License的本质·
01 中国
在中国,License不是基本法的地位存在,它本身没有法律层面的普世约束力。再说通俗一些,License本质上是一个约定,或者说是一个合同。有点儿像我们注册一般的平台账号时,必须要打钩的那个《用户注册协议》,不需要签字的情况下其实我们就已经和平台建立了合同。
资料来源于网络
02 美国
在美国,License更偏向于被看做“版权许可”,也就是一种形式的知识产权。既然被当作知识产权,那肯定是有相关法律保护的。而且涉及到知识产权的法律问题,一般都要走联邦级的处理流程,也就是说License在美国的待遇更加严肃。
·License受法律保护·
答案是肯定的。在国内,License既然是一种“合同”的待遇,那当然也同样受到《合同法》的保护。近些年,由于开源生态在国家层面越来越得到重视,对于License的保护判例也越来越多。其中最著名的就是广东省深圳市中级人民法院对于“罗盒案件”的判例。关于案件的细节文字解读,可以参考:
https://www.oschina.net/news/...
·License的制定标准·
说到开源License的制定标准,我们不得不提到开放源代码促进会(Open Source Initiative, OSI )。OSI成立于1998年2月,是一个努力推动开源软件发展的非盈利组织,它制定了很多开源协议的标准,是目前大众公认的开源“官方”组织。
https://en.wikipedia.org/wiki...
OSI提出,一个License是不是开源的属性,要看它是否符合(Open Source Definition,OSD)的10条要求:
- Free Redistribution-分发自由
- Source Code-源代码
- Derived Works-衍生作品
- Integrity of The Author's Source Code-原作者源码的完整性
- No Discrimination Against Persons or Groups-不歧视个人或团体
- No Discrimination Against Fields of Endeavor-不歧视任何领域
- Distribution of License-许可的分发
- License Must Not Be Specific to a Product-许可不能针对特定产品
- License Must Not Restrict Other Software-许可证不能限制其他软件
- License Must Be Technology-Neutral-不能以专门的技术或界面完成授权
https://opensource.org/osd
我们这里要说明的是,OSI是被大众接受的“官方”组织,但是并不意味着,只有通过OSI认定的License才是合法的License。我们已经提到License在中国被认为是“合同”,因此我们完全可以撰写符合自己要求的License。当然,在怎样的法律框架下去合理的撰写,还是需要有专业的法律律师来协助会更为实际(MongoDB 创建的开源许可证SSPL ,就存在较大争议, 甚至OSI不认为它是开源许可协议)。如果我们不考虑自己撰写License,同时也希望相关开源权益得到保证,选择OSI认可的License是最高效的。
Github 官方也发布了一个网站,来帮助大家更容易选择合适的License。
https://choosealicense.com/
·License的种类·
基于OSD的10条标准原则,OSI官方认可的License有近70个。整体可以分为两大类:
宽松自由软件授权条款(Permissive Free Software Licence/Permissive Licenses):开源项目被修改并再发布时,不要求公开源代码。比如MIT、BSD、Apache-2.0等。
著作权授权条款(Copyleft Licenses):开源项目被修改并再发布时,必选依然要公开源代码。比如MPL、GPL、LGPL等。
https://opensource.org/licens...
其中,MIT、GPL、Apache-2.0这三个是最为流行和广泛使用的License,在Github的开源项目中占比超过了60%。为了方便大家理解,下一期我们会提炼下这些License含义和主要的区别,也可以帮助大家选择适合自己开源项目的开源协议,希望大家继续关注!
Orillusion致力于打造全世界第一款完全开源基于WebGPU标准的一种轻量级渲染引擎,目标是在浏览器中实现桌面级的渲染效果,支持超大复杂场景的3D呈现。易上手,易分享,易迭代,易协作、成本低,跨平台是我们的核心优势,我们将为3D场景爆发时代提供引擎基础工具。
未来我们将会持续把最干货最前沿的WebGPU技术分享给每一位社区成员,也欢迎大家为Orillusion开源社区做出自己的贡献。我们一直坚信,开源社区的技术留痕是每一位技术人员最崇高的追求!因此,我们尊重,我们认可,我们更期待,加入Orillusion,让我们共同进步!
——Link uncharted, 链接未来世界
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。