2006年12月11日 星期一

自由軟體及開源碼商業行為論(二)

上回提到了很多有關GNU/GPL的授權規定中,對於商業行為的討論,這一篇要再深入討論這個授權規定的一些明顯的問題。因為GNU/GPL是很久很久以前所製定的授權規定,現今網路及電腦系統的環境發展太過迅速,造成有許多當時並沒有辦法考量清楚的地方,在現在變得定義有些模糊。以下分就這幾個比較重要的商業行為所造成的問題討論:

1.Application Service Provider(ASP)廠商的Bug
ASP是一種特殊的商業行為,意指廠商雖然提供主機空間+開源碼軟體的服務,但事實上客戶買到的並不是軟體,只有應用程式的服務。例如有個廠商提供了主機+Oscommerce的套餐服務,約定一年是5000元台幣,這種服務到底主機服務廠商需要把他在主機上執行的Oscommerce,其中的原始碼給予客戶嗎(不論是否有修改與否)? 我只能說結果是不用的,這在法律上基本上是漏洞,這在國內外已經有很多對於這個議題的不同聲音傳出,新版的GPL 版本3裡有針對這個議題的修改之處。所以這個目前只是「道德」的問題,而非法律的問題。

這在GNU/GPL的問答集中有一節是有關這個問題的A company is running a modified version of a GPL'ed program on a web site. Does the GPL say they must release their modified sources?

2.關於網站程式(例如內容管理系統)的樣版(Template)授權問題?
我們常常在內容管理系統中,看到以美工設計為各式主題所設計的佈景、樣版(Template)。事實上GPL認定這類的產品算是GPL的例外,無法使用GPL保護這類產品的授權及所有權。而建議以一般的著作權規定來申告授權。詳見What license should I use for website maintenance system templates?

3.如果我用了一個以GPL或 LGPL授權規定的函式庫,那我的程式一定得是GPL?
是,這沒得商量。

4.如果我的程式要執行用的直譯器(interpreter)是GPL,那我的程式也一定得是GPL?(這針對Java程式日前已改成GPL授權了,需要注意的問題)
基本上不是。

5.同上,什麼叫作基本上不是?
關於動態連繫和靜態連繫到具GPL的類別庫、模組和函式庫的程式,理應都是GPL包含的範圍,不過這邊爭議上非常的大。這也超出我個人理解的範圍。

6.用Microsoft Visual Studio中的Visual Basic/C++/C#寫的程式,可以宣告為GPL嗎?
因執行期(run-time)的函式庫及直譯器造成GPL例外,所以無法以GPL授權規定之。

結論:
這一段討論了更深入的一些有關於開源碼/自由軟體的商業行為與法律的關係。我想從第1篇中就要強調的是,如果貴公司或個人是從事有關於開源碼/自由軟體的商業行為,那就必須按照這裡面的法律規定來走。要享受別人花時間花精力所開發出來的成果,是需要代價的。而不是把門關起來,然後改了個名字,修改一些東西(常見畫面),或找現成工具壓一壓變成「嵌入式」,然後連個linux覺得連提都可以不用提半句,享受這些別人辛苦的果實。


2 則留言:

jserv 提到...

關於 Q4 與 Q5,陳述可能不正確,如果兄臺仔細看 Sun 的 FAQ 文件 (非新聞稿),事實上,有提及 "JDK is licensed under the GPL version 2 with the Classpath exception.",而這個 "GPLv2 with the Classpath exception" 的聲明方式就類似 GNU Classpath,明確規範 dynamic linkage 的行為例外情況。

就技術上來說,GNU GCC/GCJ (含 GNU Classpath) 與 Sun 的作法是採用明確規範執行時期的行為,來避免爭議,不過呢,「道高一尺,魔高一丈」。

換個角度來說,如果動態語言 (像是 Java) 的引擎或 VM 本身採用 GNU GPLv2 授權,的確會引來頗多爭端,自 1995 年開始就有如此的討論。

匿名 提到...

有個問題,使用 LGPL 授權的函式庫似乎不需要採用 GPL 授權 :)