极客视点
极客时间编辑部
极客时间编辑部
113243 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/05:12
登录|注册

一文了解开源证书

讲述:初明明大小:4.78M时长:05:12
没有开源证书,开源软件和代码就没有相应的保护。那你知道如何为你的项目或工作选择合适的开源证书吗?日前,机器之心编译了 choosealicense.com 的文章,介绍了选取开源证书的方式、部分证书的授权内容以及对于无证书情况的应对方法。以下为重点内容。
如果你在为一个已有证书的项目做贡献或做扩展,最简单的方法就是继续使用该项目的证书。要查找这个证书,只需寻找一个名叫 LICENSE 或 COPYING 的文件,另外还要浏览一下 README。如果你找不到证书,可以询问项目维护者。
还有一些社区非常偏好特定的证书,如果你想参与某个社区,并决定发起一个新项目,使用社区偏好的证书会更轻松一些。比如:
Apache 需要 Apache License 2.0 证书
云原生计算基金会(Cloud Native Computing Foundation)默认指定了 Apache License 2.0 证书
GNU 建议大多数程序使用 GNU GPLv3 证书
NPM 软件包大都使用 MIT 证书或非常相似的 ISC 证书
OpenBSD 偏好 ISC 证书
WordPress 插件和主题必须使用 GNU GPLv2(或更新的)证书
这些都是已经很完善的社区了,如果你正在构建项目的社区还没有固定的证书传统,或者你并不认为你的项目属于某个社区,那你需要选择自己的开源证书。下面简单介绍几种开源证书。
1. MIT 证书
这是一个简短的许可证,其条款中仅要求保留版权和许可声明。使用该证书的工作、修改和更大型的成果可能会以不同的条款进行分发,也可以不分发源代码。
2. GNU 许可证 v3.0
GNU 许可证 v3.0 按不同强度 copyleft 许可权限分为三级。
首先,对于 copyleft 强度更低的 GNU LGPLv3(GNU Lesser General Public License v3.0),通过接口方式提供已有该许可证的软件时,更大型的工作可以基于不同的条款分发,也无需提供该更大型工作的源代码。
其次,对于 copyleft 许可强度居中的 GNU GPLv3(GNU General Public License v3.0),要求提供使用该证书的工作和修改的完整源代码,这包括:使用了已有该证书的工作的更大型工作要使用同一证书;版权和许可声明必须保留;贡献者需明确提供专利权授权。
最后,对于 copyleft 强度更高的 GNU AGPLv3(GNU Affero General Public License v3.0),使用该许可证授权的代码在网络上提供服务时,必须公开该服务所用修改版的完整源代码。
除此之外,软件项目常用的开源证书还有 Mozilla Public License 2.0、Apache License 2.0、Boost Software License 1.0、The Unlicense 等,它们都有各自不同的许可权限范围以及要求。
除了用于开源软件项目的证书之外,也有针对非软件工作的证书。当然,开源软件证书基本也都可以用于非软件的工作,尤其是当证书许可的工作是可以编辑或制作不同的版本时(比如开源硬件设计)。下面介绍一些针对不同类型的非软件工作的证书。
对于数据、媒体内容等,CC0-1.0、CC-BY-4.0 、CC-BY-SA-4.0 是可用于从数据集到视频等非软件材料的开放证书。其中,后两者不应该用于软件。
对于文档,任何开源软件证书或用于媒体内容的开放证书都可用于软件文档。如果你的软件和文档使用不同的证书,一定要确保文档中给出的源代码示例是用软件证书授权的。
对于字体,SIL Open Font License 1.1 能够保证字体开放,同时也支持它们在其它工作中被自由地使用。
对于混合项目,如果你的项目包含软件和其它材料,你可以使用多个证书,只要你明确指定哪个证书适用于该项目的哪些部分。
此外,对于不使用证书的情况,当你在做一项创意工作(包括代码)时,该工作默认是有专属版本的。除非你使用一个证书明确说明许可权限,那么其他人就不能复制、分发或修改你的工作。如果该工作还有其他贡献者(每个人都是一个版权所有者),那就没人能规定它的许可权限了,包括你自己。
不提供证书完全无需任何操作。但是,你可能需要在显眼的位置(比如 README)添加一个版权注意和声明,表明你不提供任何证书。如果你希望你的无证书项目收到其他人的贡献,你可能还需要添加一个贡献者声明,以便你维护来自贡献者的版权许可。如果你的目标是完全抛弃版权限制,那么试试公共领域专用的证书:The Unlicense。
需要注意的是,如果你发现某个软件没有证书,这通常意味着你无权使用、修改和共享该软件。你可以恳请维护者添加一个证书或协商获取私人授权,你也可以放弃使用这个软件,另找或创建有开源证书的软件。
以上就是今天的内容,希望对你有所帮助。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • 鲍勃
    总结的不错,使用GPL许可证的软件比较难办啊,开源的要求太高了。
收起评论
显示
设置
留言
1
收藏
99+
沉浸
阅读
分享
手机端
快捷键
回顶部