各类开源协议总结

Posted 行走于代码间

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了各类开源协议总结相关的知识,希望对你有一定的参考价值。

各种开源协议的核心内容,主要有4点:

(1)使用该软件用于何目的的权利;

(2)对软件工作原理的知情权(即是否能查看软件源代码);

(3)重新发布软件副本的权利;

(4)改进软件并将其发布的权利。

 

常见的开源协议:

FPL(自由公共许可证):

代表软件:mysql

(1)使用权利:允许内部自由使用,但不提供技术支持;商业使用必须申请商业许可证;

(2)源代码:开放;

(3)分发权利:允许免费分发,但必须遵守FPL其他条款,如要求分发mysql和其派生产品的全部源代码;并与Mysql分本FPL本身;

(4)修改发布权:未知。

 

BSD开源协议:

代表软件:BSD软件系统

(1)使用权利:自由使用不受限;

(2)源代码:开放;

(3)分发权:允许自由分发,但要包含软件(或源代码)中的BSD协议;

(4)修改发布权:允许二次开发,但必须要随软件(或在源代码)附来原来代码中BSD协议,且不可以用原来产品名字和原来的源代码作者或机构作市场推广;二次开发的软件免费、商业发布都可以,是否开源都可以。

 

GPL开源协议(v2):

代表软件:Linux

(1)使用权:自由使用;

(2)源代码:开放;

(3)分发权:允许自由分发,但收受者也同样有此权利,收受者不得放弃此权利;

(4)修改发布权:允许二次开发并出售,但收受人有权向您免费索要源代码或得知源码获取方式。收受人也有权修改此源码并自由发布,收受者不得放弃此权利。

 

Apache 2.0协议:

(1)使用权利:自由使用;

(2)源代码:开放;

(3)分发权:允许自由分发,需附带Apache协议;

(4)修改发布权:附带原来代码的协议、商标、专利声明和原作者规定的说明;修改了代码需要附带说明,并带Apache协议。

 

各协议的对比图:

 

以上是关于各类开源协议总结的主要内容,如果未能解决你的问题,请参考以下文章

如何选择开源协议

如何选择开源协议

Linux学习总结(78)—— 常见开源协议讲解

开源协议总结

linux基础版本及开源协议

HUAWEI永远滴神!华为顶级网络专家总结出了这份网络协议开源手册