开源协议介绍

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

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创建新仓库时也提供了直接添加开源协议的选项, 可以方便的使用。

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

相关推荐
X54先生(人文科技)5 天前
《元创力》纪实录·心田记釉下新声:当《纪·念》成为可聆听的星轨
人工智能·开源·ai写作·开源协议
X54先生(人文科技)9 天前
泉州单元组协同铁律
人工智能·语言模型·开源协议
lwf00616410 天前
开源协议解读
开源协议
Alex艾力的IT数字空间12 天前
大模型的“Think 模式”(思考模式)关闭的配置方式
人工智能·机器人·web3·github·开源软件·量子计算·开源协议
蒸汽求职23 天前
北美求职身份过渡:Day 1 CPT 的合规红线与安全入职指南
开发语言·人工智能·安全·pdf·github·开源协议
苏渡苇24 天前
Redis 版本演进、新特性与协议那些事儿
数据库·redis·缓存·开源协议·redis版本·redis新特性
拆房老料1 个月前
从 Euro-Office 说起:Office 不是编辑器,是一套复杂系统工程
前端·编辑器·开源软件·开源协议
The️1 个月前
STM32F407 + LVGL 图形界面开源开发板
stm32·单片机·嵌入式硬件·开源·硬件工程·开源协议·pcb工艺
虎头金猫1 个月前
自建 GitLab 没公网?用内网穿透技术,远程开发协作超丝滑
运维·服务器·网络·开源·gitlab·开源软件·开源协议
REDcker2 个月前
开源软件开源协议详解与选择指南
开源·开源软件·协议·开源协议·软件