各类开源协议总结

各种开源协议的核心内容,主要有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协议。

各协议的对比图:

原文地址:https://www.cnblogs.com/xiwang6428/p/5975370.html