什么是开源协议与开源软件以及如何进行选择适合自己的协议

news/2024/7/10 21:46:04 标签: 开源, 协议, 软件, 适合, 选择

个人博客原文

http://alvincr.com/2021/01/%e4%bb%80%e4%b9%88%e6%98%af%e5%bc%80%e6%ba%90%e5%8d%8f%e8%ae%ae%e4%b8%8e%e5%bc%80%e6%ba%90%e8%bd%af%e4%bb%b6/

1 开源协议

1 内容

开源协议规定了你在使用开源软件时的权利和责任,也就是规定了你可以做什么,不可以做什么。

1.1 为什么要开源

于作者而言:

开源协议中一般都包含免责声明(禁止代码的作者承担代码使用后的风险及产生的后果),假设开源了一个对社会有潜在破坏的代码,如果有人利用这个做坏事,作者无需承担责任的。

于使用者而言:

一目明了:使用者快速了解哪些操作是被允许的,哪些不被不允许。

 

2 协议选择

2.1 图片

如何<a class=选择开源协议" src="https://img-blog.csdnimg.cn/img_convert/5ffe732d206eb1c4df3e39f391675818.gif" />

https://www.iteye.com/blog/sosuny-1026575

可以闭源许可:BSD许可,MIT许可,Apache许可

必须开源许可:LGPL许可,Mozilla许可,GPL许可

 

https://www.gcssloop.com/tips/choose-license(图片水印是自动打上的,并不是我的图)

2.2 文字

具体内容参考附录,下面是个人总结:参考网站:https://choosealicense.com/

  • 如果是社区工作。

    如果项目没有许可证,添加许可证。

  • 宽松且简单的许可。

    MIT许可证很短,重点突出。可以进行各种操作(例如制作和分发封闭源代码版本,也是与GNU GPLv3的区别)。

    Babel, .NET Core和 Rails 使用MIT许可证。

  • 对于共享较为宽容。

    在GNU GPLv3同上但是不能进行分发封闭源代码的版本。

    Ansible, Bash和 GIMP 使用GNU GPLv3。

小结:

GNU+Apache+Mozilla协议是我常见的三大类别协议

GPL 许可协议,也就是必须开源免费,并不适合商用软件

Apache 协议在为开发人员提供版权及专利许可的同时,允许用户拥有修改代码及再发布的自由。

Mozilla协议必须开源免费,不能闭源收费,但是不能采用同样的许可还要提供文档说明修改点。

 

2.3 自动选择网站

https://creativecommons.org/choose/

通过这个网站我就可以直接筛选出适合我的协议,例如:不可商用,可以修改后分享但是修改后的文章也要共享(便于他人学习使用)。

3 注意事项

你默认接受发布文章/内容平台本身的协议,无论你是否愿意采用该协议,发出内容即默认你采用该协议

知识共享协议也是版权协议的一种,是作者保障自己权益的一种方法,但是知识共享协议不适用于开源软件

你在百度上发表的任何东西,不论是百度知道,百度文库或者是贴吧,百度自动拥有版权,可以随意使用这些内容,而在知乎上的回答,文章等则是作者拥有版权,知乎拥有使用权,当然了,前提是你为原创作者。

 

2 开源软件

1 WIKI定义

开源软件(英语:open source software,缩写:OSS)又称开放源代码软件,是一种源代码可以任意获取的计算机软件,这种软件的著作权持有人在软件协议的规定之下保留一部分权利并允许用户学习、修改以及以任何目的向任何人分发该软件开源协议通常符合开放源代码的定义的要求。一些开源软件被发布到公有领域。开源软件常被公开和合作地开发。开源软件是开放源代码开发的最常见的例子,也经常与用户生成内容做比较[1]。 开源软件的英文“open-source software”一词出自自由软件的营销活动中[2]。

从上可以看出,开源软件开源的一部分,此外开放源代码软件并不是公开源代码的软件,注意不要混淆。

2 开放源代码与自由软件

开放源代码有时不仅仅指开放源代码软件,它同时也是一种软件开放模式的名称。使用开放源代码开放模式的软件代表就有Linux操作系统。

来自:https://zh.wikipedia.org/wiki/%E5%BC%80%E6%BA%90%E8%BD%AF%E4%BB%B6

