Hi paulchu,
「大作」兩個字愧不敢當,希望對大家了解這些議題有所幫助就是了。
你所引述的wiki條目說的很到位:「
But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program.」確實很多自由開源專案的開發者,是用這樣的態度來解釋「原生程式」與「衍生程式」的關係。
而如果你詢問的對象,直接指的就是一般所謂Linux Kernel下「
dynamically loaded kernel modules」的話,那麼依照Richard Stallman與Linus Torvalds的看法,原則上都必須受到GPL-2.0授權條款的拘束,而必須在釋出時提供此一模組的相關程式源碼。
直接可參考的文件便是我在「GPL 條款對於衍生程式的判定標準與其授權拘束性的擴散範圍(下)」一文末,所提供的第一篇參考文件:
https://linuxmafia.com/faq/Kernel/proprietary-kernel-modules.html
在這個討論串的內容裡,Linus Torvalds就他個人的立場,表達了相關的重要態度,而這些態度也被其他不少的Linux Kernel開發者所依循著。
以下綱要式的分析這個討論串的相關內容(Linus Torvalds對於Linux Kernel Module在授權拘束性方面的觀點):
1、只要這個Module是針對Linux Kernel在做設計,並且在設計架構與互動關係上有緊密關聯的話,那這個Module就是Linux Kernel的衍生著作,而在後續散布上、就必須依照GPL-2.0的授權規定一併提供該Module的程式源碼。這樣的解讀觀點來自Linus Torvalds對美國著作權法對衍生著作(derivative work)相關定義,Torvalds並特別表示、這樣的認知並非GPL條款的額外規定,而是他認為衍生著作本來就是這樣定義的。
####
* anything that was written with Linux in mind (whether it then also works on other operating systems or not) is clearly partially a derived work.
* anything that has knowledge of and plays with fundamental internal Linux behaviour is clearly a derived work. If you need to muck around with core code, you're derived, no question about it.
####
2、有幾個例外狀況,Torvalds認為是可以個案式的認定該Module不是Linux Kernel的衍生著作,例如:A、該Module先於Linux Kernel之前就存在(
the Andrew Filesystem, AFS),或是B、本來是針對其他作業環境來寫就(
NVIDIA driver),之後為了應用上的方便,才porting到Linux Kernel上成為Kernel Module。
####
A、It would be rather preposterous to call the Andrew FileSystem a "derived work" of Linux, for example, so I think it's perfectly OK to have a AFS module, for example.
B、In contrast, these days it would be hard to argue that a new driver or filesystem was developed without any thought of Linux. I think the NVidia people can probably reasonably honestly say that the code they ported had no Linux origin. But quite frankly, I'd be less inclined to believe that for some other projects out there.
####
3、但是要主張例外性的除外,Linus Torvalds認為這部份的主張就要釋出non-GPL kernel module的廠商來說理與闡明了。
####
There is nothing in the kernel license that allows modules to be non-GPLd.
The only thing that allows for non-GPL modules is copyright law, and in particular the "derived work" issue. A vendor who distributes non-GPL modules is not protected by the module interface per se, and
should feel very confident that they can show in a court of law that the code is not derived.
####
希望上述的資訊有助於你釐清這個議題!
20120113 1435 LUCIEN C.H. LIN