October 10, 2006

GPL 授權的晦暗一面

從 1999 年開始碰自由軟體的我,竟然因為某件事情被 [linux.com] 報導,實在是始料未及。

不過,這是一則讓我該多加留意的新聞。KDE 計畫無疑是世界上最成功的自由軟體計畫之一,也敞開雙臂,在不違反 GPL/LGPL 的前提與商業公司進行合作,成效相當好。KDE 下最著名的終端機模擬程式就是 [konsole],作者 Lars Doelle 一直活躍於 KDE 計畫,可在一堆 cvs/svn commit log 看到他的豐功偉業,然而,再多次斡旋後,他決定刊載一篇文章 [Konsole license violations highlight GPL confusion],探討違反 [konsole] GPL 授權的案例與造成的授權疑慮。小弟以前不懂事 (2001 年),寫了小玩具 [qonsole] 與 MontaVista Mobilix eKonsole 被 Lars Doelle 並列為 "two programs for use Konsole code in violation of the GPL."。老實說,事隔多年,我連那時候做了哪些修正大概都忘記了,創作 [qonsole] 的本意是一來分析 Konsole,二來改進 CJK 處理,再來就是試著移除 KDE Libraries 相依性,在 Release 0.1 後,請了兩位 KDE Developers 幫我作 code review,後來有些修正陸續進到 KDE 2.2,但在那之後,我就去服兵役,退伍後也鮮少在這議題下過功夫。

[qonsole] 基本上就是 Konsole 的簡化版與 CJK 修正,是一個過渡時期的專案,那時候直接從 Konsole cvs 中取出原始程式碼,進行修改。所有放於 *.[ch] 的版權宣告,本人沒有作過刪減,然後加入一個 project file (.pro) 後,就打包 0.1 版作測試。就算 Linux.com 的報導看完,可能還是感覺一頭霧水,到底問題在哪呢?先前有一份備忘錄 [Copyright Violation by konsole derivates],提到過去的 Konsole 原始程式碼中,只有作簡單的 Copyright 宣告,但沒有明確指出 GPL v2 的 terms,比方說這樣:
    | Copyright (c) 1997,1998 by Lars Doelle 
    | This file is part of Konsole - an X terminal for KDE 
    
雖然我在修改程式時,沒有動到這個部份,然後在 [qonsole] 網頁也明確指出所參考與衍生的來源,但就恰好忘記放個 COPYING/LICENSE 檔案進去,為此,Lars Doelle 認為這有 GPL violations 的疑慮,因為就算我的修改本意上是好的,但若被不肖人士再行修改,又因個別檔案並未標示明確的授權條款,很可能就無法控制,對於這樣的侵權,最好就是在個別程式碼中明確標注:
    // This program is free software; you can redistribute it
    // and/or modify it under the terms of the GNU General Public
    // License as published by the Free Software Foundation; either
    // version 2 of the License, or (at your option) any later
    // version.
    //
    // This program is distributed in the hope that it will be
    // useful, but WITHOUT ANY WARRANTY; without even the implied
    // warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
    // PURPOSE.  See the GNU General Public License for more
    // details.
    //
    // You should have received a copy of the GNU General Public
    // License along with this program; if not, write to the Free
    // Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    // Boston, MA 02110-1301 USA
    
所以,昨天我已經做出修正,同時致了一份道歉啟事予 KDE team 相關的開發者,Lars Doelle 代表接受,並回覆說:
    Hello Jim,
    
    >    I have to admit that I did make mistakes regarding GPL issues.
    
    Well - the mistake was sort of prepared from my side. It was
    never assumed the konsole sources would be taken out of
    context, but it happend. Again my congratulation for the port.
    ...
    > Thanks for pointing me.
    
    The name of this game positively is patience ;^).
    
果然,不經一事不長一智,小時候犯的錯誤,一直到了五年後的今天才知曉,還好事情已算落幕,MontaVista 稍後應該也會給予回應。而,至於標題說的「晦暗」又是如何。?[Konsole license violations highlight GPL confusion] 文末的 commit 有許多網友發表高見,至於確保軟體自由創作與發行的 GPL,在使用上還有多少該考慮的因素呢?除了以上,其實另有許多值得思考的議題。 (... 待續...)
由 jserv 發表於 October 10, 2006 04:50 PM
迴響

呵呵,树大招风!!

I.Have.A.Dream 發表於 October 11, 2006 07:00 PM

所謂一燈能滅千年暗,一懺能消萬劫罪..
Jserv 兄不簡單呢..

jaderabbit 發表於 October 12, 2006 01:37 PM

Jserv,

加油!!!!
也曾有過比你小一點的case,我選擇認錯、道歉,也受到對方的原諒,心裡也放下一塊大石。

越長大,我發現越能面對自己的過錯,知道該為自己所做過的事負責,不論大或小,這也是另一種自信的表現。

加油!!

Sinya 發表於 October 14, 2006 09:55 PM