今天的 Tetralet 又在唧唧喳喳了



« 九月 2010 »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      






 

對於 GPL vs. BSDL 的一些個人觀點

Tetralet | 16 九月, 2007 23:20

『GPL vs. BSDL』是最近一個沸沸揚揚的話題。有個 BSDer 開發了一個 BSDL/GPL 雙授權的驅動程式,但卻被另一個 Linuxer 稍加修正後,改為僅以 GPL 發行並希望能進入 Linux Kernel 裡。BSDer 認為,這是一種極不禮貌的做法,但 Linuxer 卻認為BSDL/GPL 雙授權本來就允許這麼做。於是一場大論戰就此展開了。

BSDL 簡介

BSDL 是在 BSD 家族裡最常見的授權方式。採用 BSDL 授權的軟體除了必須明確宣告它是採用 BSDL 授權之外,沒有其它特別的限制。BSD 的人們認為,軟體就是該給別人自由使用,不應該限制軟體的使用權限。

GPL 簡介

而在 GNU/Linux 上常見的 GPL 對於原始碼則採用另一種完全不同的觀點。基於平等互惠的原則,以 GPL 授權的軟體,其衍生軟體也將必須以 GPL 授權,必須將原始碼開放出來。對於程式開發者而言,採用 GPL 將可確保該軟體永遠為 Free Software。

GPL vs. BSDL

GPL 限制衍生軟體也必須將原始碼開放出來,但 BSDL 則無此限制,所以很多商業軟體都喜歡採用 BSDL 授權的軟體。像是 Microsoft Windows 2000(及其後衍生的 Microsoft Windows XP、2003 及 Vista)的網路元件據說就採用了 BSD 的原始碼;而 Apple 現今最熱的 Mac OS X 也採用了不少 BSD 的元件。

對於 BSD 的人們而言,這對他們而言才是真自由:他們認為不應去限制軟體的使用範圍。的確,藉助於 BSD 的程式碼,Microsoft 的 Windows 2000 系列及 Apple 的 Mac OS X 都取得了極大的成功。BSD 的程式碼對於資訊界的確產生了極深遠的影響。

但有不少 Linuxer 卻無法認同這種看法。Microsoft 和 Apple 拿了 BSD 的程式碼,但 BSD 的人們卻完全享用不到任何的好處。Microsoft Windows 2000 系列和 Mac OS X 靠著 BSD 的程式碼成功了,反倒是 BSD 家族卻因此反而更加岌岌可危。且那些不被公開的程式碼基本上對 Free Software 而言是沒有任何益處的:它會成為商業公司的利器,反而使得人們成為這些商業軟體的釜中魚、俎上 肉。以結果看來,這種倒持泰阿的作法是真自由嗎?很多 Linuxer 不禁這樣懷疑。

BSDL 和 GPL 的相容性

雖然 BSDL 和 GPL 軟體都是 Free Software,但因為 BSDL 和 GPL 這兩種授權其背後的思維實在是南轅北轍,也因此大多的 BSDer 寧願採用 BSDL;不少的 Linuxer 也是寧願使用 GPL,這兩者似乎是兩條平行線,沒有交會的地方。

而在實務上,雖然 BSDL 的條款遠較 GPL 寬鬆,但因為最早的 BSDL 有個『銘謝條款』,所以人們認為 BSDL 和 GPL 是不相容的。但在 1999 年左右,在 Richard M. Stallman 的請求下,BSD 的人們展現了不凡的胸襟氣度,在 (新的) BSDL 裡將那個條款刪掉了,也就是說,人們終於可以在 GPL 軟體裡採用任何的 (新的) BSDL 原始碼而不用擔心授權上的問題。不過 BSDL 還是不可以採用 GPL 的程式碼,因為 GPL 授權比 BSDL 嚴苛多了。

真的可以將 BSDL 軟體轉成 GPL 嗎?

請參考:維基百科:GNU General Public License 的說法,我們可以將 BSDL 軟體重新以 GPL 發行:
Many of the most common free software licenses, such as the original MIT/X license, the BSD license (in its current 3-clause form), and the LGPL, are "GPL-compatible". That is, their code can be combined with a program under the GPL without conflict (the new combination would have the GPL applied to the whole).
大部份的自由軟體授權,像是原始的 MIT/X 授權、BSD 授權(現行的三條款版)以及 LGPL,都是「GPL 相容的」,也就是說,應用程式可以在 GPL 之下混用這些原始碼而不會產生 (授權上) 的衝突(但混用之後的原始碼將必須全數以 GPL 發行)。

但 很多的 BSDer 對這種說法不以為然:軟體該如何授權應由原作者決定。其衍生軟體在沒有得到原作者同意之前,怎可隨意變更其授權?也就是說,原始軟體若是以 BSD 授權,那麼開發以 GPL 授權的 Patch 是沒問題的,但將其混用之後重新以 GPL 發行則是不可以的,因為沒有得到原作者同意

BSDL/GPL 雙授權

但讓我們看看引發爭論的「BSDL/GPL 雙授權」這種授權方式。如果說,BSDL/GPL 雙授權的衍生軟體在沒有得到原作者同意之情況下,必須保持其為 BSDL/GPL 雙授權。也就是說,考慮到 GPL 的授權方式,該軟體將永遠不能收納 GPL 的 Patch,因為如此一來該軟體必須改採全為 GPL 授權,而不能再維持其 BSDL/GPL 雙授權了。那麼,這和當初就直接使用 BSDL 有什麼分別呢?

我們因此可以推論:當作者採用「BSDL/GPL 雙授權」時,就是賦與使用者改由 GPL 重新發佈該軟體的權利。否則,直接以 BSDL 發佈軟體即可,何必多此一舉弄個「BSDL/GPL 雙授權」?

維基百科:Dual-licensing 也是持相同的看法:

When software is dual-licensed, recipients can choose which terms they want to use or distribute the software under.
當軟體採用雙授權時,使用者可以在其中選擇他們要採用的授權,或是要以何種授權重新發佈。

那麼,以 BSDL 授權的軟體可否改由 GPL 重新發佈呢?作者在採用 BSDL 的同時,是不是意味著允許使用者將軟體改由 GPL 重新發佈?這恐怕又是另一場論戰了。

Debian 的作法

有趣的是,Debian 包裝套件的方式剛好避過了這個麻煩的問題。以基本上是採用 BSDL 授權的 OpenSSH 為例,在 Debian 裡的 OpenSSH Patch 是以 GPL 授權的。由於 Debian 在包裝套件時,原始程式碼和 Debian 所採用的 Patch 檔案是涇渭分明的,所以兩者採用不同的授權在 Debian 裡並不會混雜在一起,也不會因此而產生什麼問題。

但對於採用 BSDL 的程式開發者而言,這種作法將會造成困擾:BSDL 的軟體是不能收 GPL 的 Patches 的,所以 GPL 的 Patch 對於 BSDL 的軟體而言根本沒有任何助益。很多的 BSDer 不歡迎 GPL 的 Patch 是可想而知的。他們覺得 Linuxer 不尊重原始開發者,替 BSDL 軟體開發 GPL Patch 是一種不禮貌的行為。但很多 Linuxer 根本無意開發 BSDL 軟體,他們認為 BSDL 這種損己利人的作法是不可取的。如此一來,爭論不斷是無法避免的事了。

個人一直在想,同樣是 UNIX-like 的系統,在 GNU/Linux 出現之前,BSD 家族就一直是極成功的專案了。很多報告也指出,不管是安全性、穩定性、效能等各方面,BSD 家族 (似乎) 一直略勝 GNU/Linux 一籌。但為什麼取得成功的是 GNU/Linux,而不是 BSD 家族呢?個人認為,其決定性的差別也許就在 BSDL 和 GPL 吧?也許 BSDL 的確賦與了在使用時的絕對自由,但 GPL 才是符合人性本惡的最佳解決方案吧?

迴響

Re: 對於 GPL vs. BSDL 的一些個人觀點

沒有取得原作者同意的說法聽起來有一點怪,因為授權本身就是「我同意你在本授權允許的範疇內自由使用這套軟體」。如果更改衍生作品授權跟 BSDL 的條件不衝突的話,那在法律上就站得住腳。商業軟體同樣是將 BSDL 軟體的衍生作更改授權,微軟也不曾詢問原作者群。

