zoukankan      html  css  js  c++  java
  • 深入浅出:远离法律风险,必须了解开源项目许可证

    本文讲开源项目的许可证(License)。

    现在FOSS(Free Open Souce Software)的项目逐步增多,而且项目引进FOSS项目也越来越多,以提高我们开发的效率,避免重复造轮子。那么在我们开心享用这些FOSS项目时,感叹世界真美好,但我们有没有认真去研读过它们的许可证呢?

    引进FOSS项目需要注意什么?

    那么在引进FOSS的项目时,我们需要注意什么呢?对此不同的人有不同的答案。对此,我的看法是:

    1. 需要了解FOSS项目许可
    2. FOSS项目是否符合自己的需求。
    3. FOSS项目是否有人维护。
    4. FOSS项目的成熟度,社区的热度。
    5. FOSS项目的质量。
    6. 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,以图胜千言。

  • 相关阅读:
    判断当前时间为星期几
    springboot+mysql数据源切换
    表单上传图片
    po,vo,bo,dto,dao解释
    生成电脑的SSH key
    单例模式
    事物的特性和隔离级别
    springAOP自定义注解讲解
    Spring依赖注入(DI)的三种方式
    redis持久化
  • 原文地址:https://www.cnblogs.com/confach/p/10082311.html
Copyright © 2011-2022 走看看