深入浅出:远离法律风险,必须了解开源项目许可证
Posted confach
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入浅出:远离法律风险,必须了解开源项目许可证相关的知识,希望对你有一定的参考价值。
本文讲开源项目的许可证(License)。
现在FOSS(Free Open Souce Software)的项目逐步增多,而且项目引进FOSS项目也越来越多,以提高我们开发的效率,避免重复造轮子。那么在我们开心享用这些FOSS项目时,感叹世界真美好,但我们有没有认真去研读过它们的许可证呢?
引进FOSS项目需要注意什么?
那么在引进FOSS的项目时,我们需要注意什么呢?对此不同的人有不同的答案。对此,我的看法是:
- 需要了解FOSS项目许可。
- FOSS项目是否符合自己的需求。
- FOSS项目是否有人维护。
- FOSS项目的成熟度,社区的热度。
- FOSS项目的质量。
- FOSS项目的继承难度系数,以及是否能提高开发效率。
本文只关注这里的第一步:FOSS项目许可证。为什么把许可证放在第一条呢?因为我觉得如果许可证都不合适,下面其他要素不用考虑了。
License的重要性
无论作为个体还是公司,我们引进FOSS项目时,首先必须要考虑License的问题,如果不注意License的问题,自己的项目有可能会侵权,可能会把自己或者公司陷入法律风险的境地,如果真的这种事情发生,解决起来很麻烦。
一般怎么处理呢?首先如果是个体,我们必须把常见的License类型了解清楚,如果是公司,需要有法务部门来审核,但是一般公司可能没有法务部门,那需要开发人员自己去把握。我清楚的记得,在前东家里,我配合公司的法务部门核查每个项目使用FOSS项目的情况,就是为了让项目和公司不处于被动地位。(其实我也亲身碰到过专利侵权问题,不过不在本文之内)。
所以,我们在引进FOSS项目时,一定要仔细项目的许可证,我们自己得有法律意识,这根弦必须得绷住。
License类型
现在开源项目的类型实在太多了,参看这里,http://www.gnu.org/licenses/license-list.html, 估计有百种左右。但是,我们常见的许可证类型有以下几种
我们常见的软件是什么类型呢?我们看看:
- Apache HTTPd ,许可证是Apache
- Apache Tomcat, 也是Apache,似乎Apache Foundation都采用Apache许可。Dubbo也是,可以参看https://github.com/apache/incubator-dubbo/blob/master/LICENSE
- Spring Boot,也是Apache,https://github.com/spring-projects/spring-boot/blob/master/LICENSE.txt
- React,用的是MIT,https://github.com/facebook/react/blob/master/LICENSE
- Linux常用命令wget,用的是GPL,https://www.gnu.org/software/wget/
- Linux操作系统, 用的也是GPL,https://www.kernel.org/category/faq.html
- QT,不同用途有不同的许可,包括LGPL,参看http://doc.qt.io/qt-5/licensing.html
- VI,用的就是BSD,https://www.freebsd.org/cgi/man.cgi?query=vi&sektion=1
License介绍
光去阅读许可证的描述太抽象了,我借用阮一峰老师的文章:http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html,以图胜千言。
以上是关于深入浅出:远离法律风险,必须了解开源项目许可证的主要内容,如果未能解决你的问题,请参考以下文章