各类开源协议的核心内容,主要有4点:mysql
(1)使用该软件用于何目的的权利;sql
(2)对软件工做原理的知情权(便是否能查看软件源代码);3d
(3)从新发布软件副本的权利;blog
(4)改进软件并将其发布的权利。开发
常见的开源协议:源码
FPL(自由公共许可证):产品
表明软件:mysql原理
(1)使用权利:容许内部自由使用,但不提供技术支持;商业使用必须申请商业许可证;软件
(2)源代码:开放;im
(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协议。
各协议的对比图: