Login  |  繁體中文
感謝您對「自由軟體鑄造場」的支持與愛護,十多年來「自由軟體鑄造場」受中央研究院支持,並在資訊科學研究所以及資訊科技創新研究中心執行,現已完成階段性的任務。 原網站預計持續維運至 2021年底,網站內容基本上不會再更動。本網站由 Denny Huang 備份封存。
也紀念我們永遠的朋友 李士傑先生(Shih-Chieh Ilya Li)。
討論區
Re:module source code (1 viewing) (1) Guest
Go to bottom Favoured: 1
TOPIC: Re:module source code
#767
Re:module source code 2012/06/05 14:19  (7 Years, 5 Months ago) Karma: 10  
Hi Kurapika,

直接以assembly code為Source Code釋放出去,還是會有引發GPL爭議的風險。

為什麼呢?因為許多社群開發者認為這僅是「技術上的程式源碼(technical)」,而「非GPL定義的程式源碼」:https://developers.slashdot.org/story/11/07/29/1445252/emacs-has-been-violating-the-gpl-since-2009

舉例上、可以從之前討論很熱烈的GNU Emacs來看,David Kastrup這位開發者,在2011年7月27號、透過郵件論壇的方式指出,GNU Emacs從23.1.90版之後,部份的程式源碼是直接透過GNU Bison建立,所以提供的格式並非程式開發者最初編輯的程式源碼。這個問題被舉報出來以後,Richard Stallman隨即回覆,認為此種源碼格式的給法是違反GPL授權條款的,然後用最快的速度敦促開發團隊將最初編輯的程式源碼加進到GNU Emacs更新的版本裡。

這個事件的進一步資訊,可參照曾義峰先生所撰寫的專文,「談 GPL 軟體原始碼定義及瑕疵修復方式-從 GNU Emacs 違反 GPL 授權條款一事說起」:https://www.openfoundry.org/tw/enterprise-application/8629--gpl-gnu-emacs-gpl-

所以、我們從GNU Emacs的案例來看,可以知道對於許多GPL專案程式的開發者來說,他們認知到的程式源碼,是指「GPL定義的程式源碼」,那麼「GPL定義的程式源碼」究竟為何?

GPL-2.0: The source code for a work means the preferred form of the work for making modifications to it.

GPL-3.0: The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.

透過上面這二段授權條款的文字,我們可以發現重點在於「the preferred form」,那麼、何謂preferred form?preferred form不是一個精確的技術名詞,反而是具有解釋意涵的「不確定法律概念」。這是一個條款/契約訂立方面常見的技巧,也就是說、透過一些具有解釋內涵的語彙,讓Source Code定義範圍的解釋更具彈性空間,而不是特指某一個技術格式。

自由軟體基金會,向來將「the preferred form」解釋為「原作者或是原修改者,日後自己要再修改這隻程式或是該元件時,所使用的文件格式。」也就是說、如果將這個標準套用到您的問題,那麼多數自由軟體基金會成員的看法會是:「如果該assembly code的作者自己在做該程式的修改時,也會直接目視該machine-readable的Source Code來進行修改,那麼他們就沒有反對意見;反之、如果該assembly code的作者自己後續要進行程式修改時,會透過其他工具組來編修這支程式,那麼釋出時就應該要一併釋出這些工具組相關的資訊,以及必要的編譯腳本。(complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable.)」

所以才會說,直接以assembly code為Source Code釋放出去,還是會有引發GPL爭議的風險。因為有許多的自由開源軟體開發者,認為這樣的格式並非「the preferred form」。那麼、要說這樣的爭議是違反到GPL裡哪一條規定,我認為就是「Source Code定義的相關條款」,例如GPL-2.0第3條第2項,以及GPL-3.0第1條第1項

希望上述的資訊對您有所幫助,有後續問題歡迎接續討論。



20120605 1415 LUCIEN C.H. LIN

----

謝謝lucien的解釋,
我還有個問題,
如果某人是以C開發軟體,但只想釋出assembly code,
這assembly code其實也是machine-readable source code,
可以這樣來規避GPL嗎,
如果這樣不可行的話,可以麻煩你幫我指出是違反GPL裡的哪一條規定呢?
謝謝
lucien (Admin)
Moderator
Posts: 157
graph
User Offline Click here to see the profile of this user
Logged Logged  
 
Last Edit: 2012/06/05 14:21 By lucien.
 
The administrator has disabled public write access.  
      Topics Author Date
 
module source code Favorite
Kurapika 2012/05/30 14:27
 
thread linkthread link Re:module source code
lucien 2012/05/31 10:47
 
thread linkthread link Re:module source code
lucien 2012/05/31 10:51
 
thread linkthread linkthread link Re:module source code
Kurapika 2012/06/04 14:41
 
thread linkthread linkthread linkthread link Re:module source code
lucien 2012/06/05 14:19
 
thread linkthread link Re:module source code
Kurapika 2012/06/06 17:19
Go to top