或許該說是一場道德的論戰吧,重點其實應該是 BSDer 感覺到不被 Linuxer 尊重。更改授權的確是會讓 BSDer 不舒服的作法,這樣他們就不能用了,抱怨也是理所當然的。作為 Linuxer,我們大概都會比較喜歡 GPL,甚至有點敵視商業軟體。但是我覺得 BSDL/GPL 雙授權也足以保障軟體的自由,何必一定要激起 BSD 使用者群的不滿呢?

(話說我被驗證碼的後兩碼假碼騙好多次XD 想說怎麼打不進去...)

[回應] Samael Wang @ 17/09/2007, 10:27

Re: 對於 GPL vs. BSDL 的一些個人觀點

> 安全性、穩定性、效能等各方面,BSD 家族 (似乎) 一直略勝 GNU/Linux 一籌

在早期是有這樣的「說法」啦,不過目前應該已經沒有這種情形了。

話說 Linux kernel 只有一家,BSD 家族可是多如牛毛啊…

說 OpenBSD kernel 比 Linux kernel 安全,
這應該沒問題。
其它的 BSD 呢?算了吧…

穩定性、效能,現在已經沒有哪套 kernel 有膽直接跟 Linux kenrel 嗆聲了。

話說 Linux 也早已超越 NetBSD,成為支援硬體最多的 OS kernel 了。
(回想起 Linus 當年發佈 Linux 時說,Linux 是 i386 only,就覺得很有趣。)

[回應] guest @ 17/09/2007, 17:26

好奇怪

假如 BSDer 排斥 GPL 是因為 Linuxer 片面改變 BSDer 的成果為 GPL,不過,商業公司同樣將 BSDer 的成果加以佔據,為何 BSDer 就不排斥商業公司?奇怪!真的奇怪!

[回應] guest @ 17/09/2007, 20:27

補充

也許 BSDer 並不是真正的損己利人,如果是的話,就應該要允許經 BSDL 授權的程式碼,可經由修改而改為 GPL,否則 BSDer 就會自己違背自己!

[回應] guest @ 17/09/2007, 20:32

BSDL 軟體真的可以用 GPL 再發行嗎?

> 如果更改衍生作品授權跟 BSDL 的條件不衝突的話,
> 那在法律上就站得住腳。

BSDL 只要求在發佈時要註明這個軟體是 BSDL。但改採 GPL 後,相信這個註明也會被撤掉。那麼,BSDL 軟體真的可以用 GPL 再發行嗎?個人實在被搞迷糊了呀!

[回應] Tetralet @ 17/09/2007, 21:06

FreeBSD 那麼低調其實內有隱情啦! XD

> 穩定性、效能,現在已經沒有哪套 kernel 有膽直接跟 Linux kenrel 嗆聲了。

FreeBSD 的人以前很喜歡吐 Linux 的槽,說 Linux 簡直上不了檯面。但後來因為 MySQL 在 FreeBSD 上的效能差了 Linux 一大截,這類的聲音就少了很多。

因為最近要現身的 FreeBSD 7 有了 ULE 3.0 的加持,FreeBSD 終於可以在 MySQL 的效能上和 Linux 一較長短。於是這類聲音又多了起來了... XD

[回應] Tetralet @ 17/09/2007, 21:13

其實我也不太懂 BSDL 的精神...

> 商業公司同樣將 BSDer 的成果加以佔據,
> 為何 BSDer 就不排斥商業公司?

您的問題一時之間還真難以回答。也許只能請 BSDer 出來替您解答了。

我的另一個問題是:為什麼不乾脆用 Public Domain 授權就好了?若真要說,Public Domain 比起 BSDL 不是更自由嗎?

[回應] Tetralet @ 17/09/2007, 21:25

矛盾

只能說 BSD 授權存在著邏輯上的矛盾。BSDL 標榜自身是 BSDL,可以不受任何限制而被使用。但 BSDL 又要求在發佈時要說明這個軟體是 BSDL,而這一要求與「可以不受任何限制而被使用」矛盾。站在「要求在發佈時要說明這個軟體是 BSDL」的立場,「可以不受任何限制而被使用」就不存在;站在「可以不受任何限制而被使用」的立場,則「要求在發佈時要說明這個軟體是 BSDL」必須被剔除。真是個自相矛盾的授權……

[回應] iguest @ 17/09/2007, 21:25

Re: 矛盾

個人同意您的看法。

BSDer 常常自詡為『真正的自由』。但也許是個人過於駑鈍,一直是搞不太懂 BSDL 到底是自由在哪裡?能否有 BSDer 來替我們解惑呢?

[回應] Tetralet @ 18/09/2007, 00:01

Re: 對於 GPL vs. BSDL 的一些個人觀點

同樣都是提供人們更多方便好用的軟體,但各自為了保障其後的衍生而有不相同的作法﹍最終衝突卻來自於人們自身的矛盾,這挺有趣。

而衝突的本身,卻也撇不開對於自己相信的真理的追尋與人類愚蠢的卓越感,其實這樣的事件不也一天到晚在我們自己身上上演著﹍呵。

但我想,這也未必不是件好事﹍也或許若干年後,將會有個更有趣的授權方式把大家合而為一也不一定。

[回應] neio @ 18/09/2007, 14:40

淺見

這件事我剛好有閱讀 BSD 那邊的原文. 一些淺見供各位參考.

BSD 的人主張的只是 source code 的 license. 不爽的也只是 source code 的 license 被改了, 而跟由 source code 產生的 binary 的 license 無關. 在他們的經驗當中, 的確有不少公司會回饋 patch 給 BSD 社群. 這也正是他們沒對 MS 或 Apple 這類公司的行為沒有意見的原因之一.

但若由 Linux 陣營自行把 source code 轉為 GPL 之後雖然大家都能自行取得 patch. 卻由於 license 不相容, BSD 陣營就只能眼睜睜的看著 patch 不能拿回來用.

[回應] fr3@K @ 19/09/2007, 02:05

Re: 淺見

我覺得 fr3@K 說的最後一段滿中肯的,問題就是出在 BSDl vs GPL 在本質上是肉包子打狗,有去無回。但 FS/OSS 的 license 和封閉性軟體不一樣的是,他是針對 source/binary 的整體而言。

我不知道要算是 Linuxer 還是 BSDer?因為我兩方面都不排斥,也都有在用,甚至兩方面的一些專案也都有參與。:-D

不過,應該不是 Linuxer/BSDer 這樣的區分,而是 GPLer/BSDLer 的區分?是視開發者選擇哪一種 license。不是說使用 GNU/Linux 的人寫的碼就不用 BSDL,也不是說使用 *BSD 的人寫的碼就不用 GPL,實際上我碰到不是如此的情形真的不少。

BSDL 針對的是利用者的利用自由(被 closed 也沒關係),而 GPL 針對的是軟體本身的自由(不被 closed),所以,得視作者認為他的作品該用哪一種方式來釋出。

可能,有些針對 BSDL software 的 patches 採取 BSD/GPL dual license 的做法是比較能緩和這種對立的氣氛?

[回應] LGJ @ 19/09/2007, 11:49

Re: 淺見

問題癥結可能就在於,一旦加入了 GPL,就無法或難以退出。GPL 要求的是 binary 的 source code 的可得性,而 BSDL(BSDer)不要求 source code 的可得性,而要求 source code 的回流可能。而一旦成為 GPL 的 source code,就很難再更改其授權。

面對 GPL,要嘛以私有形式封閉,要嘛就加入 GPL,而且要先做好無法退出的心理準備。而 BSDL 同樣是有限的,必須先接受維持授權的一貫性,才可得到 source code 的使用自由。

按照 BSDL 的宗旨,原本它應該是要歡迎 GPLer 的使用,由於 BSD 和 GPL 本質上的不相容,使得 BSDL 不再是完全的自由。

BSDL/GPL 基本上是個蠻奇怪的存在,而且 GPL 也不能附帶其它的限制,這個雙授權是無效的吧?

還有,BSDL 本身並不要求原始碼要有回流的可能吧?它幾乎只要求其衍伸標明它源自於 BSD,除此之外並無其它要求。暫且撇開有效無效問題,BSDL/GPL 其實可以看作是這份原始碼受到 GPL 限制,而且它源自於 BSD,並且善盡了標明的責任。

