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

本文講開源項目的許可證(License)。html

如今FOSS(Free Open Souce Software)的項目逐步增多,並且項目引進FOSS項目也愈來愈多,以提升咱們開發的效率,避免重複造輪子。那麼在咱們開心享用這些FOSS項目時,感嘆世界真美好,但咱們有沒有認真去研讀過它們的許可證呢?react

引進FOSS項目須要注意什麼?git

那麼在引進FOSS的項目時,咱們須要注意什麼呢?對此不一樣的人有不一樣的答案。對此,個人見解是:github

  1. 須要瞭解FOSS項目許可
  2. FOSS項目是否符合本身的需求。
  3. FOSS項目是否有人維護。
  4. FOSS項目的成熟度,社區的熱度。
  5. FOSS項目的質量。
  6. FOSS項目的繼承難度係數,以及是否能提升開發效率。

本文只關注這裏的第一步:FOSS項目許可證。爲何把許可證放在第一條呢?由於我以爲若是許可證都不合適,下面其餘要素不用考慮了。spring

License的重要性apache

不管做爲個體仍是公司,咱們引進FOSS項目時,首先必需要考慮License的問題,若是不注意License的問題,本身的項目有可能會侵權,可能會把本身或者公司陷入法律風險的境地,若是真的這種事情發生,解決起來很麻煩。less

通常怎麼處理呢?首先若是是個體,咱們必須把常見的License類型瞭解清楚,若是是公司,須要有法務部門來審覈,可是通常公司可能沒有法務部門,那須要開發人員本身去把握。我清楚的記得,在前東家裏,我配合公司的法務部門覈查每一個項目使用FOSS項目的狀況,就是爲了讓項目和公司不處於被動地位。(其實我也親身碰到過專利侵權問題,不過不在本文以內)。spring-boot

因此,咱們在引進FOSS項目時,必定要仔細項目的許可證,咱們本身得有法律意識,這根弦必須得繃住spa

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

相關文章
相關標籤/搜索