开源协议介绍

开源协议是控制开源软件分发的法律声明,它使得软件能够被任何人自由使用、复制、修改和分发。下面是一些常见的开源协议:

MIT 许可证:非常灵活的许可证,允许你做几乎任何事情,只要在副本中包含原始的版权和许可声明。这可能是最简洁的许可证。

Apache 2.0 许可证:类似于 MIT 许可证,但额外提供了对专利权的明确授权,并包含针对商标的条款。

GNU 通用公共许可证(GPL):保障你享有使用、研究、修改和分享软件的自由。GPL 要求所有基于 GPL 的代码或者包含 GPL 代码的项目必须完全开源,并且使用相同协议。

BSD 许可证:相比 MIT 更详细一些,分为 BSD 2-Clause "Simplified" 或 "FreeBSD" 和 BSD 3-Clause "New" 或 "Revised"两种形式。

Mozilla Public License 2.0(MPL-2.0): MPL 是一个灵活框架, 允许混合开源与专有软件, 同时还确保了代码在他人手中仍然是自由且公开。

Creative Commons (CC): 主要用于艺术和文化作品等创意作品, 而不是软件。通过组合CC BY (署名), CC SA (相同方式分享), CC NC (非商业性使用), CC ND (禁止演绎)等子条款形成多种版权模式。

选择哪种许可协议取决于你如何希望别人使用你的代码。如果你希望尽可能多地鼓励其他人使用并改进你的代码,那么 MIT 或 Apache 协议会比较适合。如果你希望确保所有基于你代码改进或扩展出来的新项目也必须采用相同协议并且开源,则应选择 GPL。

在发布项目时,在项目根目录下创建一个名为 LICENSE 或 LICENSE.txt 的文件,在文件中写入所选协议内容即表示将该协议应用到了项目上。 当然, Github创建新仓库时也提供了直接添加开源协议的选项, 可以方便的使用。

在使用其他人的开源代码时,一定要先阅读并理解其协议内容,以避免侵犯原作者权益。

相关推荐
灵哎惹,凌沃敏8 天前
一句话总结IIC协议
arm开发·单片机·开源协议
猫头虎13 天前
2026最新|GitHub 启用双因素身份验证 2FA 教程:TOTP.app 一键生成动态验证码(新手小白图文实操)
git·开源·gitlab·github·开源软件·开源协议·gitcode
蒜丶24 天前
开源协议 - 介绍与比较
开源协议
Rysxt_1 个月前
常见开源协议对比指南
开源协议
猫头虎1 个月前
MiniMax M2.1与GLM4.7的对比分析:哪个更强?
开源·prompt·aigc·开放原子·ai编程·ai写作·开源协议
这儿有一堆花1 个月前
软件世界的契约:理解开源协议的逻辑与边界
github·开源协议
做萤石二次开发的哈哈1 个月前
萤石开放平台 国标设备接入 | 三方品牌设备接入文档/大华NVR对接文档
开源协议·萤石云·萤石·萤石开放平台·国标协议
AI云原生2 个月前
在 openEuler 上使用 x86_64 环境编译 ARM64 应用的完整实践
java·运维·开发语言·jvm·开源·开源软件·开源协议
AI云原生2 个月前
《开箱即用的高性能:openEuler 默认配置下的 Web 服务性能评测》
运维·前端·docker·云原生·开源·开源软件·开源协议
芥子沫2 个月前
为什么要开源
开源·开源协议