這樣一來,GPLer 就可以繼續使用 BSD 原始碼,BSD 也不會違背其宗旨,皆大歡善(?)。

所以結論是 BSDer 應該批評「GPL 禁止加入者中途退出」,並且「不再使用沒有安全感的 BSDL」才是。

不過這兩種機制,基本上都是希望開發者不要藏東藏西,太陽底下無新鮮事,放開心胸公開自己的原始碼(雖然現實中很難做到)。

[回應] iguest @ 19/09/2007, 12:12

Re: 淺見

> BSDL/GPL 基本上是個蠻奇怪的存在,
> 而且 GPL 也不能附帶其它的限制,這個
> 雙授權是無效的吧?
dual license 的前提是使用『或』,就是使用者擇一 license 使用。目前的例子,例如 FreeTyoe2 就是著名的 GPL/FTL dual license。

[回應] LGJ @ 19/09/2007, 12:52

Re: 淺見

上一個 post 打錯了,是 FreeType2。

patch 本身是獨立的個體,是可以單獨授權的。下了 patch 才會有 GPL 感染的問題存在。

[回應] LGJ @ 19/09/2007, 13:07

Re: fr3@K

> 在他們的經驗當中, 的確有不少公司會回饋 patch 給 BSD 社群. 這也正是他們沒對 MS 或 Apple 這類公司的行為沒有意見的原因之一.

長久以來,個人一直有個感覺:BSDer 似乎討厭 GPL 更甚於那些商業公司?

[回應] Tetralet @ 19/09/2007, 21:01

Re: iguest

> 還有,BSDL 本身並不要求原始碼要有回流的可能吧?它幾乎只要求其衍伸標明它源自於 BSD,除此之外並無其它要求。

其實這次的爭論就是起於 BSDer 認為 GPL 了他們的程式碼,雖然當初那些程式碼就是以 BSDL/GPL 雙授權的。

在實務上,如果程式碼原本是以 BSDL 授權的話,將它轉換成 GPL 本來就是極不禮貌的作法。(姑且不論這麼做是否會產生法律上的問題),畢竟這程式碼是原作者的辛苦成果,後來者不應隨便就抹殺原作者的意志。

但如果是用 BSDL/GPL 雙授權的話,那麼我們似乎沒有立場去苛責後來的人們將它轉由 GPL 發行,因為那是原作者本來就允諾可以這麼做的。

[回應] Tetralet @ 19/09/2007, 21:16

Re: 對於 GPL vs. BSDL 的一些個人觀點

GPL 雙授權很常見啊,QT 就是。

[回應] guest @ 19/09/2007, 23:05

Re:Tetralet

> 長久以來,個人一直有個感覺:BSDer 似乎討厭 GPL 更甚於那些商業公司?

是的,像 FreeBSD 就有一篇文件在說明為何要使用 BSDL 而不用 GPL:
http://www.freebsd.org/doc/en_US.ISO8859-1/articles/bsdl-gpl/

不過,這僅僅是理念之爭,較偏激的,例如 OpenBSD 創始人,言論就比較極端了。我個人猜想,這是一整個「食物鏈」不同,卻又會有爭食的情況所致。

較早期的程式,是有一些「翻」自 BSDL,而改採 GPL,尤其是一些傳統的 Un*x 工具。但近期以來,這種現象就比較少了,頂多是納入部份的 BSDL 碼,保留原 copyright 宣告,把整個程式使用 GPL 發佈。

dual license,本來就是使用者擇一而用。有些爭論,我想應該是不平之論(有去無回),而並不是指涉違反 BSDL 條款。

這些好像都是有些歷史包袱吧!漸漸的,可能在某些機緣場合,食物鏈連上了,爭議就會漸漸的少?

[回應] LGJ @ 20/09/2007, 00:45

補充

> 像 FreeBSD 就有一篇文件在說明為何要使用 BSDL 而不用 GPL

其實現在 BSDL 也有二條、三條、四條之爭。大致上而言,OpenBSD 傾向二條 BSDL,FreeBSD 以三條 BSDL 為主,NetBSD 甚至還用四條 BSDL。

使用二條 BSDL 的,也是在譏諷三條 BSDL 已經 dead,更不用說是四條 BSDL 了。:-)

我是覺得,把他當成是理念之爭,不必過於在意,畢竟作者要怎麼授權是作者的自由,他人無權干涉,只能尊重他的決定。

[回應] LGJ @ 20/09/2007, 01:03

Re: LGJ

> 像 FreeBSD 就有一篇文件在說明為何要使用 BSDL 而不用 GPL

比起被敵人背叛,被同袍背叛更令人痛心? XD

[回應] Tetralet @ 20/09/2007, 10:00

Re: 關於雙授權

市面上雙授權的軟體不少。像是 MySQL 就是另一個著名的例子。

在討論授權時,請注意到軟體本身仍是受到著作權保護的。比如說,我們不能修改 GPL 條款,雖然它會隨著 GPL 軟體一起發佈。

也就是說,大部份的軟體授權指的是『程式碼』的授權,我們不可以修改『授權宣告』那一部份。也因此,個人對於『可否將 BSDL 軟體轉成 GPL 授權』一事其實是持保留看法的。(或許在授權裡加註『本軟體原為 BSDL 授權』可避過這個問題?)

所以說,GPL/BSDL 雙授權軟體可以改為僅以 GPL 發行嗎?雖然在上文中的討論結果傾向是「可以」,不過這就是 BSDer 在爭論的重點了。

[回應] Tetralet @ 20/09/2007, 10:01

Re: 淺見

有興趣可參考我昨晚 (其實是今天凌晨) 寫的幾點 補充看法

[回應] fr3@K @ 20/09/2007, 11:00

Re: 關於雙授權

> 所以說,GPL/BSDL 雙授權軟體可以改為僅以 GPL 發行嗎?雖然在上文中的討論結果傾向是「可以」,不過這就是 BSDer 在爭論的重點了。

我個人認為可以,問題是發佈技術上的問題。因為,所謂的『僅以 GPL 發行』,指的是衍生物的情形,並不是去更改原授權。

這個前提是要符合原授權的保留 copyright 宣告的條件,只要符合了,就不是更改授權,因為這是原授權所允許的事。原 source 及原授權仍然完整的存在著,不會侵害有此需要的人的權益。但衍生物則不同,他是另外一個創作,要利用這個創作,就得遵守創作者的意願,這個意願是在原軟體授權下合法做出來的。

當然,這種事情得有明確的訟爭,有了判決先例,甚至是判例才會明朗化。

和這個主題有一點點關係的是:海盜黨。為什麼會提這個呢?我們號稱 FS/OSS 理念的社群,卻去斤斤堅持智財權的邊邊框框,我個人是覺得有點怪怪的。

[回應] LGJ @ 20/09/2007, 11:59

Re: 淺見

>patch 本身是獨立的個體,是可以單獨授權的。下了 patch 才會有 GPL 感染的問題存在。

為什麼 patch 是獨立的個體可以單獨授權?
微軟有開放他們的原始碼 一些公家單位可以閱覽 但是只能看 不能更改 只要一改 就違反約定。 如果我做出一個給微軟原始碼的 patch 可以用 GPL 嗎? 看起來是不行 因為違法在先。

實務上 使用 diff/patch 這類工具所產生的 patch 常常會包含大量的原始程式 導至該 patch 跟本無法被視為獨立的個體。 那種 patch 檔反而本身就是一種衍生著作了。

[回應] Tia @ 20/09/2007, 15:58

Re: 淺見

>為為什麼 patch 是獨立的個體可以單獨授權?
微軟有開放他們的原始碼 一些公家單位可以閱覽 但是只能看 不能更改 只要一改 就違反約定。 如果我做出一個給微軟原始碼的 patch 可以用 GPL 嗎? 看起來是不行 因為違法在先。什麼 patch 是獨立的個體可以單獨授權?

這是兩個不同層次的事情,patch 在還沒有真正去 patch 時,他當然是獨立的個體。對 MS 的 patch,MS 的封閉性軟體,縱使有 source code 給你看,但他並沒有授權你可以修改、散佈呀!我所謂的 patch 是經由上下文脈絡所述的,針對特定 license 下的 FS/OSS source code 所做的 patch。

