回覆列表
-
1 # 陀螺科技
-
2 # nohead
linux核心及眾多軟體採用的是gpl授權協議。gpl協議規定如果你在軟體中包含了gpl授權的原始碼或者呼叫了gpl協議的二進位制庫檔案時就強制繼承了gpl協議。根據gpl協議必須承擔開源義務(gpl2.0允許自用不公開可以不開源,3.0自用也要開源)。
在linux平臺上編寫軟體是可以不繼承gpl協議的。因為你可以不呼叫那些gpl協議的庫檔案,linux下有大量的lgpl協議的底層庫檔案。lgpl協議規定如果以動態連結的方式使用是可以不繼承lgpl協議的,也就可以不開源。
依賴gpl協議的linux核心的庫檔案為什麼可以不繼承gpl協議呢?linux核心的原作者linus解釋過,使用系統呼叫的方式呼叫核心功能不算包含原始碼,也不算呼叫庫檔案,只算是使用核心。使用gpl軟體不用繼承gpl協議。
話雖如此,但linux下大量的現成軟體是gpl的,如果要在linux下編一個軟體除非功能很簡單,否則難免會呼叫到一些gpl軟體,除非不用那些現成軟體全部自己重新寫過。那樣會花費大量時間、精力。
Linux 是開源的作業系統,和很多開源的軟體可以完美搭建許多工程,但不一定執行在Linux上的系統都是開源的。