📄开源协议总结归纳
00 分钟
2024-10-20
2024-10-20
type
status
date
slug
summary
tags
category
icon
password
😀
心血来潮,想总结看看市面上常见的开源协议有哪些,以便于后续项目更好的维护与保护知识产权。
notion image

📝 开源协议

上面那张图还是看起来太麻烦了,有十来个之多,不知道怎么选,有没有简单一点的图呢?
果然,有好心人直接总结了这幅图:
notion image
这个图主要是用来给自己的项目选择开源协议的。
第一个选择主要影响你的代码能否商用。如果闭源了,那大概率就是商用项目上。
如果他人修改源码后不可以闭源,那这个是有开源的“传递性”,就是我是开源项目,你用了我的代码,那么你的代码也要开源。这个最多的就是GPL许可了,这个也是见的最多的开源许可,适用于希望确保软件及其衍生作品保持开源状态的项目。
GPL有个衍生的协议,叫LGPL,主要针对库文件使用。它允许将 LGPL 许可的库与专有软件链接,只要该库本身保持开源。这个协议适合于希望鼓励广泛使用的库的开发。
左半边还有一个Mozilla协议,它要求对修改过的文件进行开源,但允许非修改部分以不同条款分发。平常见得少。
还有一个最常见的协议是MIT协议,它几乎没有任何限制。它允许自由使用、复制、修改、合并、出版发行、散布、再授权及贩售软件及改作后的衍生产品。只要保留原始版权声明和许可声明即可
类似的,BSD也很宽松,但它比MIT协议多包含一些免责声明。
Apache 许可证提供了明确的专利权授予条款,并且允许用户在遵守某些条件的情况下自由地使用、分发和修改软件。它要求保留版权和其他通知。

自己的项目怎么选择呢?

如果你希望你的软件尽可能地被广泛使用并且不限制其商业化,那么像 MIT 或者 Apache 这样的宽松许可证可能是更好的选择。
如果你希望确保所有衍生作品都保持开源,那么 GPL 可能更适合。
没有开源协议的项目,在页面上新建文件,文件名输入LICENSE,就会弹出一个按钮,点进去就可以选择自己想要的开源协议啦!
notion image

别人的项目的开源协议怎么查看呢?

举几个例子,像github上,直接看主页的readme旁边就有协议条款。
notion image
这个github上的项目是用了BSD和Apache,说明这个软件愿意被广泛传播,不限制商用。这个软件拿下来拉自己的项目,魔改什么的,就很合适。
notion image
这个gitee上的项目使用了GPL协议,表示其后续的所有衍生修改都需要开源,不得闭源商用。
这个网站也可以帮助你更好的选择开源协议。

🤗 总结归纳

总结一下,开源协议在我们使用开源项目的时候,还是需要关注一下的。以前我总是忽略,但是现在想起来,可能不知不觉中犯了很多错误。自己开源的项目也没有标明开源协议,也容易使人误解。
所以,后面还是得更加注重知识产权的保护,方便自己,也方便他人嘛。
上一篇
模板说明(模板页面,暂未修改)
下一篇
Win11多屏壁纸切割程序