>實務上 使用 diff/patch 這類工具所產生的 patch 常常會包含大量的原始程式 導至該 patch 跟本無法被視為獨立的個體。 那種 patch 檔反而本身就是一種衍生著作了。

雖然他會包括原程式碼,但這些算是屬於授權允許的,他本身不足以執行,因此我個人認為他還不到衍生物的程度。他只一種合理引用相關程式碼,告訴大家,這樣改變的話可能會產生什麼變化的獨立創作。

就像我寫一本關於 linux kernel 的書,裡頭合理引用了許多程式碼,並告訴大家如何處理會改進目前的 kernel 效果,但這樣書的著作權仍然是獨立的,你依照書的內容去實際處理 kernel source 的時候,才會和 kernel source 的授權產生影響。

[回應] LGJ @ 20/09/2007, 16:21

Re: fr3@K

> 有興趣可參考我昨晚 (其實是今天凌晨) 寫的幾點 補充看法

因為敝人是想儘量以淺顯的文字來表達個人對於這個事件的看法,所以在提供資訊時難免有遺漏的地方。

感謝您提供的資訊。

[回應] Tetralet @ 20/09/2007, 22:19

或許 BSDL 需要更強硬一點...

>也就是說,大部份的軟體授權指的是『程式碼』的授權,我們不可以修改『授權宣告』那一部份。也因此,個人對於『可否將 BSDL 軟體轉成 GPL 授權』一事其實是持保留看法的。(或許在授權裡加註『本軟體原為 BSDL 授權』可避過這個問題?)

我也有類似的看法。可按慣例在原始碼開頭寫上 GPL 宣告,再把 BSDL 規定要寫的部分寫在後面等方法,必要的話,還可以再寫一次 GPL 宣告。不過 BSDLer 可能會認為這是貶低。這個問題的癥結,就如同許多人對 BSDL 的批評︰脆弱到不足以保護自己。

雖然道德部分固然不可忽略,但 BSDLer 也不可認為這個道德永遠會被遵守。個人認為還是要設法找出一個平衡點,並改進 BSDL,以真正解決問題。

>使用二條 BSDL 的,也是在譏諷三條 BSDL 已經 dead,更不用說是四條 BSDL 了。:-)

一直搞不懂第三條(三條款版)是作什麼用的XD

>fr3@K
>著作權對作者權利的保障是自動發生的, 而作者不需要特別強調他保有的權利. 只要是沒表明放棄某特定權利, 就表示他仍擁有該權利

那就和「本 code 為 copyright,原作者保留所有權力」沒多大分別了,僅僅是多要求加上 BSDL 內文,也就是虛偽至極的假自由=.=|||||

>Source code license 是一種法律文件, 除了原作者以外的任何人不能自行刪除/修改/添增然後發佈. 就如同不能單方面自行更改一份合約. 即便是 dual-license 也不能自行刪除其中一種 (這自然不能包含 Sam Leffler 的部份, 他明確表示過他同意這樣的改變)

這裡對 dual license 採取的解釋顯然是「AND」,而非前面有人提到的「OR」。不過在了解這個問題以前,要先釐清需要 AND 進來的內容,如前面提到隱不隱含 copyright 的部分。

>當然,這種事情得有明確的訟爭,有了判決先例,甚至是判例才會明朗化。

個人認為判例只不過是人為的選擇特定的道德觀點加以法律化...

不過個人認為 BSD 或許可以更強硬一點,在新版的 BSDL 裡和 GPL 劃清界線,如果真的不想被「偷」的話。

[回應] iguest @ 20/09/2007, 22:42

只因「文人相輕」麼?

Re: LGJ

> 我們號稱 FS/OSS 理念的社群,卻去斤斤堅持智財權的邊邊框框,我個人是覺得有點怪怪的。

最近 FreeBSD 似乎不滿 GCC 將採用 GPLv3 授權,計劃要在未來版本中使用「PCC」來取代 GCC,並希望至少在核心工具裡完全沒有任何的 GPL 軟體。

雖然欣賞 FreeBSD 那種『自反而縮,雖千萬人吾往矣』的精神。但這種『BSDL 狂熱』,和 Richard M. Stallman 的『GPL 偏執』比起來,似乎也同是一丘之貉嘛~

[回應] Tetralet @ 20/09/2007, 23:02

Re: 只因「文人相輕」麼?

>最近 FreeBSD 似乎不滿 GCC 將採用 GPLv3 授權,計劃要在未來版本中使用「PCC」來取代 GCC

呃,不是的,那是 OpenBSD。:p

>雖然欣賞 FreeBSD 那種『自反而縮,雖千萬人吾往矣』的精神。但這種『BSDL 狂熱』,和 Richard M. Stallman 的『GPL 偏執』比起來,似乎也同是一丘之貉嘛~

BSDL 有一種稱呼是 copycenter,也就是不左不右。老實說,我接觸的心得,FreeBSD 最近幾年算是屬較中庸的(指社群)。

堅持理念是沒有什麼不可以,只是不要過份去「框」住別人。LGPL3 趨向 BSDL 方向的今天,OpenBSD 的老大卻將 2-BSDL GPL 化(就是將後續的修改被 BSDL 綁住),我覺得這頗值得玩味。

[回應] LGJ @ 20/09/2007, 23:31

Re: iguest

> 那就和「本 code 為 copyright,原作者保留所有權力」沒多大分別了,僅僅是多要求加上 BSDL 內文,也就是虛偽至極的假自由=.=|||||

個人認為,『著作權』和『軟體授權』應該分開來看待。

『著作權』是作者完成一件作品後,法律便自動賦與的權益,我們不必特地去宣告什麼 CopyRight 就能享有。(這點和『專利』就完全不同)

『軟體授權』是指在作者賦與他人使用這份軟體的權力。在此,『軟體授權』應該可以視同法律上的『契約』。也就是說,只要使用者遵循授權合約上的規定,使用者就獲得使用這份軟體的權力。

[回應] Tetralet @ 20/09/2007, 23:32

Re: 或許 BSDL 需要更強硬一點...

>不過個人認為 BSD 或許可以更強硬一點,在新版的 BSDL 裡和 GPL 劃清界線,如果真的不想被「偷」的話。

我想那只是少數人的意見和見解。BSDL 也存在那麼多年了,他是不是有感染性,大家都有一定的認知,不會因為少數人的看法而改變。

[回應] LGJ @ 20/09/2007, 23:39

Re: iguest

> 不過個人認為 BSD 或許可以更強硬一點,在新版的 BSDL 裡和 GPL 劃清界線,如果真的不想被「偷」的話。

BSDer 的作法是『隔離 GPL』,BSDer 往往寧願重新以 BSDL 開發一個相同功能的軟體,也不願使用 GPL 軟體。

但是以目前情況而言,採用 GPL 的殺手級應用軟體實在太多了,BSDer 雖然拼命想維護一個純 BSDL 系統但是畢竟還是力有未逮,僅能勉強維持其基本系統為 BSDL。

[回應] Tetralet @ 20/09/2007, 23:41

Re: LGJ

> LGPL3 趨向 BSDL 方向的今天,OpenBSD 的老大卻將 2-BSDL GPL 化(就是將後續的修改被 BSDL 綁住),我覺得這頗值得玩味。

一般 BSDer 批評 GPLv3,大概不脫『專制』、『排它』、『壟斷』、『權謀』、『宗教狂熱』... 之類的評語。但個人卻認為,比起 GPL,BSDL 從某些角度看來也不遑多讓嘛~

[回應] Tetralet @ 21/09/2007, 00:15

Re: 對於 GPL vs. BSDL 的一些個人觀點

>> 像 FreeBSD 就有一篇文件在說明為何要使用 BSDL 而不用 GPL

>比起被敵人背叛,被同袍背叛更令人痛心? XD

我認為,最起碼,我舉出的那篇文件是用說理的方式來說明緣由,而不是一般的謾罵。

其實,誰是「敵人」?誰又是「同袍」呢?我們可以執著於某些理念,他人也能呀!XD

[回應] LGJ @ 21/09/2007, 06:47

Re: 對於 GPL vs. BSDL 的一些個人觀點

