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


本文講開源項目的許可證(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,以圖勝千言。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM