登入  |  English
感謝您對「自由軟體鑄造場」的支持與愛護,十多年來「自由軟體鑄造場」受中央研究院支持,並在資訊科學研究所以及資訊科技創新研究中心執行,現已完成階段性的任務。 原網站預計持續維運至 2021年底,網站內容基本上不會再更動。本網站由 Denny Huang 備份封存。
也紀念我們永遠的朋友 李士傑先生(Shih-Chieh Ilya Li)。
討論區
請問標準ANSI C函式的GPL??? (1 位瀏覽者) (1) Guest
Go to bottom Favoured: 0
TOPIC: 請問標準ANSI C函式的GPL???
#482
請問標準ANSI C函式的GPL??? 2010/04/26 10:35  (9 Years, 7 Months ago) Karma: 0  
請問標準C函式庫函式也在Linux GPL的保護下嗎???

從BASIC/PASCAL開始就有這些標準C函式在使用, 像是strcpy, strlen, 等等, 在Linux下使用這些函式也要受到GPL限制嗎?
!boco (User)
Fresh Boarder
Posts: 4
graphgraph
User Offline Click here to see the profile of this user
Logged Logged  
 
The administrator has disabled public write access.  
#490
Re:請問標準ANSI C函式的GPL??? 2010/04/30 14:53  (9 Years, 6 Months ago) Karma: 2  
glibc (GNU C Library) 是 GNU 計畫釋出的 C 標準函式庫,是以 LGPL 授權。

C standard library 則是存在已久,裡面的函式有些是早於 glibc 及 GPL 之類的條款就存在的。

以你舉例的 strcpy, strlen 等等,理論上在 C standard library 中的 code 跟在 glibc 中的 code 不會一樣,是因為 GNU 計畫是在重寫 code,重寫過的 code 的著作權才會歸於重寫人的,而重寫者再以 LGPL 授權。雖然可能長在 C standard library 中的 code 跟在 glibc 中的 code 的檔名都一樣(便利大家利用),但其授權狀況就會不同了。如果擔心使用 GNU 相關的 code 導致授權拘束性等,或許可以避免使用到它。

不過,我不熟 C standard library 的開發過程及歷史,我一時也無法找到誰是這些 code 的著作權人,以及該著作的授權狀態如何。可能之後再要研究看看到底是怎麼一回事Orz,不好意思沒有真確回覆到你問的重點。
legist (Admin)
Moderator
Posts: 48
graphgraph
User Offline Click here to see the profile of this user
Logged Logged  
 
The administrator has disabled public write access.  
#495
Re:請問標準ANSI C函式的GPL??? 2010/05/10 14:13  (9 Years, 6 Months ago) Karma: 10  
Hi boco,

我個人對於C standard library的權利歸屬還不是非常清楚,或許您可以提供進一步的參考資料。

但若假設C standard library是屬於公共財(Public domain)領域的話,那表示任何人都可以取用它來進行程式寫作而不受到拘束,因為公共財代表該程式碼或是函數已然不具權利適格,任何方面的應用都是合法的。

那若真的C standard library已歸屬於公共領域,那您的問題可以參照Free Software Foundation的GPL FAQ得到清楚的解答:

If a program combines public-domain code with GPL-covered code, can I take the public-domain part and use it as public domain code?:https://www.gnu.org/licenses/gpl-faq.html#CombinePublicDomainWithGPL

You can do that, if you can figure out which part is the public domain part and separate it from the rest. If code was put in the public domain by its developer, it is in the public domain no matter where it has been.

我個人網誌上對這段文字的翻譯:https://lucien.cc/?p=666

可以、您可以這樣做,假如您能夠很清楚的辨別該專案中,哪些程式碼屬於公共領域,然後無誤的將其抽取出來利用。因為、如果程式碼已經被原權利人宣告屬於公共領域,那它就是公共領域,不會因為這些程式碼處於哪個軟體專案而產生變化。

也就是說、如果C standard library屬於公共財,那它並不會因為被寫入GNU計畫以LGPL授權的glibc (GNU C Library) 而變成以LGPL授權,依自由軟體基金會的態度,你可以把該函式抽出來使用,但前提當然是,只有取用這類已歸屬於公共財的函式,而非GNU C Library之後自行編寫的部份。

後續若仍有問題歡迎接續討論。

敬祝 順心健康

20100510 1415 Lucien C.H. Lin
lucien (Admin)
Moderator
Posts: 157
graph
User Offline Click here to see the profile of this user
Logged Logged  
 
The administrator has disabled public write access.  
#497
Re:請問標準ANSI C函式的GPL??? 2010/05/11 01:59  (9 Years, 6 Months ago) Karma: 0  
boco wrote:
請問標準C函式庫函式也在Linux GPL的保護下嗎???

從BASIC/PASCAL開始就有這些標準C函式在使用, 像是strcpy, strlen, 等等, 在Linux下使用這些函式也要受到GPL限制嗎?



C標準函式庫僅是一個「標準」,統一 C 語言呼叫的窗口(APIs),但是實作則是憑各家本事。技術上來說,標準函式庫提供一些 header files 給大家參考進而實作,而真正的技術細節則歸屬各位編譯器去實作。

因此,從這可以得知雖然大家都可以用同樣的方式呼叫「APIs」以達到相同的功能,但是底層實作的運作細節則是各自去實現,因此著作權也可能會有所不同。

結論,在 Linux 下使用這些函式不一定受 GPL 限制,要看你是用哪套 C標準函式庫,就算是 GCC/GLIBC,也是很有可能不用受到 GPL/LGPL 限制。
ant (User)
Junior Boarder
Posts: 8
graphgraph
User Offline Click here to see the profile of this user
Logged Logged  
 
The administrator has disabled public write access.  
#498
Re:請問標準ANSI C函式的GPL??? 2010/05/11 09:37  (9 Years, 6 Months ago) Karma: 0  
我倒沒什麼其它資料, 只是覺得standard C API, 像strlen, strcpy等等, 這些函式在我學BASIC語言時就存在的東西, API名字十幾年來都不變, 應該不能因為Linux有改寫就宣告為LGPL, 除非Linux使用的API名字不同.

所以才想來這問問其它人的看法!
!boco (User)
Fresh Boarder
Posts: 4
graphgraph
User Offline Click here to see the profile of this user
Logged Logged  
 
The administrator has disabled public write access.  
#627
Re:請問標準ANSI C函式的GPL??? 2010/11/15 23:11  (9 Years ago) Karma: 0  
GNU GCC 例外授權

僅僅用到 GNU libstdc++ 的 header(檔頭) 等 (更明確說是採用了
templates 、 macros 或 inline functions 等方式),都可以另行授權,不受 GPL 感染,不管是否用 static link(靜態連結) 或 dynamic link(動態連結)。
yycking (User)
Junior Boarder
Posts: 9
graphgraph
User Offline Click here to see the profile of this user
Logged Logged  
 
The administrator has disabled public write access.  
Go to top