开放原代码包括自由软件,自由软件是开放源代码的一种形式,任何软件都可以以自由软件的形式进行发布。但是要让一个软件成为自由软件,需要以自由软件许可证的形式进行发布。这里使用的是自由软件许可证而非开源许可证的原因是:如果某些开源条件过于严格,导致用户权限受限严重,那么就不再被称为自由软件

3 优点

开源软件的优点
优点说明
低风险使用闭源软件无疑是把命运交给他人,一旦封闭的源代码没有人来维护,你将进退维谷;而且相较于商业软件公司,开源社区很少存在倒闭的问题。
高品质相较于闭源软件产品,开源项目通常是由开源社区来研发及维护的,参与编写、维护、测试的用户量众多,一般的 bug 还没有等爆发就已经被修补。
低成本开源工作者都是在幕后默默且无偿地付出劳动成果,为美好的世界贡献一份力量,因此使用开源社区推动的软件项目可以节省大量的人力、物力和财力。
更透明没有哪个笨蛋会把木马、后门等放到开放的源代码中,这样无疑是把自己的罪行暴露在阳光之下。

http://c.biancheng.net/view/2943.html

4 补充

GNU project致力于开发hurd(微内核)自由软件。但是hurd开发太烂跟不上计算机发展,紧急情况GNU引入第三方开发的Linux(宏内核),这个第三方就是指Linux之父(Linus torvalds,中文名:林纳斯)。但是Linux是GPL v2许可证,并非v3,所以Linux某部分闭源。GNU一怒之下改造出了Linux-Libre谈判LinuxLinux-Libre真正做到100%自由软件(上文说,自由软件更加宽松舒适)。举个例子,parabola、gnewsense就是100%自由的Linux-Libre发行版。Linux的logo是一只黑白皮毛的企鹅,Linux-Libre却是一只淡蓝色皮毛的企鹅。

https://www.zhihu.com/question/42117033/answer/196355713

1 开源协议具体内容

翻译原文:https://choosealicense.com/,下面的声明是我常见到的(GNU+mozilla公共许可+未经许可),此外还有其它的开源协议就不列举了。

GNU AGPLv3

Copyleft许可条件是提供许可作品和修改的完整源代码,其中包括在同一许可下使用许可作品的较大作品。版权和许可声明必须保留。贡献者明确授予专利权。使用修改后的版本通过网络提供服务时,必须提供修改后的完整源代码。

权限条件局限性
  •  商业用途
  •  分配
  •  修改
  •  专利使用
  •  私人使用
  •  公开来源
  •  许可和版权声明
  •  网络使用是分布
  •  相同许可证
  •  状态变更
  •  责任
  •  保证

GNU GPLv3

copyleft许可条件是提供许可作品和修改的完整源代码,其中包括在同一许可下使用许可作品的较大作品。版权和许可声明必须保留。贡献者明确授予专利权。

权限条件局限性
  •  商业用途
  •  分配
  •  修改
  •  专利使用
  •  私人使用
  •  公开来源
  •  许可和版权声明
  •  相同许可证
  •  状态变更
  •  责任
  •  保证

GNU LGPLv3

copyleft许可条件是在同一许可或GNU GPLv3下提供许可作品和修改的完整源代码。版权和许可声明必须保留。贡献者明确授予专利权。但是,通过许可作品提供的界面使用许可作品的较大作品可能会以不同的术语分发,而没有大型作品的源代码。

权限条件局限性
  •  商业用途
  •  分配
  •  修改
  •  专利使用
  •  私人使用
  •  公开来源
  •  许可和版权声明
  •  相同的许可证(库)
  •  状态变更
  •  责任
  •  保证

Mozilla公共许可证2.0

copyleft许可条件是提供可用的许可文件的源代码,以及在同一许可下(或在某些情况下为GNU许可之一)对这些文件的修改。版权和许可声明必须保留。贡献者明确授予专利权。但是,使用许可作品的较大作品可能会以不同的条款分发,并且没有为较大作品中添加的文件提供源代码。

权限条件局限性
  •  商业用途
  •  分配
  •  修改
  •  专利使用
  •  私人使用
  •  公开来源
  •  许可和版权声明
  •  相同的许可证(文件)
  •  责任
  •  商标使用
  •  保证

Apache许可2.0

其主要条件要求保留版权和许可声明。贡献者明确授予专利权。许可的作品,修改和更大的作品可能以不同的条款分发,并且没有源代码。