對BSDL而言
商業公司是看不到吃不到
GPL是看的到吃不到XD

這個擅改授權的動作會影響到作者原本想讓別人擁有的權力啊~~

不過我覺得他一開始就不該用雙授權

我想
GPL的目的是確保程式碼的開放
BSDL的目的是提高程式碼的使用率
看個人對程式碼價值的定義囉
有人是覺得程式碼要能被使用才有價值
但也有其他看法就是了

[回應] BUG @ 21/09/2007, 13:46

Re: 對於 GPL vs. BSDL 的一些個人觀點

>對BSDL而言
>商業公司是看不到吃不到
>GPL是看的到吃不到XD

完全同感XD

>不過我覺得他一開始就不該用雙授權

比較討厭的是很難清楚得知雙授權的意圖所在:(

>BSDL的目的是提高程式碼的使用率
>看個人對程式碼價值的定義囉
>有人是覺得程式碼要能被使用才有價值

個人覺得這說法有點問題,GPL的程式碼雖然受到GPL的重重保護,卻是完全可見的,當然也就可用,在確保商業機密的前題下運用的方式就是動態連結(如果GPL連這都要剝奪,就真的過火了)。

[回應] iguest @ 21/09/2007, 15:33

關於 Why you should use a BSD style license for your Open Source Project

Re: LGJ

> 我認為,最起碼,我舉出的那篇文件是用說理的方式來說明緣由,而不是一般的謾罵。

其中有一段寫道:『...you can do anything with the program or its source...』似乎有違 BSDL。BSDL 限制您必須宣告其為 BSDL 軟體。

[回應] Tetralet @ 21/09/2007, 20:40

就算 GPL/LGPL 授權又如何?

記得之前 KDE 的人抱怨過,Apple 的人拿 KHTML (LGPL 授權) 的引擎開發 Safari,但一直都沒有將 Patch 回流。等到時間一久,那些 Patch 想整合至原有的 KHTML 引擎中反而變成幾乎不可能的事。

個人並不認為 Apple 有意惡搞 KDE 的人,但由此例中我們可以發現到,就算有遵循 GPL/LGPL 的規則走,那些 Patch 還是可能成為廢物,更何況是 BSDL 的程式碼?BSDL 程式碼的『可回收使用率』個人認為並不會比 GPL 程式碼高。

若只因 GPL 禁止封閉程式碼所以 BSDL 才是真自由,那麼看看 Microsoft Windows 家族吧!BSDL 也是造就 Microsoft Windows 壟斷市場的幫手之一,不是嗎?

[回應] Tetralet @ 21/09/2007, 21:07

Re:關於 Why you should use a BSD style license for your Open Source Project

>> 我認為,最起碼,我舉出的那篇文件是用說理的方式來說明緣由,而不是一般的謾罵。

>其中有一段寫道:『...you can do anything with the program or its source...』似乎有違 BSDL。BSDL 限制您必須宣告其為 BSDL 軟體。

並沒有必要宣告為 BSDL 軟體,只需保留原宣告。簡單的說,你不能說那你寫的。嚴謹一點說,就是要保留授權所要你保留的文字(當然含 copyright 宣告)。

其實討論到這裡,我發覺有一點走到岔路去了。:-)

我簡單整理一下好了,請暫時不要受 Theo 的說法的影響,否則會愈弄愈糊塗:
1. Theo 發表了一篇文件,說 Linux 偷了他們的程式碼。
http://kerneltrap.org/mailarchive/openbsd-misc/2007/9/1/153822

2. 他的其中一個依據是:
http://lkml.org/lkml/2007/8/28/157

3. 於是新仇舊恨吵成一堆。

底下是我的看法:

Theo 本應依個案處理的,但卻放大為針對 Linux community。而且他的主要論點是,有人修改了程式碼內的 license 宣告,所以下了個「偷」的聳動標題。

但何謂「修改 license 宣告」呢?程式碼開頭的東西通通不能動?A 程式碼的 95% 和 B 程式碼的 5% 依授權混合(或整合)時,B 程式碼的那些檔頭內容也通通不能動?

我個人認為這是在鑽牛角尖。法律上所謂契約內容不能更改,指的是契約原意不能更改,契約是兩意思表示的合意而形成的,他不一定是要書面(不相信的話請大家去查一下各國的民商相關法律)。我們只要把原 copyright 宣告(這裡含授權書上規定要附上的文件),總的附上於軟體某處(例如 docs 目錄內、讓 binary 噴出來)就可以了,更好的做法就是順便說明一下來龍去脈。

所以,這並沒有去更改到原來的 dual license。dual license 為什麼是 `OR' 而不是 `AND' 呢?我相信大家多多少少都有在寫程式,請大家思考一下,`AND' 情況下,會成立嗎?所有 dual license 授權的軟體,他的衍生物就注定了通通都一定是 dual license 嗎?當然不是這樣。
[Note] Reyk 的程式碼並不是含 GPL 的 dual license。Sam Leffler 的是 dual license,但有明確說明沒有關係,所以,以這兩位的程式碼而言,並不是 dual license 本身的問題,請不要被 dual license 迷惑了。

但是,如果是一整個程式碼拿來用,又把其中的檔頭宣告增刪而沒有在其他地方說明,再加上自己的 license 宣告,這就明顯的不合法。所以,我覺得這只是發佈技術上的問題,Theo 不針對這種發佈技術上做文章,代表他的法律見解有問題,不然就是有在擴大事件博取新聞能見度之嫌。

至於 BSDL vs GPL 誰自由?要問的,不是 BSDL/GPL 的內容本身,而是得要先問問自己,想要的是哪一種自由?自由的對象是什麼?想給人什麼樣的自由?

[回應] LGJ @ 21/09/2007, 21:34

Re: LGJ

原諒我對 BSDL 如此的好奇。GPL 一向都是真小人:『若要用我的程式碼,拿程式碼來換』;而 BDSer 在道德上似乎就較為崇高了,但個人不解的是:BSDer 憑什麼這麼說呢?

> 嚴謹一點說,就是要保留授權所要你保留的文字(當然含 copyright 宣告)。

個人對於文字總覺難以掌握。讓我們以實例說明好了。

按照您的說法,比如說我們可以拿 BSDL.c 和 GPL.c 合成一個 FOO.c,只要在 FOO.c 裡宣告它是 BSDL.c 和 GPL.c 合併而成的,且現以 GPL 發行,這樣是否就沒有違反 BSDL 了?

或者,我可否拿 BSDL.c 修修改改然後改以 GPL 發行,只要在檔頭宣告它原是 BSDL 授權的,如此就不會違反 BSDL 了?

那麼,我可否乾脆將 BSDL.c 直接以 GPL 發行呢?因為一個軟體總不會只有單一檔案,這種狀況將會時常發生。這樣是否有違背 BSDL 之虞呢?

從以上案例的解答個人應該就可以了解 BSDL 到底是自由到什麼程度了。若 BSDL 和 GPL 的差異之處,僅在 BSDL 允許不開放修改後的程式碼,那麼個人會認為 BSDL 其實並沒有它所宣稱的那麼自由。

[回應] Tetralet @ 21/09/2007, 22:22

Re: Tetralet

> 按照您的說法,比如說我們可以拿 BSDL.c 和 GPL.c 合成一個 FOO.c,只要在 FOO.c 裡宣告它是 BSDL.c 和 GPL.c 合併而成的,且現以 GPL 發行,這樣是否就沒有違反 BSDL 了?

我個人認為沒有違反 BSDL。

> 或者,我可否拿 BSDL.c 修修改改然後改以 GPL 發行,只要在檔頭宣告它原是 BSDL 授權的,如此就不會違反 BSDL 了?

仍然沒有違反 BSDL。

> 我可否乾脆將 BSDL.c 直接以 GPL 發行呢?

這樣會有爭議,因為你並沒有任何創作,並無授權的權源。比較好的做法是,BSDL.c 不要去動他的內容,整個軟體以 GPL 發行。上面兩種情況也是如此,因為一個軟體,總不會是只含這一個 BSDL.c 吧?

當然,這只是我個人的看法。如果是我自己實際上處理的話,除非是取用某個 BSDL.c 中的部份程式碼,不然,我都不會去動他,甚至保留在一個單獨目錄,然後整體個軟體(最後的衍生物)才是以 GPL 發行。

