4、开源协定

    软件的开源(Open Source) 指的是在将源代码公开,但这并不意味着它没有版权,为了开源协定的作用之一,就是保护这类软件的版权。这里罗列以下几个常见的开源协定。

GPL

    即Gnu general Public License,GNU通用公共许可证,规定了用户可以自由查看、修改、传播软件(及源代码),其中一些要求如下

    ◆若使用了该协定,且欲使用软件收费,则需要像客户说明该软件遵循GPL,客户可以免费获得,并且需要说明收费的理由

    ◆若软件用引用了任何遵循GPL的代码,则该软件也需要遵循GPL

目前的最新版为GPL v3.0

LGPL

    鉴于GPL软件的严苛,使得其有一种“传染性”,从某种程度上限制了自由软件的传播。LGPL为Lesser GPL,它较GPL稍显宽松,大致区别在于

    ◆可以通过类库引用的方式使用LGPL代码,而软件无需开放源代码

    ◆若修改了LGPL的代码,则涉及到的代码以及衍生代码都需要遵循LGPL

    ◆因此,LGPL适合作为第三方的类库被使用

目前的最新版本为LGPL v3.0

BSD License6

    BSD协议较以上二者,给了开发者极大的自由,要求为

    ◆使用了遵循BSD协定的软件后,若发布的软件为源代码,则在源代码中必须带有原来代码中的BSD协议

    ◆如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议

    ◆不能使用原程序作者或组织的名字来对软件进行宣传

    ◆严格来讲,BSD许可证是由加州大学伯克利分校(UCB)开发的一类非常简单且非常自由的计算机软件许可证。这里讲的是Original BSD license

Apache License

    该协定与BSD类似,依然较为宽松

    ◆若修改了遵循该协定的代码,则需要再被修改的文件中进行说明

    ◆在衍生出的代码中需要带有原来代码中的协议,商标,专利声明等,以及原作者规定需要包含的其他说明

    ◆若发布的产品中包含Notice文件,则在Notice文件中需要带有Apache Licence,同时也可以在Notice中增加自己的许可,但不可以与Apache Licence冲突

    ◆需要给代码的用户一份Apache Licence

    ◆目前的最新版为Apache License v2.0

下图说明了各协定间的区别,以及如何选择



end

你可能感兴趣的:(4、开源协定)