写点什么

开源生态|超实用开源 License 基础知识扫盲帖(上)

作者:Orillusion
  • 2022 年 6 月 06 日
  • 本文字数:1829 字

    阅读完需:约 6 分钟

开源生态|超实用开源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


https://wenshu.court.gov.cn/


·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-不能以专门的技术或界面完成授权

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 个。整体可以分为两大类:

  1. 宽松自由软件授权条款(Permissive Free Software Licence/Permissive Licenses):开源项目被修改并再发布时,不要求公开源代码。比如 MIT、BSD、Apache-2.0 等。

  2. 著作权授权条款(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, 链接未来世界


发布于: 刚刚阅读数: 5
用户头像

Orillusion

关注

还未添加个人签名 2021.12.20 加入

还未添加个人简介

评论

发布
暂无评论
开源生态|超实用开源License基础知识扫盲帖(上)_渲染引擎_Orillusion_InfoQ写作社区