1. 程式人生 > >深入淺出:遠離法律風險,必須了解開源項目許可證

深入淺出:遠離法律風險,必須了解開源項目許可證

soft ng- oos github 16px strong 裏的 但是 美好

本文講開源項目的許可證(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, 估計有百種左右。但是,我們常見的許可證類型有以下幾種

  • GPL
  • BSD
  • MIT
  • Mozilla
  • Apache
  • LGPL

我們常見的軟件是什麽類型呢?我們看看:

  • 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,以圖勝千言。

技術分享圖片

深入淺出:遠離法律風險,必須了解開源項目許可證