這種例子曾發生在居士維護的 xcin 身上,libtabe 是 BSDL,libtabe 就不去動他,另外打包,但整個 xcin 仍然是以 GPL 發行,IMdkit 也是這樣處理(他是類似最原始的 BSD license,不是四條 BSDL),他雖然一起打包,但是放在一個獨立的目錄。
並在 doc 中說明哪個 *.c 用到哪個部份的程式碼。

現在的 linux kernel 也是一樣,他不是所有的程式碼都是 GPL 的。

問題是合法不一定合道德,拿人家的程式碼連招呼都不打一聲,我覺得不是好的作風,尤其是 FS/OSS 這種分享的文化裡頭。而且所謂的 GPL 發行,是指你所創作的衍生物而言,並不是指原來的程式碼被 relicense 了。合法的界線是永遠不會截然分明的,所以,我個人的話會採取較保守的做法。

要知道實際的例子,請找一下居士時期維護的 xcin source code,看他是怎麼處理的,大致上就是這樣。

[回應] LGJ @ 21/09/2007, 23:45

Re: LGJ

感謝解惑!

個人再提出另一種狀況。現今一般在開發軟體時,引用其它函式庫或乾脆借用別人的成品是稀鬆平常的事,因此在編譯完成後,單一執行檔內含數種授權其實並不罕見。此時,應該再附上一個授權說明文件,說明該執行檔哪一部份包含了 BSDL 程式碼,否則也有違反 BSDL 之虞。

但以 GPL 發行該軟體似乎是 OK 的。

[回應] Tetralet @ 22/09/2007, 00:26

BSDL is GOOD!

經過以上果正兄的說明,雖然個人並不是 100% 認同 BSDL 的理念,但至少個人認為 BSDer 的確有其值得自傲的地方。BSDer 堅持其理念的執著程度是值得尊敬的。

如果說 FreeBSD 7.0 有像 Debian Aptitude 那麼方便的套件管理程式,個人會試試 FreeBSD 7.0 的。實在不喜歡 FreeBSD 的 port 機制呀!

[回應] Tetralet @ 22/09/2007, 00:46

其實我們並沒有離題太遠...

回到本文中所提的例子(LGJ 在上文中有提供連結 [1] [2]),其中:

-MODULE_LICENSE("Dual BSD/GPL");
+MODULE_LICENSE("GPL v2");

根據我們的討論,這種作法應該是沒問題的。

另外原作者又寫到:

It is illegal to modify a license unless you are the owner/author, because it is a legal document.

...

but if they distribute the file (modified or unmodified!), they must distribute it with the existing license intact...

...

Hence, a dual licensed file always remains dual licensed, every time it is distributed.

個人認為他的看法並不太正確,更何況又用了「」這種充滿挑釁的字眼。

[回應] Tetralet @ 22/09/2007, 00:47

Re: 對於 GPL vs. BSDL 的一些個人觀點

To Tetralet:
ports那裡不好?
如果是覺得compile花時間的話,
FreeBSD有pkg_add可以用啊

[回應] BUG @ 22/09/2007, 01:23

Re: Tetralet

>感謝解惑!

事先聲明,這只是我個人的看法,它不一定是正確的,也不代表是 BSDer 的看法,因為我是無黨無派的,有好東西,我都會拿來用,我用電腦的目的是替我解決問題而不是製造問題。XD

>個人再提出另一種狀況。現今一般在開發軟體時,引用其它函式庫或乾脆借用別人的成品是稀鬆平常的事,因此在編譯完成後,單一執行檔內含數種授權其實並不罕見。此時,應該再附上一個授權說明文件,說明該執行檔哪一部份包含了 BSDL 程式碼,否則也有違反 BSDL 之虞。

通常嚴謹一點的作者都會說明,這可能要視個案而定。只要看起來不像是「據為己有」就沒有違反的故意,只不過做法上不足夠而已。

像目前有些開發者就容易忽略,前好幾手的開發者的 copyright 宣告,這是絕對不可以的,license 的位階永遠不可能高於著作權(copyright),有著作權的人才能做授權(license),不能因為他是 GPL/BSDL 就忽略了這一點。

至於 FreeBSD ports 的問題,已有人回應了,你不一定要從 source 編譯,使用編譯好的 packages 來安裝也是可以。其實 gentoo 也就是使用類似的機制。

[回應] LGJ @ 22/09/2007, 11:10

Re: BUG

個人的機器拿來弄 ports 實在太吃力了。生命不該浪費在 compile 上... XD

我稍微 Google 了一下,FreeBSD 只提供了一些最基本的套件管理程式;一些功能,如:更新、搜尋、驗証、顯示資訊... 等等,幾乎都是付之闕如。但是個人勉強可以接受啦。

感謝提供資訊!

[回應] Tetralet @ 22/09/2007, 12:21

Re: Tetralet

> 個人的機器拿來弄 ports 實在太吃力了。生命不該浪費在 compile 上... XD

通常,有需要自行編譯的,例如需要調整某些編譯選項,這時用 ports 就比較方便。像 OO.o 這種大怪獸,那當然就安裝 binary package 了。

> FreeBSD 只提供了一些最基本的套件管理程式;一些功能,如:更新、搜尋、驗証、顯示資訊... 等等,幾乎都是付之闕如

portupgrade/pkg_info/ports make search 可以做很多事情。

其實,都一樣啦!例如 Debian 把 source/diff 來重新打包成自己需要的 deb,不也就等於 ports 安裝嗎?Slackware 的 tgz/build.sh 及 F/MDV 的 rpm/source rpm 也是一樣。

我個人倒是覺得沒有外表所看到的有那麼大的差異。這些工具都不是重點,重點是要有人認真在維護呀!:D

[回應] LGJ @ 22/09/2007, 13:20

Re: 對於 GPL vs. BSDL 的一些個人觀點

我看到的說法不太一樣。

我看的說法是:
A 作者以 BSD-License 發行他的 A-Code
B 作者的作品衍生自 A-Code 以 GPL[BSDL] 發行他的 B-Code
C 作者的作品 C-Code 衍生自 B-Code 是回報到 Linux 的版本,
他在 Mailing List 上說這些 Source code 是 GPL EXACTLY,並附上 Relicense 用的 Patch,正是讓 OpenBSD 社群不滿的原因。
﹝不過請注意: Linux Source Code Respiratory,並未接納此 Patch﹞

也許我看錯了,不過如果我沒看錯,我認為 Theo de Raadt 是對的。

因為 B 作者之所以能用 GPL Wrap BSD,並發佈他的衍生作品,是因為 BSD 本身的限制比較寬鬆,所以只要 BSD-License 被留下,GPL[BSD] 是可以被接受的。

但是,因此 re-license 成為 GPL 我想 OpenBSD 不痛斥此行徑,就奇怪了。

[quote="LGJ"]
堅持理念是沒有什麼不可以,只是不要過份去「框」住別人。LGPL3 趨向 BSDL 方向的今天,OpenBSD 的老大卻將 2-BSDL GPL 化(就是將後續的修改被 BSDL 綁住),我覺得這頗值得玩味。
[/quote]

我不太認同這句話。
1. LGPLed 的 Source Code 即使被用於其它計劃的 Source Code ,其它計劃依然要遵守 LGPL
2. BSD 作者,要求的只是您可以「包裏」但不「取代」 BSD

[回應] L.Jean @ 23/09/2007, 13:39

Re: L.Jean

> 堅持理念是沒有什麼不可以,只是不要過份去「框」住別人...

Hi, 這不是我寫的哦~

我還沒有仔細看過 LGPLv3 條文,所以暫時無法評論。Sorry...

[回應] Tetralet @ 23/09/2007, 13:56

Re: L.Jean

> BSD 作者,要求的只是您可以「包裏」但不「取代」 BSD

若有某一程式包含了 BSDL.c、BSDL.h 及 LICENSE,其中 BSDL.c 及 BSDL.h 都在檔頭明確指明它們是以 BSDL 授權的,而 LICENSE 則是 BSDL 條文。

今天,某甲拿到這個程式,他改善了 BSDL.c 部份程式碼並決定以 GPL 重新發行,請問他該怎麼「包裹」才能符合 BSDL 呢?

