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