變更原代碼授權
Posted on September 20th, 2007 at 5:06 by fr3@K

`除了原作者之外的第二人, 在未經原作者同意之下, 是否可以把以 BSD License 授權發行的 source code 改為以 GPL 授權來發行‘. 可說是近期 FOSS 社群討論得最熱烈 (也可說是吵得最兇) 的話題之一.

前幾天, Tetralet 在他的部落格上 介紹了這個事件.1 只可惜有些我認為很重要的細節沒照顧到. 而部份的後續討論 (就我看來) 似乎也有偏離重點的跡象. 我想藉由這個機會把 BSD License 弄得更清楚,2 也盡我的能力把這事件做個補充, 希望能互補為一個較完整的說明.

前一陣子在 Linux Kernel mailing list, 有人提議將 import 進 (Linux) Kernel (來自 OpenBSD ) 的 Athero wireless driver 的授權 更改為純 GPL. OpenBSD 社群的人知道了很不高興, 於是就爆發了一場論戰. Linux 社群 (似乎) 認為這沒有什麼不可, 畢竟 BSD License 不正是強調比 GPL 更 free 嗎? 不是任何人都可拿去利用而不被強制回饋嗎? OpenBSD 陣營卻認為這是 (對 BSD License 陣營) 不友善, 不道德, 並且是不合法的行為.

原本這個 driver 主要分為由兩位作者著作的兩個部份; 第一個部份的作者是 Reyk Floeter, 選擇以 BSD License 的方式授權發佈他的 source code, 並表達 他不願意以 dual-license 或其他非 BSD License 的方式授權發佈他的部份. 另一位是以 BSD License or GPL 的 dual-license 授權發佈他的部份的 Sam Leffler, 則明白表示過 他的部份可以以純 GPL 的方式授權發佈.

OpenBSD 陣營對考慮自行更改 license 的 Linux Kernel 陣營的指控正確嗎? Theo de Raadt 對著作權與 source code license 的看法3 大致上是這樣的:

  • 著作權對作者權利的保障是自動發生的, (美國的法律? 各國法律是否相同或類似?) 而作者不需要特別強調他保有的權利. 只要是沒表明放棄某特定權利, 就表示他仍擁有該權利
  • FOSS license 是宣告原作者放棄部份權利的方式. 從中能夠得到好處的其實是使用者, 而非原作者
  • Source code license 是一種法律文件, 除了原作者以外的任何人不能自行刪除/修改/添增然後發佈. 就如同不能單方面自行更改一份合約. 即便是 dual-license 也不能自行刪除其中一種 (這自然不能包含 Sam Leffler 的部份, 他明確表示過他同意這樣的改變)

基本上我同意 Theo 的看法, 聽起來挺合理. 我沒受過有相關法律訓練,4 先選擇假設他的說法是正確的, 以便檢驗 (modified) BSD License 的條款, 看看 BSD License 到底放棄了哪些權利:

Copyright (c) 2000 <SOMEONE>
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.
3. The name of the author may not be used to endorse or promote products
   derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

我們可以看到 BSD License 允許 (放棄阻止) 他人發佈或使用不論更改過與否的 source code 與 binary 的權利. 只要下面表列條件能被滿足:

  • 允許 (放棄阻止) 他人發佈 source code 的權利. 只要你保留它的著作權聲明, 條款列表, 以及無責聲明
  • 允許 (放棄阻止) 他人以 binary 方式發佈的權利. 只要該 binary 會在文件 (指說明或設計文件?) 中或是其他 materials (指書面方式, 如包裝等?) 重現它的著作權聲明, 條款列表, 以及無責聲明
  • 未經書面同意, 不得使用作者的名字來為衍生自這份軟體的產品背書或進行促銷

總的來看它的重點就是要你在發佈 source code 的時候別動 BSD License, 或以 binary 發佈時把它寫進你的文件.5 或換個說法就是別宣稱這是你自己做的. 但這是否也表示這個 license 會一直跟著走, 因此永遠有效? 這似乎多少有些灰色地帶. 最能確定的是, 在此例中要轉 Sam Leffler 那部份的 license 已經沒有爭議.

如果 Theo 的觀點是對的, 那看來把 BSD License 轉為 GPL 的確是違法的. 但即便他的看法不全然正確, 我仍看到一邊 FOSS 社群的人要去鑽另一邊 FOSS 社群的人的 (法律上的) 文字漏洞的跡象, 這不跟 TiVo 的行為類似?6 依然讓我覺得手段可議, 甚至有道德上的疑慮.

這事件我只有一開始比較注意, 後續發展沒有並沒有完整 follow-up, 很可能看法與見解不夠全面 (甚至錯誤). 網路上 (我的主要參考資料是 KernelTrap 上的一系列報導) 有很多關於這次事件的資料7 可以供大家自行檢驗與判斷雙方說法.

[Update: Oct, 7th, 2007]
在 Tetralet 那邊有很精彩並深入的後續討論, 千萬別錯過了.

  1. 對於包含由 GPL licensed 與 GPL-compatible licensed 組成的 mix-licensed 的 combination 必須以 GPL 發行的觀點, (即便該說法來自維基百科) 我目前無法認同 []
  2. 請別介意我略過大部份人 (會對這話題有興趣的人) 已經夠熟悉的 GPL. 有興趣的人也可參考我在一年多前寫的 Free Software vs Open Source []
  3. Linux stealing out code and Stealing Versus Sharing Code []
  4. IANAL, 個人理解與看法請自行斟酌參考價值 []
  5. 根據 Theo 的說法, Microsoft 的文件裏面也有含有 BSD License 的聲明 []
  6. 雖然說結果大不相同. 前者仍是貢獻於 FOSS, 後者卻是私有化 []
  7. From KernelTrap: Linux: Relicensing Code, That whole “Linux stealing our code” thing, OpenBSD: Stealing Versus Sharing Code, Linux: Continuing Dual-Licensing Discussions, The BSD License, Clarifying the ath5k License, Atheros Driver Developments, Further developments regarding the Atheros driver, SFLC on Atheros Driver Issue []
del.icio.us:變更原代碼授權 digg:變更原代碼授權 spurl:變更原代碼授權 newsvine:變更原代碼授權 furl:變更原代碼授權 Y!:變更原代碼授權 黑米共享書籤:變更原代碼授權 推推王:變更原代碼授權
Previous Post
« NULL 指標兩三事 «
Next Post
» Prepare Yourself for Street Fighter IV »

Zero Comments »

No comments yet.

Comments RSS TrackBack URI

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>