权限条件局限性
  •  商业用途
  •  分配
  •  修改
  •  专利使用
  •  私人使用
  •  许可和版权声明
  •  状态变更
  •  责任
  •  商标使用
  •  保证

未经许可

无条件的专用于公共领域的许可。未经许可的作品,修改和更大的作品可能会以不同的术语分发,并且没有源代码。

权限条件局限性
  •  商业用途
  •  分配
  •  修改
  •  私人使用
 
  •  责任
  •  保证

http://www.niftyadmin.cn/n/1639813.html

相关文章

DNS劫持及网页跳转到莫名站点时应该怎么办?(DNS劫持和HTTP劫持及解决方法)

如有更新及改动请参考我的博客原文 https://alvincr.com/2021/01/dns%e7%9b%b8%e5%85%b3%e7%9f%a5%e8%af%86%e4%b8%aa%e4%ba%ba%e6%95%b4%e7%90%86%ef%bc%88dns%e5%8a%ab%e6%8c%81%e5%8f%8a%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88%ef%bc%89/ 1 基础知识&#xff1a; 1 基础常…

WP如何删除不需要的主题-方法汇总

个人博客原文地址 https://alvincr.com/2021/01/wp%e5%88%a0%e9%99%a4%e4%b8%bb%e9%a2%98%e7%9a%84%e6%96%b9%e6%b3%95%e6%b1%87%e6%80%bb/ 图片转存一直失败.... 方法一&#xff1a; 点击主题详情-弹出页面的右下角会出现删除选项。 方法二&#xff1a;使用插件 Delete M…

如何让WordPress自动为文章添加标签项(三种方法)

图片竟然没一个转存成功的&#xff0c;我个人博客原始内容 https://alvincr.com/2021/01/wordpress%e8%87%aa%e5%8a%a8%e4%b8%ba%e6%96%87%e7%ab%a0%e6%b7%bb%e5%8a%a0%e6%a0%87%e7%ad%be%e9%a1%b9/ 在WordPress中创建内容时。关键字&#xff0c;链接能有效提升阅读体验&…

如何创建并使用子主题以防更新主题导致自定义添加功能丢失

部分图片转存失败&#xff0c;个人博客原文 个人主页&#xff1a;alvincr.com 1 基础内容 1 背景 最近站点自定义了很多样式并添加了很多功能&#xff0c;但是这些内容会随着主题的更新被自动删除&#xff0c;除非不更新主题&#xff0c;否则就要重新再操作一次&#xff0c…

什么是cc攻击以及个人网站遭到cc攻击的解决方法

个人博客&#xff1a;alvincr.com 由于我的站点出现了点问题&#xff0c;无法进入后台&#xff0c;因此本文随后才会放入个人站点&#xff0c;以后编辑的时候基本只更改个人博客中的文章。 问题暂时性的解决&#xff0c;本文地址&#xff1a;https://alvincr.com/2021/01/cc%e…

LLaMA

LLaMA 1&#xff0c;llama 参数范围7B 13B 33B 65B 在万亿token上训练的模型&#xff0c; 2,研究重点 研究表明&#xff0c;最好的模型性能不是由最大的模型体积实现&#xff0c;而是在更多的数据上训练较小的模型实现 工作重点是通过使用比通常更多的token&#xff0c;训练一系…

建站操作-如何生成站点Sitemap站点地图,并将其提供给谷歌百度以加快收录

如有额外内容&#xff0c;请参考个人博客原文&#xff1a;https://alvincr.com/2021/01/sitemap/ 我个人文章在非允许的状况下被盗用&#xff0c;而我站点原创文章却没有被谷歌和百度收录.....我也没精力去查询举报&#xff0c;毕竟这种事情太常见了&#xff0c;因此我会在每篇…

文件上传时出现出现“抱歉,由于安全原因,这个文件类型不受支持”的多种解决方法汇总

个人博客原文&#xff1a;https://alvincr.com/2021/01/%e6%96%87%e4%bb%b6%e4%b8%8a%e4%bc%a0%e6%98%af%e5%87%ba%e7%8e%b0%e6%97%b6%e5%87%ba%e7%8e%b0%e7%94%b1%e4%ba%8e%e5%ae%89%e5%85%a8%e5%8e%9f%e5%9b%a0%ef%bc%8c%e8%bf%99%e4%b8%aa%e6%96%87%e4%bb%b6/ 0 背景 我在…