注:據說三條款版的 BSDL 的出現就是為了和 GPL 相容。所以個人認為,BSDL 軟體應該能轉以 GPL 發行,欠缺的只是手法上的問題吧?

[回應] Tetralet @ 23/09/2007, 14:12

Re: L.Jean

> A 作者以 BSD-License 發行他的 A-Code
> B 作者的作品衍生自 A-Code 以 GPL[BSDL] 發行他的 B-Code
> C 作者的作品 C-Code 衍生自 B-Code 是回報到 Linux 的版本

如果是這樣的話,我想,先被 K 的會是 B 吧?

我看到的說法是,A 和 B 是共同作者。A 採用 BSDL,B 採用 BSDL/GPL。C 是將 B 那一部份改為僅以 GPL 發行,而引發爭議。

有趣的是,B 說過他不在乎將他的那一部份改以 GPL 發行。

A: Reyk Floeter
B: Sam Leffler
C: Jiri Slaby

詳情請不妨參考:fr3@K 所寫的 變更原代碼授權

而說 GPL 偷了他們的程式碼 的 Theo de Raadt 是 OpenBSD 主要成員(並不是原作者)。因為在後續的爭辯過程中,他很多用辭實在太不客氣,甚至暗示不惜要對簿公堂,所以這場大風暴才難以平息。

[回應] Tetralet @ 23/09/2007, 15:25

Re: L.Jean

>> [quote="LGJ"]
>> 堅持理念是沒有什麼不可以,只是不要過份去「框」住別人。LGPL3 趨向 BSDL 方向的今天,OpenBSD 的老大卻將 2-BSDL GPL 化(就是將後續的修改被 BSDL 綁住),我覺得這頗值得玩味。
>> [/quote]

> 我不太認同這句話。
> 1. LGPLed 的 Source Code 即使被用於其它計劃的 Source Code ,其它計劃依然要遵守 LGPL
> 2. BSD 作者,要求的只是您可以「包裏」但不「取代」 BSD

澄清一下,那句話是我說的。第一段說的是人們的想法、做法,和 license 沒有直接關係。

第二段說的在 BSDL 是一種態度上的傾化(指 Theo 的態度),不是指實質的 license 是這樣。但對 LGPL 則是實質條款上的更動而趨向 BSDL。白話一點就是比較寬鬆了。

> 2. BSD 作者,要求的只是您可以「包裏」但不「取代」 BSD

何謂「包裏」,何謂「取代」?這個界線可不容易清楚區分。

我們不能把人們的理念,和 license 條款實際上的法律效果混同呀!

BTW,Theo 就是被 NetBSD 踢出來後,OpenBSD 的創始人。

[回應] LGJ @ 23/09/2007, 16:26

幾個著作權觀念

糟糕,上一段文字通通混在一起了。@_@

我這裡僅以我國著作權法來說明自由軟體,因為,各國的著作權法規定不一定相同(應該是說,一定不相同)。

1. 著作權的保護是著作的表逵,而不是其中的思想、程序、概念、原理。

2. 對軟體而言,著作權保護的是原始碼與目的碼(boject code),請不要認為原始碼才是文字著作,binary 亦是。

3. 修改程式碼,如果不是共同的 team work,那是屬於改作著作,改作人獨立取得著作權,而非和前手為共同著作人(這個部份有其他異說)。

4. 違反 GPL/BSDL 不見得違反我國著作權法(請注意!!!)。

這次的實際事件,完全無法完整判斷(這也是我一直不就此事件做判斷,只說明原理的原因),因為光憑一個 patch 不足以判斷整體軟體最後會如何處理。所以,我才會說 Theo 有擴大事件之嫌。

[回應] LGJ @ 23/09/2007, 17:18

Re: 對於 GPL vs. BSDL 的一些個人觀點

s/表逵/表達/

[回應] LGJ @ 23/09/2007, 17:22

這不是第一次發生了...

既然提到了 Theo de Raadt 指控 GPL 偷了他們的程式碼,那麼有件事也許值得一提。(原本不太想說的)

今年四月,在 Linux 上開發 bcm43xx 驅動模組的主要成員 Michael Buesch 指責 OpenBSD 剽竊他們的辛勞工作成果,因為 bcm43xx 是 GPL 授權的,竟在作者不知情的情況下被轉成 BSDL 授權然後放入 OpenBSD 裡。

而 OpenBSD 負責此模組的人似乎正是 Theo de Raadt。而 Theo 的說法是:『我們根本沒有違反 GPL,因為(包含這些程式碼的 OpenBSD)尚未發行』。(他也太會硬拗了吧?)

雖然這個事件和本事件是獨立的兩個事件。但也可以約略看出 Linux 和 BSD 這兩個類似作業系統真的很容易在 BSDL 或 GPL 上發生衝突。

[回應] Tetralet @ 23/09/2007, 17:43

Re: LGJ

> 4. 違反 GPL/BSDL 不見得違反我國著作權法(請注意!!!)

若是說到國內廠商,像是 ASUS 或 D-Link 都曾因未遵守 GPL 而被國外的人告過。ASUS 後來就大方依照 GPL 的規則玩,而 D-Link 則停止販賣該商品,並支付訴訟費用。(後來據說耍賴不肯付錢 XD)

國內一堆嵌入式系統廠商好像都沒有遵守 GPL,但似乎在國內沒有被告過?所以也不清楚 GPL 在國內的法律效力是如何。

如果我沒有記錯的話,Theo 似乎對此事件是自信滿滿,他說若是在德國打官司,他有必勝的把握。也因此這個事件才會那麼複雜。就讓我們拭目以待好了。

[回應] Tetralet @ 23/09/2007, 18:23

Re: Tetralet

>> 4. 違反 GPL/BSDL 不見得違反我國著作
>> 權法(請注意!!)
> 如果我沒有記錯的話,Theo 似乎對此事件是
> 自信滿滿,他說若是在德國打官司,他有必勝
> 的把握。也因此這個事件才會那麼複雜。就讓
> 我們拭目以待好了。

1. 歐洲地區對於著作權的規範的確是比其他國家嚴格。例如 caleb 就曾告訴我在德國地區架 tor server 會有觸法的可能。

2. Theo 不是 copyright holder,不是事件的當事人,原則上不能提起訴訟。

3. 技術性的提起訴訟,會對多數人使用 BSDL 產生疑慮,我個人認為,對 BSDL 的推廣反而是負面的影響。

4. GPL 在我國,基於契約自由,有效是沒有問題,問題在有效到什麼程度。

[回應] LGJ @ 23/09/2007, 20:18

Re: 可能是位階問題?

> license 的位階永遠不可能高於著作權 (copyright)

> 4. GPL 在我國,基於契約自由,有效是沒有問題,問題在有效到什麼程度。

我想,只要 Theo 能說服法官:『將 BSDL/GPL 的程式碼改為僅以 GPL 發行有違 Copyright,因為 License 條文本身並不在授權範圍內』,那麼勝算的機會就很高。

其實類似官司似乎都是拿 Copyright 壓 License,然後看看法官會不會採信。

不過在此事件中,真正的當事人 Sam Leffler 並不反對將他的程式碼改為僅以 GPL 發行,他的授權方式裡也寫明了:『BSDL GPL 皆可』,所以 Theo 硬要在此事出頭可能反而會落得多事興訟的負面觀感。

[回應] Tetralet @ 23/09/2007, 21:41

Re: Tetralet

> 國內一堆嵌入式系統廠商好像都沒有
> 遵守 GPL,但似乎在國內沒有被告過?

我想 copyright holder 要提告的話,涉及訴訟管轄的問題。如果是以公司為對象,以目前跨國際的公司的話,不一定會「以原就被」,管轄法院也就不見得是在國內。

至於國際上曾發生的 GPL 侵權事件,可以在這裡查:
http://gpl-violations.org/

[回應] LGJ @ 23/09/2007, 22:17

Re: Tetralet

> 我想,只要 Theo 能說服法官:『將 BSDL/GPL
> 的程式碼改為僅以 GPL 發行有違 Copyright,
> 因為 License 條文本身並不在授權範圍內』,
> 那麼勝算的機會就很高

我的看法是不見得。因為依 BSDL,license 的原文可以置放於其他地方,不一定是要在程式碼內。

