GPL等几个开源软件许可协议的简介

23 April 2013

在百度贴吧看到关于GPL协议和BSD许可协议的讨论,于是就找资料了解了一下。由于还没有参与过开源软件开发,也就没有使用过这些许可协议,所以对其理解还是有所欠缺的,就说说字面上的理解吧。

软件许可协议是指软件创作者声明使用者对软件所拥有权利和义务的文档。在开源软件领域,有几个通用协议比较常见:

GPL(general public license)                                                                                         LGPL(lesser general public license)                                                                                         BSD许可协议                                                                                                                                  MIT许可协议

如果你开发一个软件,把源码和可执行文件都发布出去而不想保留任何权利,也就不必要附带许可协议。但是这样别人就有可能基于你的软件进行再创作然后拿去卖钱,但是不开源。这样不利于开源软件的发扬光大。所以自由软件基金会的老大stallman就搞出了个GPL(官方文档:http://www.gnu.org/licenses/gpl.html),简单描述就是你使用了标注GPL的开源软件来发展自己的软件,那么你就要在自己的这个软件里同时标注GPL,同时必须保持开源。当然,不限制你拿去卖钱。关键是你要让别人能够获取到你的源码进行再创作。这样,开源软件才会生生不息。

但是,GPL的缺点是,它让那些不想公开自己软件秘密的人不敢使用GPL软件。比较宽松的LGPL(官方文档:http://www.gnu.org/licenses/lgpl.html)就出现了。前面的L也可以被理解为Library,因为这个协议十分适用与库文件。可以被随便连接使用。GPL和LGPL都是采用十分严谨的像法律条文一样的措辞写成,是具有法律效力的。已经有过侵犯GPL协议而败诉的案例。

和LGPL相似的还有BSD许可协议和MIT许可协议。FreeBSD就是以BSD许可协议发行的。BSD许可协议也称三条文许可协议(http://opensource.org/licenses/BSD-3-Clause),比较简短,有点特别的是还有免责声明。MIT许可协议(http://opensource.org/licenses/mit-license.html)就更短了,也是最宽松的许可协议。

顺便说说知识共享协议(http://creativecommons.org/licenses/),也就是CC(creative commons)。这种协议比较适用与网络上的原创文章、摄影作品等。一共有4层:署名——可以随意使用但要保留作者名称;相同方式共享——可以被随意使用但其衍生品要同样基于CC协议;非商业性使用——可以随意使用但除了用于商业目的;禁止演绎——可以随意使用但不得修改或者基于其进行二次创作。具体来说有6种用法:署名、署名-相同方式共享、署名-禁止演绎、署名-非商业性使用、署名-非商业性使用-相同方式共享、署名-非商业性使用-禁止演绎。相同方式共享和禁止演绎是矛盾的,所以不会组合使用。而署名是最基本的,至少要带上它。

 

2013-04-23-杰良

上一篇: 一些好玩有趣的Linux命令

下一篇: 单件模式(Singleton)简介