但是,由於涉及是『一般修改』,還是『改作著作』的問題,所以,需要視個案而定。以目前這個 patch 本身而言,在方法上的確有可議之處。

[回應] LGJ @ 23/09/2007, 22:23

電腦著作?

這裡多一些話,請大家忍耐一下。

電腦軟體納入著作權來規範,是很有討論的空間。美國也是在 1973 才正式把電腦軟體納入著作權的客體。我國也是在 1985 才正式納入。

軟體專利就是由於目前的著作權法不足以跟得上電腦軟體的一些千奇百怪的社會互動行為而產生的。

就是因為如此,電腦軟體所發生的訴訟,非常令法官頭疼。同樣的情形,由於整體所顯示的社會效果不同,而可能會產生不同的判決。

google 也開始試圖產生一些國際規範,但是,想也知道,這並不容易呀!

[回應] LGJ @ 23/09/2007, 22:38

Re: 對於 GPL vs. BSDL 的一些個人觀點

先向 Tetralet 道歉,早上引用文章時,看錯了。勞請大大代為更正。再次道歉。

我再次詳細的說明我的看法﹝僅代表我本人,不代表當事人看法﹞

1.
我想 Theo de Raadt 指稱的 Dual License 是指「同時受限於兩 License」
而非一般的「兩 License 皆可」
所以 ``Dual License sould always be dual licensed.''

2.
Theo de Raadt 好像是受原作者 Reyk Floeter (?)所託,
加入戰局。

3.
我認為 Theo de Raadt 是表明:
以 GPL 包裏 BSD 是合法的,但您可能會失去朋友;
以 GPL 取代 BSD 是不合法的,因為原作者僅以 BSD 授與他人使用他的智慧財的權利﹝或 re-license 的權利﹞。

再次向 Tetralet 道歉。

[回應] L.Jean @ 23/09/2007, 23:13

Re: L.Jean

耶?沒必要那麼慎重得道歉啦,看錯是常有的事。我們不會放在心上,也請您不必太過在意了。

不過您的原文敝人就替您修正一下好了。

基本上我們只是在閒聊,敝人很多觀點也還是沒有定論,也沒辨法拿定主意該怎麼做才會比較好,只是想聽聽看大家的說法罷了。

而其實我們也都不是法律人,請不必太嚴肅看待這個討論串。感謝 LGJ 提出了很多個人沒有認真想過的觀點,個人認為是收獲蠻多的。

[回應] Tetralet @ 23/09/2007, 23:27

Re: L.Jean

> Theo de Raadt 好像是受原作者 Reyk Floeter (?) 所託,加入戰局。

那以結果論來看,Reyk Floeter 所託非人,事情越鬧越僵... XD

在 Reyk Floeter 的公開信裡,Reyk Floeter 很客氣但很明確得表示:他希望那些程式碼不要以 GPL 重新發行,因為從此 OpenBSD 的人們將再也不能使用那些程式碼了。

個人認為,既然原作者都那麼說了,那麼保留其 BSDL/GPL 雙授權是最好的解決方式。其實一開始就有 Linuxer 認為這麼做不太恰當,即使這麼做在法律上(或許)是允許的。

而以 Linuxer 的角度來看。如果您想讓您的程式能在 BSD 上面跑的話,使用 BSDL 或許是個好主意 - 雖然 BSD 上已經太多 GPL 的程式了。

[回應] Tetralet @ 23/09/2007, 23:48

Re: L.Jean

> 不過請注意: Linux Source Code Respiratory,並未接納此 Patch。

感謝指正。我的訊息來源在此,上面是說 ath5k 『將會』成為 Linux Kernel 的一部份,而不是說『已經』。我看錯了,Sorry...

[回應] Tetralet @ 24/09/2007, 00:07

關於『譯作』之版權

> 電腦軟體納入著作權來規範,是很有討論的空間。

一般而言,譯作享有『著作權』是沒有問題,但其授權(在沒有特別聲明的情況下)是不是跟隨主程式之授權?

但一隻程式裡往往每個檔案都有其不同之授權。那麼該跟隨哪個檔案?有 main() 那一個?XD

有些 po 檔的開頭就寫說:『Copyright (C) 2000-2007 Free Software Foundation, Inc.』,但那些對 FSF 很是感冒的人可能會不喜歡這樣的聲明吧?

[回應] Tetralet @ 24/09/2007, 17:34

Re: 關於『譯作』之版權

> 一般而言,譯作享有『著作權』是沒有問題,
> 但其授權(在沒有特別聲明的情況下)是不是
> 跟隨主程式之授權?

譯作是屬於「改作著作」(衍生著作)。他享有獨立的著作權,問題是改作權要經由原著作權人的授權。是不是跟隨原著作的授權要視原著作權人如何授權,例如 GPL 則限定了改作著作要以 GPL 發行。

> 但一隻程式裡往往每個檔案都有其不同之授權。
> 那麼該跟隨哪個檔案?有 main() 那一個?XD

要依原檔案的性質而定。例如圖檔,他是另外獨立的著作,和程式碼無關,需視圖檔原來是如何授權。

> 有些 po 檔的開頭就寫說:『Copyright (C)
> 2000-2007 Free Software Foundation,
> Inc.』,但那些對 FSF 很是感冒的人可能會
> 不喜歡這樣的聲明吧?

這是一個錯誤。以前在 zh-l10n 常常提醒大家,不過,效果好像不是很好。

要把 copyright assign 給 FSF(要簽署書面同意書,並經過 FSF 同意),才能把 copyright 寫成 FSF。否則 copyright 是翻譯者本人,而不是 FSF。沒有經過 FSF 的書面簽署,把 copyright 寫成 FSF,一旦有官司,FSF 不會(也不能)幫翻譯者打官司。

ps.更正一個錯誤,前曾說 1973 美國把電腦軟體納入著作權法,應該是 1976。

[回應] LGJ @ 24/09/2007, 19:14

Re: LGJ

> 改作權要經由原著作權人的授權。

也就是說,要進行翻譯之前,最好寫封信去請示一下?

以前我都會這麼做。對方都回:『Just do it! 不用徵得什麼同意啦!』 XD

> GPL 則限定了改作著作要以 GPL 發行。

也就是說,翻譯 GPL 軟體,該譯文就一定得以 GPL 釋出囉?

那麼仔細想想,軟體若採用 GPL 授權其實也不賴。GPL 的規則實在太單純了... XD

[回應] Tetralet @ 24/09/2007, 20:53

Re: LGJ

> 否則 copyright 是翻譯者本人,而不是 FSF。

也就是說,該這樣寫囉?

# Copyright (C) 2007 Tetralet <tetralet@example.net>
# This file is distributed under the same license as the ABC package.

原來之前看到很多都是錯誤示範...

[回應] Tetralet @ 24/09/2007, 20:59

Re: Tetralet

>> 改作權要經由原著作權人的授權。
> 也就是說,要進行翻譯之前,最好寫封信去請示一下?

如果是 FS/OSS 的 license,他在 license 中就已經授權大家可以這樣做了,所以無需徵得同意(我會一般都會去信說明,表示尊重,我想有這樣的尊重,對方心裡也高興得多)。

>> GPL 則限定了改作著作要以 GPL 發行。
> 也就是說,翻譯 GPL 軟體,該譯文就一定得
> 以 GPL 釋出囉?

原則上是這樣。但這關係著到底是不是已經達到「改作著作」的程度。而且,我國著作權法的所謂「衍生著作」,和一般 FS/OSS license 中的所謂衍生物,並不見得是同義詞。Orz (真的是很 Orz,有事的時候,最後還是得個案認定及法官自由心證)。

> 也就是說,該這樣寫囉?
> # Copyright (C) 2007 Tetralet
> # This file is distributed under the same license as the ABC package.

是的,不是寫給別人,誰翻譯的就寫誰,除非像 GNU team 的成員(或其他有簽署過同意書的開發者),他們才可以寫給 FSF。

[回應] LGJ @ 24/09/2007, 21:13

authimage
驗證碼皆為英文大寫字母
僅輸入前4碼即可。後2碼是假的,欺敵用。
這是為了防制 Spam 而設計的。若造成您的不便還請見諒!
Accessible and Valid XHTML 1.0 Strict and CSS
Powered by LifeType - Design by BalearWeb